403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files (x86)/MySQL/Connector.NET 6.9/Assemblies/v4.0/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files (x86)/MySQL/Connector.NET 6.9/Assemblies/v4.0/MySql.Data.Entity.dll
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL-"dW�" 069 @ ��@��8O@D`�7  H.textD  `.rsrcD@@@.reloc`"@B9H���	� �,7�{
*{
*V(
}
}
*0;u
,/(
{
{
o
,( 
{
{
o!
**� �j� )UU�Z(
{
o"
X )UU�Z( 
{
o#
X*0�rp�%{

��-q�-&+�o$
�%{
�	�-q
	�-&+�o$
�(%
*{&
*{'
*V(
}&
}'
*0;u
,/(
{&
{&
o
,( 
{'
{'
o!
**� YK�s )UU�Z(
{&
o"
X )UU�Z( 
{'
o#
X*0�r5p�%{&

��-q�-&+�o$
�%{'
�	�-q
	�-&+�o$
�(%
*N(((
}*.rkp(*�~)
(*
,(*~+
(*
,(*r�p(,
s-
z.rCp(*0�{(.
(/

#@4rgps0
z#ffffff@4r�p(*#@4r�p(*#ffffff@4r1p(*#������@4rep(*r�p(*0�-r�ps1
zo2
o3
o4

(5
o6
-r�p(,
s7
z(5
o8
o9
-(:
*o9
3Bo;
rSpo<
,$o=
-o>
,o>
��(?
*(@
*(A
*0�-rgps1
zo2
u
-(�(,
s7
zo;
o9
ES����1G]s&�8-(B
rwpo8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*(B
r�po8
(A
*

o;
r�po<
,o=
-o>
,
o>
��
o;
rpo<
, o=
-o>
,o>
��(B
rpo8
	(C
*rpoD
o>
,rpoD
o>
��+rSpoD
o=
-o>
,o>
�� ����+, ���+o>
��~E
	 �/	r7p	++ ���/	rIp	+ ���?/	rSp	+rip	(B
	o8
(F
*~E

r{poD
o>
,r{poD
o>
��+rpoD
o>
,rpoD
o>
��+rSpoD
9�-r�p+r�p
o>
,Ao>
o$

(G
,,
 �0#(B

o8
o>
��(?
*o>
,4o>
o$
r�p(*
,(B

o8
 �(?
*(B

o8
(@
*-r�p+r�p
o>
,mo>
o$

(G
,X
 ��1
 ���0	r�p
+o>
�� ���1r�p
(B

o8
o>
��(?
*(B
r�po8
 ���(?
*(B
r�po8
(A
*(B
rpo8
(A
*(B
rpo8
(A
*(�o9
� (H
s0
zF(I
oJ
(K
*nr#p(,
(sL
(M
*0$(I
oJ
%sN
%oO

oP
oQ
*\S*0	(*0�	R-~E
*repoR
-ripoR
-rmpoR
-*oS
sT

+/oU

	%.
	_.	\3\oV
&R	oV
&XoS
2�o$
*0�
s.
(W
-sX
o+frqprupoY
sZ
o[
o\
o$
(]
(^
��rwp(_
��(`
sX
o�
,oa
�o(b
,r{psX
oo**2Fx
(
*{*"}*.s.�*0�-r�ps1
z
u3,s
+>u^,s�
+.u�,s\
+u[,s�
+u6,s�
osGoc
u,uo�od
( 
u6,u6oe

of
og
8�oh
oi
(j
ok
ol
(m
(�on
	,K	oo
(j
op
,4oq
ok
or
(�ol
os
(�on
ot
ou
&ov
:^����,oa
�oow
+(x
	ot
	ou
&(y
-���oa
�oz
*��`y$��u3,u3(!*u6,
u6("*0zo{
u4
,jo|
o}
o2
u5,Qo~
o
�}+)o~
o�
o�
o2
u
{	�Xo~
o
2�*0�
o�
9�o�
o2
t�o�
o2

o�
$3Otko~
o
�}+$o�
o�
o2
t
{	�Xo
2�*o�
3�}{t�*0�u#o�
o�
s�
%o�
o�
sZ

o[
o\
(]
(^
��rwp(_
��(`
sX
(o\
o�
(.
(/
#@4r�ps0
z#ffffff@4rp
�N#@4rp
�:#ffffff@4r{p
�&#������@4r!p
�r)p
�
,oa
�	*'��
s
*0�-r1ps1
zu#
-(�r1ps�
zo�
o�
s�

o�
s�
o�
o�
	o�
o�
	o[
rGp(H
	s�
o�
&�
	,	oa
�*?P�
0�-r1ps1
zu#
-(�r1ps�
zs�
%o�
o�
%o�
%o�
o�
sZ
o[
r�p��%�o�

	,	o�
o�
3��
,oa
�*R7�
0�-r1ps1
zu#
-(�r1ps�
zs�
%o�
o�
%o�
%o�
o�
sZ
o[
r�p(,
s�

(�
,
	(�
o�
	o�
&�
,oa
�*R7�
0
s�

r�po�
&rp(�
�U(�
o�
&((b
,,+r{psX
(o+o�
8�o�
o�
(+o�

+	o�
(*o�
&	ov
-��
	,	oa
�o�
(+o�
+o�
o�
()o�
&ov
-��,oa
�ov
:h����
,oa
�o$
*(z#�
�*�]��
0�s�

s�
o�
9vo�
o�
o�
o�
o�
tBo�
o�
o�
o�
o�
tB
o3
oS
@1/r!p(�
�Do$
r)prupoY
(�
r-p{o3
o�
(H
o�
&rwpo�
&rupo�
o�
o�
o�
+e(�
	o�
	o�

o�
-)r�p{o3
o�
	o�
(H
o�
&r�p	o�
o�
&r�p(�
-���oa
�r�po�
&rupr�p{	o3
o�
(,
o�
&o�
o�
o�
o�
+e(�
	o�
o�
o�
-)r�p{	o3
o�
o�
(H
o�
&r�po�
o�
&r�p(�
-���oa
�r�po�
&o�
o�
o�
rp,�Co$
+rYprYp(H
o�
&o�
&o$
o�
&o$
*�r^�r+0	o�

s�
}{o3
o�
,{o3
o�
+a{o3
o�
rmpo�
o�
t�,o�
rmpo�
o�
t�+o3
o�
{o3
o�
ryps�
r�po�
&rup
o�
o�
+d(�
r�p�%	�%(�
�%o�
�%o�
(+�%o�
o�
o�
(,�o�
&r�p
(�
-���oa
�r�po�
&o�
&o�
o
1vr�p(,
o�
&rup
o�
o�
+#(�
r	p	o�
o�
&r�p
(�
-���!oa
�r�po�
&o�
&{o�
>r+	po�
&rE	pr�	p(�
(H
o�
&r�	po�
&{o�
8�(�
	o�
	o�
,`r�	p(,
o�
&rC
p(,
o�
&r�
p	(,
o�
&rp	(H
o�
&rdp	(,
o�
&+r�p	(,
o�
&(�
:i�����"oa
�r�po�
&r�po�
&o�
&o$
*(�q8�0�0��0Io2
o3

r�po�
,o�
o�
r�p(�

+r�p(�
-rp**0�s�

o�
o;

o�
o2
o�
o3
r(p(*
,Jo�
o2
o3
r6po�
:	rSpo<
9r@po>
o�
&8�o�
o2
o�
o3
rNp(*
,c	rpo<
9�	r�po<
9�o>
,o>
��+-r^po>
��o�
&+eo�
o2
o�
o3
rzp(*
,D(s�
(�
,0	r�po<
, o>
(�
2r�po>
o�
&	r�po<
,o>
��-r�po�
&	r�po<
9�o>
��o�
9�o�
o2
o�
o3
r�po�
,r�po�
&8�o�
o2
o�
o3
r&
p(*
,{o�
o�
8�(s�
(�
,ao�
o2
o�
o3
rzp(*
,@r0
p,o>
(�
/rup+rl
po>
o$
rr
p(�
o�
&+rx
ps�
zo$
*
*Js�
}(�
*2{o�
*6{oc
*2{o�
*6{o�
*2{o�
*6{od
*{*"}*{*0H}{t#o�
{t#
o�
o�
,{o�
o�
o�
*2{o�
*J{t�o�
*2{o�
*2{o�
*6{o�
*2{o�
*s�
*N{o�
sH*2{o�
*2{o�
*2{o�
*�sG%{}%{}%{o�
t>}*2(�
(F*0Cs�

(�
(�
-	(�
-o�
o�
�o�
�o�
o�
*,
Rf}s�
}(�
*�(
}}{{}*2{o
*2{o
*2{o
*2{o
*2{o
*:o
o
*"o
*J(
{o	
*6o
��*6{o

*N{o
*6{o
*N{o

*�{,{�o3
*{o
*6{o
*6{o
*6{o
*2{o
*�{,{�o
*{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*2{o
*6{o
*0N{o

{,7u�-/o
{�o
(
,{�o
(f
*0�u$,G�D(
( 
,t$s!
�D*��(
( 
,t$�1���*uU,#з(
( 
,�Us"
��*(.
(#
*0
+o
�X
�i2��i*6{o$
*2{o%
*2{o&
*r(
,{o'
((
*:(o(v*�{,r�
p{o�
&+r�
p{(o�
&(y*0D{!,4{!o)

+
(*
o�(+
-���&oa
�o�*.(�*:(�(r*{$*"}$*{%*"}%*{&*"}&*�(t(v-*{",{"o�{#,{#o�**0i(s,r�
po�
&ox(s,r�po�
&(q-*u	-(s, u-r�
p(q(o�
&*0{"oz
-
{#oz
*�{",{"o�{#,{#o�*0K{"o�r�
p{(o�
&{#o�{',r�
po�
&{'o�*�({{',{'o�o�*(o*r~)o,
/r�
p(,
**0s�

o�o$
*0Vrup
o-
++o.
to�
&r�
po�
&o�r�p
ov
-��uZ,oa
�*
7D^��%Є(/
�)*r(
}*}+},*0T,o�{*(*
,{+o�{,,)o�,!{,o�o0
,o�o�*�{Gr�
p{*(,
r�
p{+(,
oY
}G*0�{F,{/rp(1
,rpo�
&{0,r�
po�
&{-o�{0,r�po�
&{F, {/rp(*
,rpo�
&+r�
p{/o�
&{1,r�
po�
&{.o�{1,r�po�
&{F,{/rp(1
,r�po�
&*�{-,{-o�{.,{.o�o�*(�*J(�s2
}2*0�{3o�{F,rpo�
&r*po�
&{2o3

+(4
o5
r8po�
&(6
-���)oa
�o7
Yo8
rr
po�
&*8'_0Ko�{3,{3o�
+{2o9
o�X
{2o:
2�o�*0�r<po�
&
+LrFpo�
&{4o;
o�rVpo�
&{5o;
o�rhpo�
&X
{4o<
2�{6,$rnpo�
&{6o�rhpo�
&r~po�
&*0x{6o�
+{5o;
o�X
{5o<
2�+{4o;
o�X{4o<
2�{6,{6o�o�*vs=
}4s=
}5(�*V(�(�(�*{7*"}7*{8*"}8*{9*"}9*{:*"}:*n(�(W
-(�*(�*{;*"};*0�(�,(�o�+8(�,r�p(�(o�
&r�
p(�(o�
&(�,+(�(�(1
,r�
p(�(o�
&*�(�(�s�%(�o�%(�o�*�(�-s�(�(�o�*0tu-*u
o�,(�,o�(�o�
*o�(�(1
,*o�(�(1
,*o�(�(1
,**r(�,(�o�o�*:(�}<*0@{F-rup+r�po�
&r�po�
&{<o�r�po�
&*R{<o�o�*0W{@-{?+{?(
r�p{=-rup+r�po�
&{>o�r�po�
&*6{>o�*�{Ao�r�p{F-rup+r�po�
&*R{Ao�o�*�{Bo�{F,rpo�
&r�po�
&{Co�*�{Bo�{Co�{D,{Do�o�*J{Es�o>
*6{Eo>
*05 {Eo?

+
(@
o�(A
-���+oa
�*&00
+{Eo;
o�X
{Eo<
2�o�*Js=
}E(�*B{F�}F*:(�}G*:{Go�
&*"o�*J(�s�
(�*{H*"}H*sB
z�(�o�
,(�(�o�
YoC
**0+(�oD

(�X(�o�
YYoE
*:(�oF
*0m!u-*u
(�o�
Yo�o�
Y
+2(�%YoC
o�%YoC
(�
,*	X%
.2/�*0C"s�
(�o�
+(�
o�o�
(�
-���"oa
�*!3V(�(�(�*{I*"}I*{J*"}J*�(�uo�r�p(�-rp+rpo�
&*R(�o�o�*0X(oV
&{"o�)oV
&{K-rp+r2po�
&(oV
&{#o�)oV
&*�{"u,o�,*{#u,o�*"o�*0X#u[
s�oG
oH
o+o�{ZrTpo�u
o�oJ
o+o�o$
*(*{L*"}L*0�$u6oe

(�o�
rbpo�
o�
t�(W
,^o�
r�po�
o�
t�(W
,oK
&o�
r�po�
o�
t�(W
,o3
r�
p(,
*(�*0�s�
�Ms�
�Ns�
�Os�
�Ps�
�Q~Mr�pr�po�
~Mr�prpo�
~Mrprpo�
~Mrpr2po�
~Nr6prVpo�
~Nrbprlpo�
~Nr�pr�po�
~Nr�pr�po�
~Nr�pr�po�
~Nr�pr�po�
~Nrprpo�
~Or&pr4po�
~OrVprfpo�
~Or�pr�po�
~Or�pr�po�
~Or�pr�po�
~Or�prpo�
~Or6prFpo�
~Or`prlpo�
~Or�pr�po�
~Or�pr�po�
~Or�pr�po�
~Orpr$po�
~Or:prDpo�
~PrXpr`po�
~Prrpr�po�
~Pr�pr�po�
~Pr�pr�po�
~Qr�pr�po�
~Qrpr6po�
~QrRprtpo�
~Qr�pr�po�
~Qr�pr�po�
~Qrprpo�
~Qr:prRpo�
~Qr`prxpo�
~Qr�pr�po�
~Qr�pr�po�
~Qrpr&po�
~Qr>prZpo�
~Qr|pr�po�
~Qr�pr�po�
~Qrpr0po�
*0�}R~MoL
o3
o�
,(�*~NoL
o3
o�
,
~N(�*~OoL
o3
o�
,
~O(�*~PoL
o3
o�
,
~P(�*~QoL
o3
o�
,
~Q(�*(�*0�%s�
oL
r�p(+}?{?(W
,oL
o3
}?oL
r�p(+�}@oL
r�p(+,oM
oN
1rpsO
zs�rupoM
oP

+6	oQ
oS
1s�o�{Ro+o�r�p	ov
-��
	,	oa
�}>*�B�
0�&s�

oM
oN
1'r�
poM
%XoR
{Ro+o�
&rop~MoL
o3
o�
oM
oR
{Ro+o�
&o$
s�*0�'oM
oN
�
+oM
oR
{Ro+�XoM
oN
2�oL
o3

	r�p(*
,
(�+oL
o3
o�
(S
s�*0�s�

~PoL
o3
o�
o�
&r�
po�
&oM
oR
{Ro+o5
&r�po�
&oM
oN
1 oM
oR
{Ro+o5
&+r�po�
&r�po�
&o$
*04(u^
s�oG
oH
o+t
o�{ZrTpo�o�oT
oU

+%	oV
tao�oW
o+o>
	ov
-��
	,	oa
�{\-sX
}\oT
oU

+U	oV
taoY
%o+o�o>
oZ
&."oW
tzo[
{\o\
	ov
-��
	,	oa
�o]
,o]
o�}qo$
*M1~
�a
0])(O
s�oG
oH
t{o^

r�po�o_
o�
o�
8�(�
{\o`
:�	,sa
z
o�
o2
o�
to9
.5.0	.*
.$.3'o�
o2
ob
(�,r�ps�+Ho�
o2
o�
o3
r&
p(*
,&r�po�
rmpo�
o�
(,
s�rp(,
o�o�(�
:�����!oa
�}w*ADF^s�
%r1po�
oc
*:{Sod
*0~*-*,
{Soe
&u,,u,{u(�*u, u
{"(�{#(�*u,u{"(�{#(�*J-*oq(�*v{Sof
-*{Sog
*0c+
o�o�
2Qo�o�
Y+=o�oC
,)(
	,	ou,	*	u,,	u,{u*Y/�*Jsh
}S(
*n{Woi
,{Woj
**06,u3
%o{
o{
oZ
-3o+
(
o$
*0p-

u,9M{uu,9;oqo�ok
?"o�ol
9o�ol
o�%{uu,9�o�ok
?�o�ol
9�o�ol
o�(m
:�o�ol
o�9�o�ol
o�u,9wo�ok
@fo�ol
o�9P{uu,
	9>	{u9/o�ol
o�u	o�ok
@	o�ol
9�9�s�
or		{uu	

-	o�ol
o�	+	
{	}uo�	s�on
o�	rMps�%rSpo�%s�%		o�ol
o�s�}>%	{|}=%{?}?o�on
oworo�ol
o�u,}u*Zoo
(%}|*0J.op
oH
op
oq
op
or
(
oZ
(
os
o+}w*0/ot

ou
ov
ow
({Zox
o�oZ
(o}
o2
t�o�
o2
tk
oy
oP
+XoQ
o+o�Xu,.o�rYp��(,
o�o�on
ov
-��,oa
�8�oz
o{
		um

-sa
z	o|
%Xo�
o�
s�
	o}
oR
o+(	o�o�o�on
Xoz
o~
?l���*pe�0�0o
oK
rcp(1
,sa
zs�
o
o3
}?o
o3
rkp(*
,
r}p}?+o
o3
o�
}?o�
}=}>*�o�
o�
o�
o�
oZ
(
*0�1o�

oH
oq
or
(No�
oH
oq
or
(N
s�u	-{Zow	{Zow}u{Zow	u,9�	u,o�o)
8R(*
s�		{u}u	{w}w,$	{wu,{uoqoq(M	{x}x	o�o�	{y}y	o�o�	{|}|	o�on
	{Zow{Z{uoq{uo�	oqo�s�

	o�

o�o�
	oqo�
{Zo�
o�(W
,	
o�or

o�o�{Z	o�(+
:������&oa
�{Z{uo�{Z	o�8�	u9�	u{",	{#-r�ps�
z{"u,{#u,%,-sB
z{wu
{wu
,-sB
z
{-u,6
{.u,({-u,{.u,r�ps�-sB
zs~%(�}(%	oqor
{-u%-sB
zo�oqo�
-sB
&s�
{-}-{.u,oqo�}.
{/}/%}'{"u,}w{#u,}w%}"%}#**A�e	~o�
o�
oZ
o�
(
*0�2s~
(�}(oH
oq
or
(N}"{"(}"oH
oq
or
(N}#{#(}#{#u,, {#u,os,oq
or,o+}'*�o�,*s�{Zowov%}u*0Zu,-u,{Zowov+3u�_,&s�%}u%oqor%{Zow**0bs�s�
o�
oN
,o�
oR
o+to�+r�ps�o�r�po�%o�on
*0J.o�
oH
o�
oq
o�
or
(
oZ
(
o|
uq(1*0@3(N
u,,u,*s�u,u{Zow%}u*noo
(%{Zow*0~4o�
oH
o�
oq
o�
or
(
oZ
(
o�
o�
+$o�
o�
o+o�
s�o�ov
-��
,oa
�*B0r
01.o�
(
oZ
(
o�
o+}x*0�4o�
oH
o�
oq
o�
or
(
4(
o�
o�
+$o�
o�
o+o�
s�o�ov
-��
,oa
�oZ
(
o�
o+}y*>0n
025s�o�
(
o�
(%}"%}#*Js�
}W(*�~E
}X}Ys}Zs�
}](�
s�
(*n{]o�
-*{]o�
*{^*"}^*0!r�p{Y
X}Y��(,
*^s�%o�o�
o�
*0J6{[X}[o�
o+u
o�o[
o�
o�
{[Y}[{[1*o�s�o�{Zo,oqo�u	9�oq(W
:�{Zoqou,,g+Ro�ol
o�o�(*
,(o�o�o�o�oqo�*Xo�ok
2�*u,
u	,
	o�&+
,	o�&*07o^

slo�
r�po�
,~o�
,vo�
rpo�
,I	o�
u�r�p(*
,2o�
r�po�
o�
u�}o�
}8�o�
u�s�}+yo�
o�
}o�
}o�
r�po�
,o�
,o�
u�}o�
rmpo�
,o�
,o�
u�}*Zrapo�
(�
s�*boo
o+u%o�*boo
o+s�%o�*6s�o�*0�8o}
o2
to9

o�
(�,s�*3o�
��-r�p+reps�*s�
(ok
o}
(�on
o}
o�
(�o�
(o�
o�
s�*zo�
o�
oZ
(�oQ*bo�
o�
ripoQ*bo�
o�
rqpoQ*6oo
o+*�s�%o�
o+}B%o�
o+}C*09s�
+>{4o�
oR
o+o>
{5o�
oR
o+o>
Xo�
oN
2�o�
,o�
u�-o�
o+}6*bs�%oo
o+}A*sa
z.r�ps�*0�:oZ
634s�%rwpo�%o�
oR
o+o�%r�po�*~E

oZ

. YE,."+(r}p
+&r)p
+rep
+r�p
+r�p
+sa
zo�
oR
o�
oR
oQ*0~;o}
o2
uk
+Zo�
oR
o+
	u,		u+s�	o�o|
o�
o�
o�o�on
Xo�
oN
2�*s�
z0,.u,
u,(L-*{uu,(K
*0)<{uu	oq
oqs�
o�o)

+!(*
o�,o�o�
(+
-���&oa
�{u}u{uu	or{w-{w}w+6{w,.s�%{w}-%{w}.%rip}/}w{w(M{x-{x}x{x(Mo�-}o�,uo�o?
+(@
o�(A
-���+oa
�o�o?
+(@
(M(A
-���+oa
�o�-o�,}o�,9o�o�
+(�
		o�(�
-���<oa
�o�o�
+(�


(M(�
-���<oa
�{y-{y}y*@*.X<W!x���!0�=
,
o�ok
,*{uu,
,
{uu	-*{x,{x-ho�,o�-Xo�,o�-H{y,{y-8{|{|3*o�+ol
o�,*Xok
2�**0>-*s�
o�*0m?o+u

or(J&u	,,u	} u,,{uu	,{uu	} ,
{Zo�*0?@s�
uq(1oG
oH
o+t
}us�}w*0�Au\
9�u�9�s�oL
ob
r�p(*
9�t�o�
(�
oM
oR
o+}B@�rp(*
9�oM
oR
u�,EoM
oR
t�r�po�
o$
r�pr�poY
(,
s�}C*oM
oN
@)oM
oR
u\%9oM
oR
u\%9�oL
ob
r�p(*
9�oL
ob
r�p(*
9�oM
oR
u�,_oM
oR
t�r�po�
o$
r�pr�poY
(,
s�}CoM
oR
o+}B*oM
oR
u}%9�oM
oR
uz%
9�o+}C	o+}B*oM
oN
@�oM
oR
u}%9�oM
oR
uz%
9�o+}C	o+}B*:dr�p(*
9ToM
oR
u�,6oM
oR
t�	r�p	o�
o$
(,
s�}C*oM
oR
u}%9�oM
oR
o+}C*oL
ob
r�p(*
9�oM
oR
u\

9�
oL
ob
rp(*
9�
oM
oR
u�,v
oM
oR
u�t�o�
o�
3JoM
oR
o+}Br�po�
o$
r�pr�poY
(,
s�}C**0XB(P
,*s�}/o+}-(W}0o+}.(W}1oR*0�C{/rqp(*
9�{-u
{.u-G{-u-*-"{.u
	-*	(T,M*(U,<*-%{.u-*(U,*(S,**�{3{3o�
,){F{F3{F-{2{2o�
**0�D{F{F3|{F-t{/rp(*
,b{/rp(*
,P(V,B,?(V	,1,.o�
,%s�%}3%{2o�
%{2	o�
**0WE{F-M{/rp(*
,;(V,-,*{3o�
,{2o�
-{2o�
**�{.uQ{-uQP-{.uQ{-uQ*0FoZ

.
+..3**0Gu�
s�}_oG
oH
o+o�{ZrTpo�u
o�{\-sX
}\o�
oU
+ioV
ta
o�	oW
o+o>
	oY
%o+o�o>
oZ
&.!	oW
tzo[
{\o\
ov
-��
,oa
�o�
o+o�}_o�
,o�
oO}�o$
*eu�
08H(Os�
rpo�t�o�
o+o�%}w*0}s�%}/%o+}-%(W}0%{-u,{`tzo[
o�
%o+}.%{-u,{`o�
&%(W}1*0oIs�
}�{_,R{\{`o�
|�o`
,4{�u,'(��s�
o�
,o�
s�*(&*Js�
}`(*sZ
*�rEpo�
,rEprupoY
**0G
,/rOprupoY
rSprupoY
raprupoY

rEprupoY

*0�~�%-&~���s�
%��(+(+>�~�%-&~���s�
%��(+(+>�s�
%~�%-&~���s�
%��(+o�
%~�%-&~���s�
%��(+o�
%~�%-&~���s�
%��(+o�
**0DJs�
}�{�(	+��s�
~�%-&~���s�
%��(
+~�%-&~���s�
%��(+~�%-&~���s�
%��(+(
+}a{�(	+��s�
~�%-&~���s�
%��(+~�%-&~���s�
%��(+~�%-&~���s�
%��(+(+}b{�(a(�
*0"Ko�
(_o�
s�

(�
*0@o�
(_o�
o�
(_o�
o�
(`o�
(�
*0Oo�
rWpo�
(_rsp(�
o�
o�
o�
o�
-r�p+r{po�
*no�
(_o�
(�
*0jL
o�
,,o�
(_o�
o�
o�
t�s�

+o�
(_o�
o�
s�

,	(�
*(�
&*no�
(_o�
(�
*0oo�
r�po�
o�
o�
o�
-rup+r�po�
o�
,rup+r�po�
(_(,
o�
r�po�
*0�Ms�
}�}�}�{�o�
(_s�
{�o�
o�

+	o�
o�
o�
	ov
-��
	,	oa
�{�o�
o�
{�(�
{�o
u�9�o
o$
r�po
o$
oS
o$
r�po
Yo
&{�%o
Xo
{a��s
(+(
+��s
o
{b��s	
(+(+��s

o
{�r�po
{�%o
Yo
{�o�
*D!e
0"No

(_o
s

(
*0@o�
(_o�
o�
(_o�
o�
(`o�
(
*no�
(_o�
(
*no�
(_o�
(
*0Oo
(_s

(
*0"Po
(_o
s

(
*0(Qo
(_o
o
s

(
*0"Ro 
(_o!
s"

(#
*($
*{f*"}f*{g*"}g*{i*"}i*{j*"}j*0s%
}cs&
}es'
}k((
{er�p��s�o)
{erp��s�o)
{erGp��s�o)
{erup��s�o)
{er�p��s�o)
{er�p��s�o)
{er�p��s�o)
{erp��s�o)
{erKp��s�o)
{erqp��s�o)
{er�p��s�o)
{er�p��s�o)
{er�p��s�o)
{erp��s�o)
{erCp��s�o)
s�
(ys�
({{er]p��s�o)
{er�p��s�o)
*0zSs�

s%
}h(*
o+
}d(+~�%-&~��s,
%��(+(+02(+~�%-&~��s-
%��(+(+15(+~�%-&~��s.
%��(+(+}ko/
+Vo0

{e	o
o1
o2
-	o
o1
s3
z{e	o
o1
o4
	o�o5
ov
-��
,oa
�{co6
19{co7
+(8
o5
(9
-���Zoa
�*�b'
Lj0�Ts	
}�{�-*{�o�
(ws:
{k�
s;
(+(+�{�o�
o<
_r�p�%{�o�
(��%{�o�
o=
�%{�o�
o��%-rup+r p�(S
o>
*�-*s:
s�
&%r! po

(�o
(H
o>
*0�Us
}�{�-*{�o�
s�
{�o�
(w{k�
s;
(+(+�{�o�
o<
_
��%ri p�%{�o�
(��%r� p�%o=
�%r� p�(?
o�
&o�	-rup+r p(�
o�
&s:
%o$
o>
*0�-*s�

��%r� p�%o
(��%r"p�%o
�%rB"p�(?
o�
&o�
&��%rJ"p�%o
(��%r�"p�%o
�%r�"p�%o
�%r�"p�(?
o�
&o�
&r�"po�
&o�
&r&#po�
&o�
&rB#po�
&s:
%o$
o>
*0gVs�

o�
oS
@1-r!p(�
�Do$
r)prupoY
(�
��%ri p�%o�
(��%rt#p�%(��%r�#p�(?
o�
&r�
pr8po�
~�%-&~��s@
%��(+(A
rhp(�
o�
&��%r�#p�%o�
(��%r�#p�%r8poB
~�%-&~��s@
%��(+(A
�%rhp�(?
o�
&o�
,r�#po�
&s:
%o$
o>
*0W{doC
oD

s�
~o+o�
&r�po�
:�oE
��(
( 
-$oE
��(
( 
,<oE
oF
,/oG

(�
,r*$poG

(�
��o�
&oH
(I
,JoJ
(I
,9r^poH
(K
��oJ
(K
��o�
&8rp(*
-r�p(*
-rp(*
9�oH
(I
,GoH
(K
25r*$poH
(K
1+oH
(K
��o�
&o<
,yrp(�
,r�p(�
-]r0
poH
(I
,oH
(K
/rup+'rl
poH
(K
(L
rr
p(�
o�
&oM
oN
(O
-+(P
-Qr8$p(zo=
oc
-o<
,	oQ
3oQ
.rup+rT$p+rn$p(,
o�
&o<
,X��%r�p�%r�p�%r�$p�%r�p�%r�p�oR
( +,r�$po�
&(xo=
o�
oT
(W
-r�$poT
(,
o�
&o$
*00s�

r�$po�
o�
o�

s:
%o$
o>
*0Xs
s�
r$%po�
o�
,r4%po�
&oU
rD%poV
&,o$
rN%p(*
-rp+rp}�rb%po�
o�
(�o�
&r8po�
�s@
(+(A
rhp(�
o�
&oU
r�%poV
&	,	o$
r�%p(W
0r�%p+r�%pr�%p(�
o�
&s:
%o$
o>
*�s:
%r�%po�
(�o�
(H
o>
*0?Ys
}�s�
o�
(�(zoX
(xoX
(t-s�
(u(toc
-(to�
r&pr0&p(�
o�
&o�
(wo�
,!o�
oY
(!+��sZ
o[
r8po�
��s\
("+(A
o�
&s]

o�
o�
+Po�
oQ
3=o<
,4o^
rp(�
- (zo=
oc
,	o_
ov
-��,oa
�	o`
9s�
r8&p(v(�(,
o�
&r�&p(v(�(,
o�
&r�&po�
&	+)		oa

r"'p
o=
(,
o�
&	X			o`
2�rN'p(v(�(,
o�
&r�'p(v(�(,
o�
&r9(p(v(�o=
(H
o�
&r~po�
&o$
sb
{co�o5
o�
,[r8po�
&r�(pr8po�
oY
~�%-&~��s@
%��(+(A
rhp(�
o�
&r8p}�(x�sZ
o[
{�{�r8po
o�
o�
&r�(po�
&s:
%o$
o>
*�]J�s:
%r�(po
(�r
)p(�
o>
*�s:
%r)poc
(�od
(H
o>
*0�Z-*s�

s�
oe
(f
r)prupoY
o�
&ri)poc
(�r�)p(�
o�
&r�)pod
r*po$
(�
og
oh
&s:
%o$
o>
*0�s�

ri po�
(�r#*p(�
o�
&rI*poi
r� p(�
o�
&oY
oj
1Jrl
pr8poY
~�%-&~��s@
%��(+(A
rhp(�
o�
&s:
%o$
o>
*0�[s�
oU
rO*poV
&,o$
(k
&,[oY
oj
3M
sl

	oY
om
on
o�
	s�
o�oo
rw*p(�
o�
&s:
%o$
r}*po�
r�*p(p
o>
*05-*s�

r�*po 
o!
o�
&s:
%o$
o>
*
*zs:
%oq
o>
%or
os
*�rEpo�
-
rEpoR
,rEprupoY
**6u�o~*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6u�o�*6(zo�
*vr
)po=
r� po�(p
*{l*"}l*{m*"}m*�r�*po�
&(�o�(�,r+po�
&(�o�*v(�s=
(�s=
(�*{n*"}n*{o*"}o*{p*"}p*0�{q,{qo�ok
1r%+po�
&r_+po�
&(�o�(�o<
1%r�
po�
&(�(�r�po�
&ry+po�
&r�
po�
&(�(�r�po�
&{q,r�+po�
&{qo�*0�\YE
O;	O"+Mo$
*��
r�+p(.
(t
*��r�+p(.
(u
*�V(.
(v
**0G]o2
to9

YE
+**0�^o2
t
o9
E"%
+&********	*
******r�+po9
� (,
sO
z0O_o2
to9
.*��
(w
(x
 �/ �sy
�U*�U*rE+****0Rrp(*
-Ar�+p(*
-4r�p(*
-'r�+p(*
-r�+p(*
-
r�+p(*
,**0�03.{
YE	ZZTZ*6ZH+XYE+
%. +<rp*r�+p*r�p*r�+p*r�+p*r�+p*r�+p*r	,p*r,p*r5,p*rK,ps0
z0BuB,tBo�
*u�,t�oz
*uk,tko|
*sa
z0'`o�
o�
,o�
�e*�e*j(ps{
(�}t*{v*"}v*{z*"}z*{{*"}{*�(�-s=
(�(�o>
*�(�-s|
(�(�o}
*0<(s,r�
po�
&r�,po�
&{|,r�,po�
&(�(�{u,r�,po�
&{uo�{w,r�,po�
&{wo�(�,r�,po�
&(�(�(�{x-{y,Nr�,po�
&{y,r�,p{yo�
&{x-r-po�
&+r�
p{xo�
&(s,,r�po�
&(q,r�
p(q(o�
&*�(�-*r--po�
&(�(�*�(w(�ok
-(�(q,o�(qo�*0-a{r-s�
}r{u(�
{uu	,6{uu	{o-{uu	{{uo�
o)
8�(*
o�o
	oqo�{ro�o~
o
,&o�(�o�{ro�o�
+{ro�o~
o�
(�on
(+
:r�����&oa
�,{uu	{{uo�*j��0�3o�o
oqo�{ro�o~
o
,&o�(�o�{ro�o�
+=o�(W
-{ro�o~
o�
+{ro�o~
o�
(�on
*0�bs{

u	,
u	(�*u-u,ku,{t{]o�
{"(�
u,{#,{#(�o�
u9 {t{]o�
&8
u,9�u,o�o)

8�(*
o�o�(W
-	o�+o�s�{to35o�o�o�o�o�,>o�o�+.o�o�o�,o�-o�o�oq,
oqo�on
(+
:1�����&oa
�*sB
zoq(W
-Loq{uoq(1
,4o)

+(*
oqo�(+
-���&oa
�*�֊��0|cs{

{ o2
(�o�
+Ho�
oqo�
s�
	o�
o�	oq-{+oqo�	on
ov
-��
,oa
�*Tp
09d
o~
}sr�p��(H
{ro
-*X
+�0ge{s-*(�o)

+2(*
o�
,!o�(W
,�+o�o��(+
-���&oa
�**?U0�0.#.{.A8�-.(3.<4.A8�{w-(�ok
�**(�ok
�*{x�*{y�*(�ok
-(�-
(��**(�ok
-(�-(�-
{x�**s�
z0f{u,{uo�(�,4(�o)

+
(*
o�(+
-���&oa
�{w,{wo�{x,{xo�{y,{yo�(�,4(�o?
+
(@
o�(A
-���+oa
�(�,4(�o�
+
(�
o�(�
-���<oa
�o�*((B����v(�s=
(�s=
(�*{}*"}}*{~*"}~*{*"}*{�*"}�*0�grG-po�
&(�o�rW-po�
&rup
+Bo�
&(�o;
o�rpo�
&(�o;
o�r�p
X(�o<
2�(�,r+po�
&(�o�{�,r�+po�
&{�o�*�~�-rc-p�.(
o�
s�
��~�*~�*��*V(�r�-p~�o�
*V(�r�-p~�o�
*V(�r).p~�o�
*V(�rK.p~�o�
*ro�
{�u{G(*
*.s���*Zo
Р(
( 
*Zo
Ч(
( 
*Zo
С(
( 
*�o
Ч(
(
,o
С(
(
**"s�
*vo�
o�
o�
o�
o�
*Jo�
o�
s�
*"s�
*vo�
o�
o�
o�
o�
*Jo�
o�
s�
*2{�(#+*2{�($+*B(�
{��*f{�(�
{�o�
*B(�
{��*f{�(�
{�o�
*.s��*
*Fr
)pr
)p(�
*�oY
�s�
(%+(&+�*^{�o�
o=
(*
*�oY
�s�
(%+(&+�*^{�o�
o=
(*
*^r
)pr� p{�(p
*�{�{�(zoc
,rup+r{.p(,
(�
}�*BSJBv4.0.30319ldQ#~�Q|>#StringsL��.#US�#GUID�##BlobW��)	�3�:����g:`l&y�-0�-0r�/�0e�'Pa0��'��'�=��'t�'@�'Y�'��'��/�/J�'��'�-0��-0$6���/��/2�/
�:�*8,�
P
�
��
�6�
z�
=��,�;
�6��(8& �*
�/�*q ���
�)�*
�:�*
T�0
u)���l-�*
�-��\.�-8
��0
�"�0
��
��0
�
�+��(�*/�
(��,8�
�8
8-�
�6�
1�
��
V'�(�\.
V>��*r����'�*8(�*���+�*�-�H�2>f�2�*���'�+8�P�M.
4���
4��
v�0
["�0
� �0
��0
��0
*�0
?�0
��0
����T
v�0
"#�0
�"�0
�#�0
��0
��
��0
��0
""�0
�#�0
�!�0
� �0
^#�0
�#�0
K�0
7#�0
�"�0
�!�0
��0
� �0
T$�0
�!�0
8>�
!�0
r#�0
@$�0
I#�0
p"�0
� �0
�"�0
�#�0
4!�0
X!�0
�!�0
#�0
�!�0
� �0
�"�0
8"�0
z!�0
E!�0
i!�0
�#�0
�!�0
�#�0
�!�0
�"�0
b�0�=+�.�:�$�9&��%��%�-'�2%��-�0�&��%��-���%�g&�&��&��$��$�X%��$���Z��.�=8�%%��&�'�t��7����7�)�
A��
��-3�/�,a0+A'�U�UO����a,�
*��*�5*��*����$�=�'��+,�O,�B,��*
Q�
S�q,�*�:8g(���
%(�"�3+
4:�
��
�+�
�+��9��*��:�
�*�K*8�'8N(8\�2����&��+��4-0�<���)�lZ*�
$�0
$�0H��&��-��&�*&�c�+�'�'��-�J�
����Y�Y;8i
M08Y08��=/�+�=5H}8�=(l��9�=0"o�8�=('|��8�=Y)�n/�=*�V/�=Y*��9�=`-��8�=`2��8�=04�9�=07�Q9�=`<�#9�=0=��8�=`A�p8�=`B�y9�=0E��8�=0F��8�=0G��9�=0H�l9�=0I�9�=(K��.�=�L��.�=�L�;.�=YM�/�=�S�p�=YS�`�=�T�.�=�W��.�=X�.�=�_X�=�=Ya]g.�=]a_�.�=�ct-8�=0l�`8�=0n���=Yr�P8�=(r�8�=0}�h0�0Y���Y���Y��!Y���Y��6Y���,���!Y��Y�	�Y�Y�zY�
	�!:>!-B!:>!HB��S��+&S�M�Q�Z)Q�W)Q�v)Q�f)Q��)Q��)Q�E)Q�5)S��)S��)3�,r	0�15�3>�F�(I%N42S%XZ,\@2S��l�j=a�e�3iJ7rk7r��nFVF�)a�u4v����\3zJ7ak7a@/�F7Fg7Fl;�:a9�0�aA	a�����	��
�:a�6F:a��F:a:a�*aiav5��F���	>Z	a&	F�6F��1451.451<451L451Z45�.��
��)V���V� �=5��/�c:)v�k)�2�g4�`
�a6F���5��2�/5D;�,�	>��}�
>'
>�3*�
a	a�
r|
��	�d64�zh3F/��rG
ia{7a*+a�
��
9�6F�
a�	��	�	ad64BeG3�L
a6�Q�V�VSVV�V�avx1���8�a��3��$��-��2�6�L	�#0�070�00+90+>�,��/��2CP ��|X �-�` �I/Px ��2�� �,�� �[��!��|�!�%<��!�I/P�!��2��!�,�,"�[��"�I/�"�V;H�"�t$M#��S	(#��*S	�#��	�$�+
X)�Xj)�
X�)�d^
�)�:c�)��9i�)��9nl*��:u0+�I/8+�B ~@+�T �I+�O/�X+��)�4-�
2�d-�2��-��1��.�bX�/��:C�/��� t0��5�#(1���&�1�y:_)3��:�+�5��:�, 9�#�-x9���..<���01<�I/1D<��;�1Q<�
<1_<�;�2l<��;2z<���3�<��93�<��)4�<��4�<��(�5�<��(�5=��'6=��'6$=�4(�71=���7>=���7L=��8Y=�f-�8`=��+8t=�x=�9�=��+-9�=��9�=�]-9�=�*9�=�*!9@>�I/:Z>�I/*:�>��<�>�T:�<�>��5)<�>��)<�>���<�>��3<�>��<=�>�>�>�!�>�>��F?	?�d2K@?��+�E+?��4UF??��Kc?�_Lq?�MfM?�	mN�?�Y.rO�?��~O�?�6�P�?��Q�?��R�?��S�?�q�T@���U@�g7V @��
�W-@�x�W<@�<X�@��8Y,A��2@[TA���\bA��7)]oA�S)]|A�
]�A�I/^�A�F^�A�r:M_HB�I/`PB�I/`_B�Q�agB�ZapB��)bxB��b�B�x)c�B��c�B�%+Sd�B�HFe�B�FfHC�_1ZgsC�r:Mh�C�HFi�C�r:MjD�I/k#D�-ik�Fl@D�[�m`D�b;am�r:Mo0+�I/p�D�O/�p��7kp��7qq��7wr��7}s��7�t��7�u��7�v��7�w��7�x��7�y��7�z��7�{��7�|��7�}��7�~�D�I/��B��7k��B��7q��B��7w��B��7}��B��7���B��7���B��7��E��7��lE��7���B��7���B��7���B��7���B��7���B��7���B��7���E�F��F�r:M��F�I/��F�I/��F�F��G�r:M��G�F��H�r:M�I�I/�6I�I/(�LI�z��TI����]I����eI���nI�O��vI�^�I��/���I��/��I�m���I��9���I��9���I�F�NJ�]��yJ��;��J��2��K�r:M�9K�I/��HK�F��K�r:M��K�F�L�r:M�HB�I/�L�F�KL�r:M��F�I/�`L�F��L�r:M��F�I/��L�-��L�-���L�F�DM�r:M��M�I/��M�m��B�F��B�r:M�HB�I/��M�I/��M�F��M�r:M��M�I/��M�1���M�&1���M�F��M�b>�� N���WN�I>�hN��2���N�]���B�r:M�DO�I/�ZO����bO����kO�w)�sO���|O�F��O�r:M��O�HF�(P��	�PP�r:M�D�I/�\P�)��P�I/��P�����P��9��P�)��P�I/��Q�O/��$U����U�>)!��V�a)!��W�.))�X��8�0+�I/��X�)�(Z�3?��[�����P�I/��[�XK��[�2K�b\�2R�u\�`9X��\�w1^�]�I/�]��6e�4]�)�x]�a<k��_��7r�`��7z�d`��7��b�R)���b��7���b��7���f��7���f�
"���g�����g�G=��<h��7���h��7��i�26��Pi��7��li��7��j��7��Hj��7�k��7
�>k�I/�Qk�I/��k�+��k��4��k��4&��M�)��k�����k��72�l��7:�\m��7B��n��7J��n��7R��n��7Z��n��7!��n��7b��o��7j��o��7r��o��7z�o��7��o��7�p��7��p��7��p��7��p��7��p��7��q�� ��p��7�
�p��7��p��7��p��7�
�p��7��p��7��p��7��p��7�r��7�M��7�p��7��M��7
�M��7��M��7�M��7�M��7��M��7��M��7��M��7��M��7��M��7z�M��7��M��7r �M��7�!(r�t6"`r��6##�t�S6/%�u��6&�u��#F*0v�3?-|v��
Q/`z�*$]2�z��i5�{�N5p6�{�e5y8\|��8�:�|���<�|��"�?$}�)@`~�3?A�~�*$]C0��7bF��I/G���(�G0+�I/H��-<iH���I<���3�K4���
L����.
R����8
T��E8
V[���X
Xx����
Z����
\��E�
^�����
`$����bT����d�����f�����h؆���j����l0����nd����p���I/r����1�r����1�r�����s���	s����2�tć��2�t͇�3�uՇ�3�u��I/v����v�����x|����y�����z�����{�����|����},���~h������������!����*�4���3�`���<�����E�����N�x���W�����`�����i�ۚ�-<i�	��'r���sr�%��r�3���r�A��zr�O���r�]��)r�k��Rr�y��{r�����r����r����cr�����r�����r�͛�ar�ۛ��r����r����h������#���6��+��7��4����<����E��F��M�r:M�HB�I/���I/�����6{����7R�����4�����5�����m2��ǜ�x2��М�F��M�r:M�������0�����������(���������(�����(/����=/������1�����->��0+�I/�+��I/��F��D3��N��P3��W��><��_��J<��h��v<��p���<�y��V<������<�����F����<F�(��%+S�d���3S������`��49����) ���i�d���	����,����r:M���I/����6����7����1��'��&1��0��m2��8��x2��A����I����T��F��M�r:M�0+�I/����,3�K��M��R��Y9�Z���(`�p���`�����`�����`�0+�I/����;@�Ϭ�O/��0+�I/�۬��G����G�	��\G���G� ���G�P���N�Y��a�w��:o����������A�����j��0+�I/�ĭ�,��ѭ����0+�I/�ޭ�,����	��	�������K	��I/���
r���
���
%�4��O/��0+�I/�@��V.�@���7�@��%@�C��i�C���i�C��Ai�C���i�0+�I/�U��,I�v��	��0+�I/����,I����	��0+�I/�Ǯ�,i�0+�I/�߮�K��1
�)<
y A8	u(uV-::t+�6<y 
E;���
��
��
�(��(�; (�(�; (�(�; (~ (�6� �+�






.P�
,rrrr7�,(7�rr7�,(7�rrrrrrrrrrrrr�{�2r�V�/


vVV�1�/V�/*Vz;V�/ddddddddddddddd��]3dddddddddddddddV�/V�/V�/�




V�
�/dV�/V�/V�/V�/66V�/V�/�V�/
Vs>
�/ �

V�/V �/�
�H--HH�/HH�����9�9�9�9��;i$i$i$��i$i$i$O7q7�)�6��9�:i$i$H�i$i$i$i$i$
�i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$�6i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$d�-H-�6c�
i]3H���O7q70+O7q70+V>7^7O7q7V_V\YH���O7q70+i$<�V�4�3G�3I��E%�-P&�-P&�-�&�-�%�-�%�-�%�-�$�-�%�-&�-&&�-�&�-%�-�$�-n%�-�$�-



�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+0+0+�5

V�/


V�/�
Z
Z
�
O0+��
/


ddVVvv v�;�9 ��/



V�/
1+#'#'#'#'#'�1GG�)<GG���1�)<+6�0+0++6�7-3-3�25555c�c�5�!4&Y	I/I/I/
)I/1I/9I/AI/II/QI/YI/aI/iI/qI/yI/�I/�I/�I/�I/�I/�I/�I/�I/�I/�I/(�I/	I/.:>-B�I/�7Y�2c$�7Y$�2c,s$,s�[�!6�<:><HB�I/�Q�)�!�=�Q��!6�1I/�u�9�AI/II/����Q�!�7���D�<�QI/D���9�D
�$5L� �\)��-�
1�
;�-
D�Y��
iL�r!>��D
xY�!6�q=�q���f��I/�f��I/����y!;3�!��	I/!k4�	-�!>�1I/!��I/���0 �!�!'.�!1.�!6��
1�=�9
<9�9�q)@Y�4FTY.d\(:|9x-�d�<|y�y�(�d��y��a�4�l� �Q��8����9�4�YX���;)tY.�|(:||�;))�)��`=���'������4�J:�������������O+�2<���I/��!�BQI/()bX)y:_I/������'�I/g����I/�'��}��5��J:��I/���)��|9�;9x=�	I/	$��<�!6��23��Y.d�(:|�5���Y.d�(:|	-��Y.d�(:|�M	�<)	�5~����1�������L1�!%�!6�����Y.��(:|��4�Q��� 	6���;)	�4����.�	$�1�I/��<��51>�r��-�XP	I/	6X1�9`�;3�	6d�Y.�(:|�;)�J:��Y.�(:|�;)!�}!��!�7�!��B�!�}1I/�1������2�!���X�!6�!I/�I/)I/9�;�9;�9���y(��)��;��f'��v'���4�9��9��9��I/�,�9�+-9�A]-�TI/��=�)�7�t*&lD-�I/9I/iI/i�iT:�i�5)i�)i��ig7i<A9Aii�Fid2Ki�+�i�4Ui�i_iMfi	miY.r��xi�~i6�i�i�i�iq�i��i�
�ix��sx��=��8���=�!I/��I/���i��i�7)iS)�
i
,Y.�4(:|4�;)!1=�Y.r�(:-a�<<�)!�=�DI/DY.�L(:|	-NL�;)	��	�D�DJ:�T�TJ:�TI/TX�TY.�\(:|\�;)yI/���Js�m
���:t�6��� ��r:��X��c��!)@��5�dJ:��I/lY.dt(:||�!6�F28�Y.d�(:|	 >��I/	���c`� >f�XP�����6�����)AI/�B��;3��XP�2���<�����I/�J:��(|,J:�,�!X�,X���9�A�;�������AX�I�;	Q� �Q��Q��Q��I�5�IU2	��Y1�a�5��J:�i!)@i�6)q�54	��y�;�y'=��I/!�2��57��T7���)���5���;���;���,�	�Y.d�(:|�� ��w)��9��w7���;���,�	�J:��57��T7��I/�I/I/tI/�J:��(|������� �	Q�4-�	�Q�����-y��	tX�y��)�9�)�*�15�1,�1��Q�5��I/<I/<XP�Y.��(:|��;)��
Dd
�
DX�D;3��F28�X��������/+|�(|�I/t4%�I/�I/�;�l:[I/d
�
I/I/�<=�I/$I/��6�s;M,I/4I/<I/DI/��
��
���
�I/%
��.
����C��V�Q��Z��8
�/����3B
��K
��)��
���
��X
�h
	�
�	�
�y
)	I/n
	I/{
���
���
��
���
���
�D3B
�%)��)�Q��Q��I/�
�D3�
LY.dT(:|\X���<�
��<�
���
��-�
�,!J7	2�
��7���7dI/lI/t�;|I/�I/��;�/!�
�!Q�!I/�������������AQ�AI/�
���IQ�I��II/����Q�
�QQ�Q��QI/����YQ�Y��YI/�����I/�I/�I/�I/qI/�XP)0:)0;C�I/�I/�I/�Y.d�(:|�Q���<�yI/����X��J:��Y.��(:|��;)yI/�I/>)Q�y!6��I/!���z3B
��Q+gx��<)�" +��)�
+��|a[�};��)��7||!�-��;3K���5e��)!w�n+�D3B
I/��;I/I/�X�J:���I/�
��
��7����[��f �	6��Q�J:�iI/$�Zy��!6�����')y�'9[(�[(�[0�N�e+��I/T�1�,I/�I/�X�!N-�<�<����,d
�
�/+|4Y.d<(:|�=��I/��x�DI/PD�|D-�!�2}LI/PTI/PT�|T%<�\I/PL�<|L���E8
\�<|\���E�
dI/�� �$(,
0�48<@DT!X!��".�.�..#.+'.32.;M.C!.KM.SS.[2.c_.kM.sM.{�.��.��.�.�r.�� .�a"A��"C�!`�!a��"c�!��!���"��!��!��" �!@�!`�!��!a�!��!��!��!��!��!���"��!��!��!�!#�!C�!c�!��!����!����!��!�!�!!�!#�!A�!a�!	�!!	�!A	�!�	�!��!��!��!!
�!A
�!�
�!�
�!�
�!�
�!�! �!@�!`�!��!��!��!��!A�!a�!��!��!��!�!��!�! �!@�!`�!��!��!��!�! �!�! �!@�!`�!��!��!��!��!`#�!�#�!�.�!�.�!�.�!�.�!/�! /�!@/�!`/�! 2�!@2�!`2�!�2�!�2�!�2�!�2�!3�! 3�!@3�!`3�!�3�!�3�!�3�!�3�!4�! 4�!@4�!`4�!�4�!�4�!�4�!�4�!�5�!�5�!�5�!�5�!6�! 6�!�7�!8�! 8�!@8�!`8�!�8�!`:�!�:�!�:�!�:�!�:�!;�! ;�!@;�!:Fy���L�����1Ho��S	��	����:]b{�����	l������/	H	y	�	�	�	�	�	�	




X
f
k
s
{
�
�
�
�
�
�
�

p
b
�
z��������Y��� 7=E^ix�����
 "##$$(%))*+,.-1.5�P1U�P)<UX Z<`�;d�h�n�(r�'x8(~��dX:d�5n�n�d����`�n�n���`w`�/`q`�9��1�f>` ��n�h�6��4��1�
`�2�3�7��7�5��2��3�n<��<�7��1��2���,����(�������	/
0
123456789:;<=IJK!L#M%N'O)q+r+s-t-u/v/�1�1�3�3�5�5�7�7�9�;�;�=�=�?�A�A�C�C�E�EGIItKuKvMwMxOyOzQ{Q�S�S�U�U�W�W�Y�Y�[�[�]�]�_�_�a�a�c�c�e�e�g�g�i�i�k�m�m�o�q�s�u 5Qk����Vn�������#,;D�������7Hmv��� 2FUl���CLU��	&	?	�	�	�	H
P
1g|���m~���
�
�
*FXi�
Pk������4Do����f��'?<9��		Y�=GG�=G�		P�G�G�G4Gr0�ZpU��88H���@o8��0%1'2'3'4(5(6(7(8(9(:/K+?+K+X+y�C�KK5��x�x��U�UKv�����5�_���������_��KJ�\�JKe�w�eK�����������������K3K9����<.ctor>b__22_10<>c__DisplayClass31_0<.ctor>b__22_0<>c__DisplayClass13_0<>9__23_0<Generate>b__23_0<Generate>b__33_0<>c__DisplayClass33_0<>c__DisplayClass24_0<>9__4_0<ReorderOperations>b__4_0<>c__DisplayClass5_0<>c__DisplayClass26_0<>9__37_0<Generate>b__37_0<>9__28_0<Generate>b__28_0<Generate>b__0<Visit>b__0<>h__TransparentIdentifier0<.ctor>b__22_11<.ctor>b__22_1<>9__23_1<Generate>b__23_1<Generate>b__33_1<>9__4_1<ReorderOperations>b__4_1<>9__5_1<Generate>b__5_1<>9__28_1<Generate>b__28_1<Generate>b__1TaskCompletionSource`1Nullable`1IEnumerable`1Predicate`1Stack`1Task`1Action`1ICollection`1ReadOnlyMetadataCollection`1ReadOnlyCollection`1EqualityComparer`1IEnumerator`1DbExpressionVisitor`1IList`1<.ctor>b__22_12ToInt32GetInt32<.ctor>b__22_2<>9__23_2<Generate>b__23_2<>9__33_2<Generate>b__33_2<>9__4_2<ReorderOperations>b__4_2<>9__5_2<Generate>b__5_2<Generate>b__2<>f__AnonymousType0`2<>f__AnonymousType1`2Func`2KeyValuePair`2IDictionary`2<.ctor>b__22_13<.ctor>b__22_3<>9__4_3<ReorderOperations>b__4_3<>9__5_3<Generate>b__5_3<Generate>b__3Func`3<.ctor>b__22_14GetInt64<.ctor>b__22_4<>9__4_4<ReorderOperations>b__4_4<Generate>b__4<.ctor>b__22_15<.ctor>b__22_5<>9__5_5<Generate>b__5_5<.ctor>b__22_16GetInt16__StaticArrayInitTypeSize=6<.ctor>b__22_6<>9__5_6<Generate>b__5_6<.ctor>b__22_7<>9__5_7<Generate>b__5_7<.ctor>b__22_8<>9<.ctor>b__22_9<Module><PrivateImplementationDetails>GCCF7D34BC0F8A208732BCF6AF9217B652EE7B613DDEFAULT_DECIMAL_SCALEget_UseDefaultCommandTimeoutForEFGenerateSQLLONGBLOB_MAXLENMEDIUMBLOB_MAXLENVARCHAR_MAXLENLONGTEXT_MAXLENMEDIUMTEXT_MAXLENVARBINARY_MAXLENDEFAULT_DECIMAL_PRECISIONSystem.IOTvalue__faGetSchemaget_NewSchemaMySql.DataSystem.DataMetadatamscorlib<>cSystem.Collections.GenericPrepareAsyncget_MigrationIdmigrationIdReadAddget_IsUnboundedSetCanceledget_Scopedset_Scopedget_IsWrappedset_IsWrappedget_IsClosedIsNegatedget_RecordsAffected_columnsVisitedQuotedget_TypeNotSupportedget_IsCancellationRequestedGetGuidNewGuid<fk>i__Field<tbl>i__Field<idx>i__Field<Scoped>k__BackingField<IsWrapped>k__BackingField<Name>k__BackingField<TableName>k__BackingField<_tableName>k__BackingField<ColumnName>k__BackingField<CommandType>k__BackingField<Where>k__BackingField<Ascending>k__BackingField<Literal>k__BackingField<Column>k__BackingField<serverVersion>k__BackingField<ColumnAlias>k__BackingField<Properties>k__BackingField<_generatedTables>k__BackingField<Values>k__BackingField<autoIncrementCols>k__BackingField<primaryKeyCols>k__BackingField<Columns>k__BackingField<Parameters>k__BackingField<Sets>k__BackingField<Target>k__BackingField<PropertyFragment>k__BackingField<GroupBy>k__BackingField<OrderBy>k__BackingFieldcmdReadToEndDbCommandEFMySqlCommandcommandAppendFindget_PrimitiveTypeKindget_BuiltInTypeKindget_ExpressionKindDbExpressionKindexpressionKindHandleFunctionRoundmethodReplacenamespaceget_Instanceget_UpdatedRowSourceset_UpdatedRowSourceUpdateRowSourceGetMappingResourceGetXmlResourceGetHashCodeget_ModeParameterModemodeDbCommandTreeDbUpdateCommandTreeDbDeleteCommandTreeDbModificationCommandTreeDbFunctionCommandTreeDbInsertCommandTreeDbQueryCommandTreecommandTreetreeget_TypeUsageCreateStringTypeUsageCreateDecimalTypeUsageCreateDefaultTypeUsageCreateBinaryTypeUsagetypeUsageAddRangeRemoveRangeget_IsDestructiveChangeTryPromoteToLikeEndInvokeBeginInvokeget_Scaleget_Tableset_TableGetSchemaTableDataTableoldTablescopeTableget_PrincipalTableset_PrincipalTableGetDefaultColumnsForTableget_DependentTableset_DependentTablenewTableICloneableget_IsNullableIEnumerableIDisposabletableget_DesignTimeVisibleset_DesignTimeVisibledesignTimeVisibleIsCompatibleWrapIfNotCompatibleGetDoubleRuntimeFieldHandleRuntimeTypeHandleGetTypeFromHandleSingleget_Nameset_Nameget_NamespaceNameresourceNameget_TableNameset_TableName_oldTableNameVisitAndReplaceTableName_newTableNameget_VariableNameget_GroupVariableNameget__tableNameset__tableNameGetDataTypeNameresourceBaseNamebaseNameget_FullNameget_ColumnNameset_ColumnNameget_ActualColumnNamecolumnNameget_ParameterNameset_ParameterNameCreateUniqueParameterNameclassNameGetNameget_HasDefaultNameinputNameget_NewNamenameget_DateTimeGetDateTimeAppendLineWriteLineget_NewLineGenerateInlineget_NoneClonepkOpeEscapeScopescopeget_TypeIsValidMySqlDataTypedataTypeset_DbTypeGetDbTypeIsNumericTypeGetFieldTypeget_CommandTypeset_CommandTypeChangeTypeget_VariableTypeget_StoreTypeset_StoreTypeGetStoreTypestoreTypeget_BaseTypeValueTypeget_StoreTypeNameToStorePrimitiveTypeget_StoreTypeNameToEdmPrimitiveTypeOfTypeget_DeclaringTypeIsStringTypeStructuralTypeget_EdmTypeget_NoStoreTypeForEdmTypeGetEdmTypeedmTypeJoinTypejoinTypeGetColumnTypeAssociationTypeinformationTypeCollectionTypeOpTypeget_ClrTypeGetTypetargetTypeget_ResultTypeget_WrongFunctionResultTypeget_ClrEquivalentTypeget_ElementTypeRowTypeComplexTypeEntityTypetypePrepareCompareget_Whereset_WhereSystem.CoreSystem.Data.Entity.Infrastructureget_Cultureset_CultureresourceCultureget_InvariantCultureEntityTypeBaseInternalDataCollectionBaseEntitySetBaseget_Databaseset_DatabaseDbCreateDatabaseDbDeleteDatabaseget_ElseCloseDisposeTryParseget_InverseDbModificationClauseDbSetClauseDbSortClauseget_PredicateCreateNegateMulticastDelegateDbAggregateDbFunctionAggregateGenerateDebuggerBrowsableStateEditorBrowsableStateget_CascadeDeleteWriteCompilerGeneratedAttributeGuidAttributeGeneratedCodeAttributeDebuggerNonUserCodeAttributeNeutralResourcesLanguageAttributeDebuggableAttributeDebuggerBrowsableAttributeEditorBrowsableAttributeComVisibleAttributeAssemblyKeyFileAttributeAssemblyTitleAttributeAssemblyTrademarkAttributeTargetFrameworkAttributeDebuggerHiddenAttributeAssemblyDelaySignAttributeAssemblyInformationalVersionAttributeAssemblyConfigurationAttributeAssemblyDescriptionAttributeInternalsVisibleToAttributeDefaultMemberAttributeCompilationRelaxationsAttributeAllowPartiallyTrustedCallersAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyCompanyAttributeRuntimeCompatibilityAttributeExecuteToByteGetByteget_Valueset_ValuesourceValueNormalizeValueget_HasValueTryGetValuevalueMakeColumnNameUniqueget_IsUniqueRemoveSuppressFinalizeLastIndexOfbfcflfinfsfSystem.Threadingget_Ascendingset_AscendingascendingDbExpressionBindingDbGroupExpressionBindingSystem.Runtime.Versioningget_ReturningreturningGetStoreSchemaMappingget_ConnectionStringset_ConnectionStringconnectionStringLikeEscapeCharToStringGetResourceAsStringGetStringGetFacetStringSubstringdisposingargForEachcolumnHashPushget_Lengthset_Lengthget_MaxLengthlengthEndsWithStartsWithget_DepthmiobjAsyncCallbackcallbackPeekget_fkEntityFrameworkget_TaskGetDecimalCompareOrdinalGetOrdinalordinalget_Literalset_LiteralGetNumericLiteralliteralop_GreaterThanOrEqualget_tblMySql.Data.Entity.Properties.SchemaDefinition-5.0.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.1.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.5.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.6.ssdlMySql.Data.Entity.Properties.SchemaDefinition-5.7.ssdlCancelSystem.Data.Entity.Migrations.Modelget_ModelsourceModelColumnModelSystem.Collections.ObjectModeltargetModelSystem.ComponentModelpropertyLevelMySql.Data.Entity.dllIsDBNullSystem.XmlMySql.Data.Entity.Properties.ProviderManifest.xmlcolSystem.Data.Entity.Migrations.Sqlget_Sqlset_SqlPrepareSqlWriteSqlget_DefaultValueSqlGenerateReturningSqlWriteInnerSqlsqlMySql.Data.Entity.Properties.SchemaMapping.mslGetManifestResourceStreamSystem.Data.Metadata.Edmget_ItemMetadataItemSystemTrimFromEnumTryToPromoteToInGetBinaryFragmentPartsForInresourceManGetBooleanget_Thenget_WhenCancellationTokencancellationTokenGetDbProviderManifestToken_providerManifestTokenmanifestTokenOpenSystem.Data.Entity.Migrations.DesignJoinget_Columnset_ColumnAddColumnHasDifferentNameForColumncolumnUnionget_PrecisionDBVersionget_ServerVersionget_serverVersionset_serverVersionget_ProductVersionversionget_ExpressionDbExpressionDbArithmeticExpressionDbAndExpressionDbNewInstanceExpressionVisitNewInstanceExpressionDbVariableReferenceExpressionDbParameterReferenceExpressionDbLikeExpressionDbOfTypeExpressionDbCaseExpressionDbIsOfExpressionDbRefExpressionDbEntityRefExpressionDbDerefExpressionDbUnionAllExpressionDbNullExpressionDbIsNullExpressionDbScanExpressionDbJoinExpressionHandleJoinExpressionDbCrossJoinExpressionDbRelationshipNavigationExpressionDbFunctionExpressionDbComparisonExpressionShouldWrapExpressionDbSkipExpressionDbOrExpressionDbQuantifierExpressionDbFilterExpressionDbTreatExpressionDbProjectExpressionDbIntersectExpressionDbDistinctExpressionDbLimitExpressionDbConstantExpressionDbElementExpressionDbNotExpressionDbExceptExpressionDbSortExpressionDbCastExpressionVisitInputExpressionDbGroupByExpressionDbRefKeyExpressionDbApplyExpressionDbUnaryExpressionDbBinaryExpressionVisitBinaryExpressionDbIsEmptyExpressionDbPropertyExpressionexpressionGetDbInformationRenameTableOperationrenameTableOperationCreateTableOperationcreateTableOperationMoveTableOperationmoveTableOperationDropTableOperationdropTableOperationSqlOperationAddColumnOperationaddColumnOperationRenameColumnOperationrenameColumnOperationDropColumnOperationdropColumnOperationAlterColumnOperationalterColumnOperationMigrationOperationCreateIndexOperationcreateIndexOperationDropIndexOperationdropIndexOperationAddForeignKeyOperationaddForeignKeyOperationDropForeignKeyOperationdropForeignKeyOperationAddPrimaryKeyOperationaddPrimaryKeyOperationDropPrimaryKeyOperationdropPrimaryKeyOperationDeleteHistoryOperationInsertHistoryOperationoperationScaffoldedMigrationSystem.GlobalizationOperationActionget_Transactionset_Transactionget_DbTransactionset_DbTransactionMySqlTransactionget_SuppressTransactionset_SuppressTransactionget_ProjectionSystem.ReflectionStoreItemCollectionstoreItemCollectionget_DbParameterCollectionMySqlParameterCollectionDataRowCollectionset_Connectionget_DbConnectionset_DbConnectionCreateConnectionget_ConnectionMustBeOfTypeMySqlConnectionconnectionset_DirectionModeToDirectionParameterDirectionget_FunctionGenericFunctionUserDefinedFunctionHandleFunctionBitwiseFunctionget_EdmFunctionget_JoinConditionjoinConditionStoreSchemaDefinitionCreateDbCommandDefinitionCreateCommandDefinitionNotImplementedExceptionNotSupportedExceptionProviderIncompatibleExceptionArgumentNullExceptionMySqlExceptionInvalidOperationExceptionSetExceptionArgumentExceptionGetStoreSchemaDescriptionMySql.Data.CommonSystem.Data.CommonStringComparisonget_PatternStoreGeneratedPatternCultureInfoMemberInfoGetTopOpWrapSkipPopSystem.Linq<fk>j__TPar<tbl>j__TPar<idx>j__TParget_YearClearusedEscapeCharLikeEscapeCharGetCharExecuteScalarAssociationEndMemberRelationshipEndMemberEdmMemberIsKeyMemberExecuteDbDataReaderEFMySqlDataReaderwrappedReaderExecuteReaderStringReaderXmlReaderStreamReaderTextReaderreaderIFormatProviderDbConnectionStringBuilderMySqlConnectionStringBuilderGetStringBuilderget_SortOrdersortOrderbufferget_ResourceManagerOpDispatcher_dispatcherQuoteIdentifierSystem.CodeDom.Compilercallerget_EntityContainerinnerToUpperescapeCharacterCreateDbParameterCreateParameterMySqlParameterFunctionParameterStringWriterget_InnerWriterIndentedTextWriterwriterBitConverterouterToLowerCommandBehaviorget_DeleteBehaviorbehaviorget_Majorget_MinorFunctionProcessorIEnumeratorGetEnumeratorMySqlMigrationCodeGeneratorCSharpMigrationCodeGeneratorUpdateGeneratorDeleteGeneratorcallingGeneratorMySqlMigrationSqlGeneratorFunctionGeneratorSelectGeneratorInsertGeneratorgeneratorIsComparisonOperatorGetOperator.ctor.cctorReplaceTableNameVisitorSqlFragmentVisitorvisitorget_ColumnAliasset_ColumnAliastabsSystem.DiagnosticsfuncskeyFieldsSystem.Runtime.InteropServicesDbProviderServicesMySqlProviderServicesGetProviderServicesSystem.Runtime.CompilerServicesMySqlScriptServicesSystem.ResourcesMySql.Data.Entity.Properties.Resources.resourcesDebuggingModesSystem.Data.Common.CommandTreesSystem.Data.Entity.Migrations.UtilitiesMySql.Data.Entity.Propertiesget_Propertiesset_Propertiesget_MetadataPropertiesget_FromPropertiesGetColumnFromPropertiesFindInputFromPropertiesget_ToPropertiesGetPropertiespropertiesget__generatedTablesset__generatedTables_pluralizedNamesSetFunctionExpectedTypesSetExpectedTypesSetQueryExpectedTypesColumnTypestypesget_SetClausesget_AggregatesGetBytesget_Valuesset_ValuesGetValuesvalues_tableIndexesget_Settings<>4__thispksSystem.Threading.TasksEqualsget_autoIncrementColsset_autoIncrementColsget_primaryKeyColsset_primaryKeyColscolsGetItemsContainsget_Columnsset_Columns_dicColumnshasRenamedColumnsget_PrincipalColumnsAddDefaultColumnsget_DependentColumns_guidIdentityColumns_pkOperationsmigrationOperationsReorderOperationsoperationsSystem.CollectionsbitwiseFunctionsdateFunctionsstringFunctionsmathFunctionsgeoFunctionsOpsget_CharsquoteCharsremoveNonMySqlCharsGetCharsget_Membersget_AssociationEndMembersget_KeyMembersRuntimeHelpersget_Parametersset_Parametersget_Setsset_Setsget_BaseEntitySetsget_Facets_specialStmtsselectStatementsTryMergeTwoInFragmentsTryMergeTwoBinaryFragmentsget_Argumentsget_AnonymousArgumentsget_ReferentialConstraintsDbDatabaseExistsget_Inputsget_Rowsget_HasRowsget_Keys_foreignKeysConcatAppendFormatGetFloatObjectobjectVisitInputExpressionEnsureSelectCanFuseSelect_onReturningSelectTryFusingSelectFuseSelectWithInnerSelectget_CurrentSelectselectget_DistinctIsDistinctAssociationSetEntitySetentitySetFacetget_Targetset_TargetdataOffsetDateTimeOffsetbufferOffsetget_LeftinfLeftWrapLeftleftget_RightinfRightWrapRightrightget_LimitVisitget_DefaultGetValueOrDefaultIAsyncResultSetResultNextResultresultToUpperInvariantToLowerInvariantget_Indentset_IndentMySql.Data.MySqlClientUpdateStatementDeleteStatementMigrationStatementSelectStatementInsertStatementLikeFragmentTableFragmentNegatableFragmentCaseFragmentLiteralFragmentIsNullFragmentSqlFragmentTryMergeBinaryFragmentAndInFragmentJoinFragmentColumnFragmentUnionFragmentFunctionFragmentGetDefaultColumnsForFragmentExistsFragmentGetFragmentSortFragmentListFragmentInputFragmentBinaryFragmentget_PropertyFragmentset_PropertyFragmentfragmentEnvironmentget_ArgumentEscapeLikeArgumentSupportsEscapingLikeArgumentargumentget_CurrentReferentialConstraintget_Countget_FieldCountparameterCountAcceptDbCreateDatabaseScriptGetTableCreateScriptGetAssociationCreateScriptMySqlScriptisRightPartInsertConvertGetDbProviderManifestDbXmlEnabledProviderManifestMySqlProviderManifestGetProviderManifest_providerManifestGetManifestWriteListInListToListlistget_CommandTimeoutset_CommandTimeoutget_DefaultCommandTimeoutcommandTimeoutget_InputPushInputinputMoveNextSystem.Textget_CommandTextset_CommandTextget_Nowget_idxTrimSchemaPrefixget_GroupByset_GroupByAddGroupByTryFlatteningGroupByget_OrderByset_OrderByAddOrderByWriteOrderByInitializeArrayget_IsArrayget_Keyget_IsForeignKeyContainsKeyget_PrimaryKeyset_PrimaryKeyget_AssemblyGetExecutingAssemblyget_ApplyIndexOfAnySelectManyWrapJoinInputIfNecessaryget_QueryDefiningQueryExecuteNonQueryIDbConnectionFactoryMySqlConnectionFactoryop_Equalityop_InequalitySystem.SecurityMySql.Data.EntitySystem.Data.Entityget_IsIdentityIsNullOrEmptyget_PropertyTryGetValueMetadataPropertyPushPropertyEdmPropertyget_LastPropertyproperty3{{ tbl = {0}, fk = {1} }}5{{ tbl = {0}, idx = {1} }}cMySql.Data.Entity.Properties.ProviderManifest.xmlsThe provider returned null for the informationType '{0}'.#SchemaMapping.mslaYour version of MySQL is not currently supported3SchemaDefinition-5.0.ssdl3SchemaDefinition-5.1.ssdl3SchemaDefinition-5.5.ssdl3SchemaDefinition-5.6.ssdl3SchemaDefinition-5.7.ssdlstoreTypeqThe underlying provider does not support the type '{0}'.MaxLengthedmType	boolutinyinttinyintsmallintint
bigint	guid
doublefloatPrecisionScaledecimalFixedLengthtinyblob	blobmediumbloblongblobUnicode	charncharMaxvarcharnvarcharmediumtextlongtexttimestampdatetime	timeAMySql.Data.Entity.Properties.{0}%_\".5.5commandTreeuVersions of MySQL prior to 5.0 are not currently supported5.05.15.65.7connectionKCREATE DATABASE `{0}`; USE `{0}`; {1}Databases;DROP DATABASE IF EXISTS `{0}`-- MySql script-- Created on FK_-IALTER TABLE `{0}` ADD CONSTRAINT {1}	 FOREIGN KEY (EALTER TABLE `{0}` ADD KEY (`{1}`);
{0}{1}, )'	REFERENCES `{0}` (; ON DELETE {0} ON UPDATE {1};NO ACTIONTableCREATE TABLE 
`{0}`('{0}{1}	`{2}` {3}{4});GALTER TABLE `{0}` ADD PRIMARY KEY ({0}`{1}`DELIMITER ||WCREATE TRIGGER `{0}` BEFORE INSERT ON `{1}`_IdentityTgr'	FOR EACH ROW BEGINc		DROP TEMPORARY TABLE IF EXISTS tmpIdentity_{0};��		CREATE TEMPORARY TABLE tmpIdentity_{0} (guid CHAR(36))ENGINE=MEMORY;1		SET @var_{0} = UUID();_		INSERT INTO tmpIdentity_{0} VALUES(@var_{1});3		SET new.{0} = @var_{0};/		SET new.{0} = UUID();	END ||DELIMITER ;u UNSIGNEDCHAR(36) BINARY
String	text
 ({0})Decimal( {0}, {1} ) DateTime( {0} ) Nullable NOT NULL+StoreGeneratedPatternInt- AUTO_INCREMENT UNIQUE	Guid; DEFAULT CURRENT_TIMESTAMP{0}(  );Invalid identity column type.({0}){0}( AS {0} {0} 	 ON `{0}`

=NOT (	 !=  NOT 
 IN ( ,	CASE WHEN () THEN ()  ELSE (END	{0}.	NOT EXISTS({0}({1}DISTINCT  IS {0} NULLNOT
 LIKE 	 {0}	DESCASC UNION ALL ! UNION DISTINCT 
target)CommandTextAttribute
Schema5StoreFunctionNameAttributeBitwiseAnd&BitwiseNot!BitwiseOr|BitwiseXor^CurrentDateTimeNOW()	YearYEAR({0})MonthMONTH({0})DayDAY({0})	HourHOUR({0})
MinuteMINUTE({0})
SecondSECOND({0})
Concat!CONCAT({0}, {1})IndexOf!LOCATE({0}, {1})	LeftLEFT({0}, {1})
LengthLENGTH({0})LTrimLTRIM({0})Replace-REPLACE({0}, {1}, {2})ReverseREVERSE({0})RightRIGHT({0}, {1})RTrimRTRIM({0})Substring+SUBSTR({0}, {1}, {2})ToLowerLOWER({0})ToUpperUPPER({0})	TrimTRIM({0})AbsABS({0})CeilingCEILING({0})FloorFLOOR({0})RoundROUND!SpatialDimensionDimension({0})SpatialEnvelopeEnvelope({0})!IsSimpleGeometryIsSimple({0})SpatialTypeName#GeometryType({0})%CoordinateSystemIdSRID({0})PointPOINT({0}, {1})XCoordinate
X({0})YCoordinate
Y({0})!GeometryFromText#GeomFromText({0})SpatialContains+MBRContains({0}, {1})
AsTextAsText({0})SpatialBuffer!Buffer({0}, {1})#SpatialDifference)Difference({0}, {1})'SpatialIntersection+Intersection({0},{1})Distance��GLength(LineString(GEOMFROMWKB(ASBINARY({0})), GEOMFROMWKB(ASBINARY({1}))))!BuiltInAttribute1NiladicFunctionAttributeQNiladic functions cannot have parameters {0} ({1})0! row_count() > 0!last_insert_id()KANY(SELECT guid FROM tmpIdentity_{0}) AND `{0}`=MySql.ubigintC0C1	K{0}EdmBigCountCOUNTMUnion fragment is not properly formed.1 = 1	NULLX
@gp{0}DefiningQuery��http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator:TypeViews��http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator:Schema@1ANDOR-(/*+Edm.IndexOf
'{0}%''''Edm.Reverse
'%{0}'>%{0}%Edm.RightEdm.Length+ row_count() > 0 and 	dbo.[].ForeignKey("", -, cascadeDelete: true).Index(, unique: true, name: {0};%AddColumnOperation-AddForeignKeyOperation-AddPrimaryKeyOperation)AlterColumnOperation)CreateIndexOperation)CreateTableOperation'DropColumnOperation/DropForeignKeyOperation%DropIndexOperation/DropPrimaryKeyOperation%DropTableOperation%MoveTableOperation+RenameColumnOperation)RenameTableOperationSqlOperation-DeleteHistoryOperation-InsertHistoryOperationUalter table `{0}` add column `{1}` {2} {3} unique Galter table `{0}` drop column `{1}`alter table `` modify `` �sset @columnType := (select case lower(IS_NULLABLE) when 'no' then CONCAT(column_type, ' not null ')  when 'yes' then column_type end from information_schema.columns where table_name = '+' and column_name = '');[set @sqlstmt := (select concat('alter table `` change `` `)` ' , @columnType));7prepare stmt from @sqlstmt;execute stmt;1deallocate prepare stmt;%` add constraint ``  foreign key references `	` ( K on update cascade on delete cascade 
({0}) {0} not null  default ''  unsignedmediumint! auto_increment  default {0}Qalter table `{0}` drop foreign key `{1}`CREATE UNIQUE 	SortAscending/index  `{0}` on `{1}` (	TypeBTree	HASHBTREE
using Ealter table `{0}` drop index `{1}`create table `` (SDROP TRIGGER IF EXISTS `{0}_IdentityTgr`;oCREATE TRIGGER `{0}_IdentityTgr` BEFORE INSERT ON `{0}`%FOR EACH ROW BEGIN+SET NEW.{0} = UUID();_DROP TEMPORARY TABLE IF EXISTS tmpIdentity_{0};��CREATE TEMPORARY TABLE tmpIdentity_{0} (guid CHAR(36))ENGINE=MEMORY;YINSERT INTO tmpIdentity_{0} VALUES(New.{1});primary key ( A) engine=InnoDb auto_increment=0drop table ``Wdelete from `{0}` where MigrationId = '{1}'insert into `[` (`migrationId`, `model`, `productVersion`) ; values ( '{0}', {1}, '{2}') 0x%` add primary key  `'DeleteAutoIncrement;  alter table `'` drop primary key 7rename table `{0}` to `{1}`DELETE FROM  WHERE 9SET SESSION sql_mode='ANSI';INSERT INTO  VALUES ;

R;Unknown PrimitiveTypeKind {0}<<=>=!=LEFT OUTER JOININNER JOINCROSS JOINOUTER JOIN;expression kind not supported
SELECT DISTINCT 

FROM 

 WHERE 

 GROUP BY  LIMIT 	{0},)18446744073709551615

 ORDER BY UPDATE  SET MMySql.Data.Entity.Properties.ResourcesKConnectionMustBeOfTypeMySqlConnection+NoStoreTypeForEdmType!TypeNotSupported/WrongFunctionResultType KEY (`{0}`),R�]A�-cJ����/��      ]��0  �
�
	�
 �
 
 	�
 m
��
�uy ��
 ��u��u   ��qu }y}y   	ququq��u}y��yyyqu qu�9 �=m�=m�E �=��    ��
���� ��	����1
��������q��q���������� �% �� �a��q
�a��q	 ��
����q  ����q ��  ��	 }��}�� �� q �- ����	 ������ �������u �u	 }���M�� ��}��u �U
����
 �� ������ �� �� ��
������ �� �a������ ����&������������������ ���U
0�M
���M������	 }��
�a�e
���a������
��a���� �*
�����	�	�
���������	 }�q�M�q	 }��M� �����}�	 ���}�� ��	 }�y�M�y �
 ��'
�	������������ �	��	 }��}��  �� ������� �� ��yy}yyy    �%�� �� 	 �� �� �� �1 �1 �Q�9�A�E�I�E	�A�A �I	 ��   	 

	 

 �U �Y 
 �] �a �a  �   
 ��	�a�a�a��  �U
�a� 	��H��H��HH ��	�]�i	������H ��d��dd��d ����0	��0��0 hh���m�� �}0��
0��P\���u�u


 ���u���u�a�u���u�����u0�y���}��������0��
 �����a������
����0 �� ����\�������0�� �� �u��(,ph(����
0�u����������(P$��%
�����������u0H����H ��
 ������������P
 ���}���}0�}(�}(������HH��Hp��<<d<H,��(��������
 �����a��������������hH(��p��H
��$����  ��	���� D��
��H0+��H��HH��000��lll��l��l
����H8(����\&
�qX�����q�q����q��X<	@@<<@0<00
 �a
HdHdHd���U��������0��\������������  ��	���q�a�a��
�q�a���q��
�e���e�a�i���e�i�e�i*�a�a���a��
�e�i�e�i���e�i
�e�i���e�i���e�i�a�a��
�e�i���e�i���a
���e�i���e�a�m���e�m�e�m
�e�m�e�m���e�m
�e�m���e�m���e�m
�e�m���e�m
���e�m �u�a�q�y �� ��	 �y�}	 �i�} �� �a�}	 ���}�� �q ����	 ��	 ���} 	 �m�}���e�������� 
 �����a���������� �� ��	 �e�} �� �������e�i�����e�i�����e�i
 �������e�m�����e�m�����e�m�� 	 ���}	 ���}	 ���}	 ���}��	 ���}��	 ���}�� 	 ���}��	 ���}����	��������&���������q�q������������ ��
�y���y�y
�y�y
��������
����
��������
�����a�q���q����	����	����������	�����

�aq�������� qq �� ���� ����
�a����	 ������)������������������������	����
���������� 	 ������������ ��q��
�Y � ���u�����U �U	 ����HH(��H��H����HHH��H����H�a������HH��H��0��l �9 �9 ��
�e�i���e�i
�e�m���e�m
�i
�m���z\V4��hȉi�M��$��$RSA1�s��qu,x)A&�JA��C�q�_��<�_e����Z�@gюz��F}zQ��$�q�(�����X
�	��i$��[���J�NP�c��� O�\���N�ec�2n���8b1A��
l�k>�\���������?���
����������u�Q0q��H(	��H��d��0h�%��	��(��	����������0	����	����	�����a���e�i�a���e�m	������
����	�a������l��������
���q���e�i�e�i���e�i���e�i���e�i���e�m�e�m���e�m���e�m���e�m	�a�q�e�}�������y�y���������������y����m m mm   �� �� �� ������ �� �� �� ������ ������ � �� q � q �� �� �) �) �5�9 �= �=�A �Q  �a  �� 4 �� Hh	 �e�� T D L X P @ < H d p l \ �� $ ,
 ��H 0 0 h h H ��	 �� 0 H ��
 0�q�� 0�q 0���q �q �����u ( ( ( (h �� 00 0�� 0�� 0��	 0��0 0�� 0�� 0�� 0�}�}���u ������ (( 0�� 0�� ���uq 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 0�5 0�9 0�= 0�A 0�E 0�I 0�u 0�M 0�Q (( ������ �� 0��H
 (�uq X�u�u 0�u�u 0< @@@ @<< @<@ <dH �u ��  �a�q�a�q �a���a�q ���y ���� ���� ���� ���i �� ���� ���m ���� ���e ���� ���� ���� ���� ���� ���� ���� ���� ���q (	 ��0
 ��0��q��qq������
�����	�� ��	 ��H
 ��H	 ��l
 ��l H�� ��H( ��H$ ������ �� �q �e�i�e�i
 �e�i ���e�i�e�i �e�m�e�m
 �e�m ���e�m�e�m
 �a�i�e
 �a�m�e ���e�i ���e�i ���e�m ���e�m ���q�� ���� �y�y ���� ���� ��(((��(((�%((��(�)(�-(�1(((0(h(��(��
(����((	(��0	(��H	(��l����TWrapNonExceptionThrows
6.9.9
en-USMySql.Data.Entity.EF5OraclePKCopyright © 2008, 2015, Oracle and/or its affiliates. All rights reserved.)$540e7b3c-bd0b-4980-96d1-5d140d303f7e$..\..\ConnectorNetPublicKey.snk�k�eMySql.Data.Entity.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1�v�pMySql.Data.Entity.Migrations.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1�u�oMySql.Data.Entity.CodeFirst.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1G.NETFramework,Version=v4.0TFrameworkDisplayName.NET Framework 4	Item@3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0�����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP�c��X�T4f�Q;�O~�JConnectionMustBeOfTypeMySqlConnection*NoStoreTypeForEdmTypeV TypeNotSupported�.WrongFunctionResultType�TThe connection parameter must reference an object of type MySql.Data.MySqlConnectionSThere is no store type corresponding to the EDM type '{0}' of primitive type '{1}'.8The underlying provider does not support the type '{0}'.TResult type of a function is expected to be a collection of RowType or PrimitiveTypewR<?xml version="1.0" encoding="utf-8"?>
<Mapping xmlns:cs="urn:schemas-microsoft-com:windows:storage:mapping:CS" 
         Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
  <cs:EntityContainerMapping StorageEntityContainer="Schema" CdmEntityContainer="SchemaInformation">
    <cs:EntitySetMapping Name="Tables" StoreEntitySet="STables" TypeName="Store.Table">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="Catalog" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="Schema" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
    </cs:EntitySetMapping>
	  
    <cs:EntitySetMapping Name="TableColumns" StoreEntitySet="STableColumns" TypeName="Store.Column">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <cs:ComplexProperty Name="ColumnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <cs:ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Views" StoreEntitySet="SViews" TypeName="Store.View">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="ViewDefinition" ColumnName="ViewDefinition" />
      <cs:ScalarProperty Name="IsUpdatable" ColumnName="IsUpdatable" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.Column">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ScalarProperty Name="IsNullable" ColumnName="IsNullable" />
      <cs:ComplexProperty Name="ColumnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsIdentity" ColumnName="IsIdentity" />
      <cs:ScalarProperty Name="IsStoreGenerated" ColumnName="IsStoreGenerated" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Functions" TypeName="Store.ScalarFunction" StoreEntitySet="SFunctions">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ComplexProperty Name="ReturnType">
        <cs:ScalarProperty Name="TypeName" ColumnName="ReturnTypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="ReturnMaxLength" />
        <cs:ScalarProperty Name="Precision" ColumnName="ReturnPrecision" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="ReturnDateTimePrecision" />
        <cs:ScalarProperty Name="Scale" ColumnName="ReturnScale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="ReturnCollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="ReturnCollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="ReturnCollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="ReturnCharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="ReturnCharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="ReturnCharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="ReturnIsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="IsAggregate" ColumnName="IsAggregate" />
      <cs:ScalarProperty Name="IsBuiltIn" ColumnName="IsBuiltIn" />
      <cs:ScalarProperty Name="IsNiladic" ColumnName="IsNiladic" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="FunctionParameters" TypeName="Store.Parameter" StoreEntitySet="SFunctionParameters">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ComplexProperty Name="ParameterType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="Mode" ColumnName="Mode" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="Procedures" TypeName="Store.Procedure" StoreEntitySet="SProcedures">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="CatalogName" ColumnName="CatalogName" />
      <cs:ScalarProperty Name="SchemaName" ColumnName="SchemaName" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ProcedureParameters" TypeName="Store.Parameter" StoreEntitySet="SProcedureParameters">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Name" ColumnName="Name" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
      <cs:ComplexProperty Name="ParameterType">
        <cs:ScalarProperty Name="TypeName" ColumnName="TypeName" />
        <cs:ScalarProperty Name="MaxLength" ColumnName="MaxLength" />
        <cs:ScalarProperty Name="DateTimePrecision" ColumnName="DateTimePrecision" />
        <cs:ScalarProperty Name="Precision" ColumnName="Precision" />
        <cs:ScalarProperty Name="Scale" ColumnName="Scale" />
        <cs:ComplexProperty Name="Collation">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CollationCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CollationSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CollationName" />
        </cs:ComplexProperty>
        <cs:ComplexProperty Name="CharacterSet">
          <cs:ScalarProperty Name="CatalogName" ColumnName="CharacterSetCatalog" />
          <cs:ScalarProperty Name="SchemaName" ColumnName="CharacterSetSchema" />
          <cs:ScalarProperty Name="Name" ColumnName="CharacterSetName" />
        </cs:ComplexProperty>
        <cs:ScalarProperty Name="IsMultiSet" ColumnName="IsMultiSet" />
      </cs:ComplexProperty>
      <cs:ScalarProperty Name="Mode" ColumnName="Mode" />
      <cs:ScalarProperty Name="Default" ColumnName="Default" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="TableConstraints" >
      <cs:EntityTypeMapping TypeName="IsTypeOf(Store.Constraint)">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.UniqueConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.CheckConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="CHECK"/>
        </cs:MappingFragment>
        <cs:MappingFragment StoreEntitySet="SCheckConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Expression" ColumnName="Expression" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.PrimaryKeyConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.ForeignKeyConstraint">
        <cs:MappingFragment StoreEntitySet="SConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </cs:MappingFragment>
        <cs:MappingFragment StoreEntitySet="SForeignKeyConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <cs:ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewConstraints" >
      <cs:EntityTypeMapping TypeName="Store.UniqueConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:Condition ColumnName="ConstraintType" Value="UNIQUE"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.CheckConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:ScalarProperty Name="Expression" ColumnName="Expression" />
          <cs:Condition ColumnName="ConstraintType" Value="CHECK"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.PrimaryKeyConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:Condition ColumnName="ConstraintType" Value="PRIMARY KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
      <cs:EntityTypeMapping TypeName="Store.ForeignKeyConstraint" >
        <cs:MappingFragment StoreEntitySet="SViewConstraints">
          <cs:ScalarProperty Name="Id" ColumnName="Id" />
          <cs:ScalarProperty Name="Name" ColumnName="Name" />
          <cs:ScalarProperty Name="IsDeferrable" ColumnName="IsDeferrable" />
          <cs:ScalarProperty Name="IsInitiallyDeferred" ColumnName="IsInitiallyDeferred" />
          <cs:ScalarProperty Name="UpdateRule" ColumnName="UpdateRule" />
          <cs:ScalarProperty Name="DeleteRule" ColumnName="DeleteRule" />
          <cs:Condition ColumnName="ConstraintType" Value="FOREIGN KEY"/>
        </cs:MappingFragment>
      </cs:EntityTypeMapping>
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="TableForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ForeignKey">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </cs:EntitySetMapping>

    <cs:EntitySetMapping Name="ViewForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ForeignKey">
      <cs:ScalarProperty Name="Id" ColumnName="Id" />
      <cs:ScalarProperty Name="Ordinal" ColumnName="Ordinal" />
    </cs:EntitySetMapping>

    <cs:AssociationSetMapping Name="TableTableColumns" StoreEntitySet="STableColumns" TypeName="Store.TableOrViewColumn">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>
    
    <cs:AssociationSetMapping Name="ViewViewColumns" StoreEntitySet="SViewColumns" TypeName="Store.TableOrViewColumn">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableTableConstraints" StoreEntitySet="SConstraints" TypeName="Store.TableOrViewConstraint">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableConstraintColumns" StoreEntitySet="SConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="TableConstraintForeignKeys" StoreEntitySet="SForeignKeys" TypeName="Store.ConstraintForeignKey">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ToTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FromTableForeignKeyColumns" StoreEntitySet="SForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewViewConstraints" StoreEntitySet="SViewConstraints" TypeName="Store.TableOrViewConstraint">
      <cs:EndProperty Name="Parent">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewConstraintColumns" StoreEntitySet="SViewConstraintColumns" TypeName="Store.TableOrViewConstraintColumn">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ViewConstraintForeignKeys" StoreEntitySet="SViewForeignKeys" TypeName="Store.ConstraintForeignKey">
      <cs:EndProperty Name="Constraint">
        <cs:ScalarProperty Name="Id" ColumnName="ConstraintId" />
      </cs:EndProperty>
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ToViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.ToForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="ToColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FromViewForeignKeyColumns" StoreEntitySet="SViewForeignKeys" TypeName="Store.FromForeignKeyColumn">
      <cs:EndProperty Name="ForeignKey">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
      <cs:EndProperty Name="Column">
        <cs:ScalarProperty Name="Id" ColumnName="FromColumnId" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="FunctionFunctionParameters" StoreEntitySet="SFunctionParameters" TypeName="Store.RoutineParameter">
      <cs:EndProperty Name="Routine">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Parameter">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

    <cs:AssociationSetMapping Name="ProcedureProcedureParameters" StoreEntitySet="SProcedureParameters" TypeName="Store.RoutineParameter">
      <cs:EndProperty Name="Routine">
        <cs:ScalarProperty Name="Id" ColumnName="ParentId" />
      </cs:EndProperty>
      <cs:EndProperty Name="Parameter">
        <cs:ScalarProperty Name="Id" ColumnName="Id" />
      </cs:EndProperty>
    </cs:AssociationSetMapping>

  </cs:EntityContainerMapping>

</Mapping>�s<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
    
<!-- 6.0 -->
    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Function parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Procedure parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>
<!-- End 6.0 -->
    
    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='FOREIGN KEY'
      </DefiningQuery>
    </EntitySet>
       
    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.CONSTRAINT_NAME, '.', KCU.ORDINAL_POSITION) AS `Id`,
        CONCAT(KCU.REFERENCED_TABLE_SCHEMA, '.', KCU.REFERENCED_TABLE_NAME, '.', KCU.REFERENCED_COLUMN_NAME) AS `ToColumnId`,
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.TABLE_NAME, '.', KCU.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(KCU.TABLE_SCHEMA, '.', KCU.TABLE_NAME, '.', KCU.CONSTRAINT_NAME) AS `ConstraintId`,
        KCU.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KCU.TABLE_SCHEMA
        AND TC.TABLE_NAME = KCU.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>
  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



  <EntityType Name="TableColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength ="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="CatalogName" Type="varchar" MaxLength="256" />
    <Property Name="SchemaName" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="bigint" />
    <Property Name="ReturnPrecision" Type="bigint" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="bigint" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Nullable="true" Type="bigint" />
    <Property Name="Precision" Nullable="true" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="longtext" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength ="256" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>  
</Schema>-<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA =  PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA  = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>
  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



  <EntityType Name="TableColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength ="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="CatalogName" Type="varchar" MaxLength="256" />
    <Property Name="SchemaName" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="bigint" />
    <Property Name="ReturnPrecision" Type="bigint" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="bigint" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Nullable="true" Type="bigint" />
    <Property Name="Precision" Nullable="true" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="longtext" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength ="256" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>  
</Schema>�v<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        IF (COLUMN_TYPE = 'tinyint(1)', -128, COLUMN_DEFAULT) AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
          IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
            IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
              CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        NUMERIC_PRECISION AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsIdentity`,
        CASE WHEN EXTRA LIKE '%auto%' THEN 1 ELSE 0 END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
    
<!-- 6.0 -->
    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Function parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT /* Procedure parameters */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `Ordinal`,
        NULL AS `TypeName`,
        NULL AS `MaxLength`,
        NULL AS `Precision`,
        NULL AS `DateTimePrecision`,
        NULL AS `Scale`,
        NULL AS `CollatioCatalog`,
        NULL AS `CollationSchema`,
        NULL AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        NULL AS `CharacterSetName`,
        NULL AS `IsMultiSet`,
        NULL AS `Mode`,
        NULL AS `Default`
      </DefiningQuery>
    </EntitySet>
<!-- End 6.0 -->
    
    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA =  PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA  = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>
  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



  <EntityType Name="TableColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength ="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="CatalogName" Type="varchar" MaxLength="256" />
    <Property Name="SchemaName" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="bigint" />
    <Property Name="ReturnPrecision" Type="bigint" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="bigint" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Nullable="true" Type="bigint" />
    <Property Name="Precision" Nullable="true" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="longtext" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength ="256" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>  
</Schema>��<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS CHAR)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS CHAR)
        ELSE 0
        END AS `Precision`,
        DATETIME_PRECISION AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS UNSIGNED INTEGER)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS UNSIGNED INTEGER)
        ELSE 0
        END AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA =  PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA  = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>
  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



  <EntityType Name="TableColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength ="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="CatalogName" Type="varchar" MaxLength="256" />
    <Property Name="SchemaName" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="bigint" />
    <Property Name="ReturnPrecision" Type="bigint" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="bigint" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Nullable="true" Type="bigint" />
    <Property Name="Precision" Nullable="true" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="longtext" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength ="256" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>  
</Schema>��<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="MySqlClient" 
        Provider="MySql.Data.MySqlClient"
        ProviderManifestToken="5"
        Alias="Self" 
        xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">
  <EntityContainer Name="Schema">
    
    <EntitySet Name="STables" EntityType="Self.Table">
      <DefiningQuery>
		  SELECT /* Tables */
		  CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
		  TABLE_CATALOG AS `Catalog`,
		  TABLE_SCHEMA  AS `Schema`,
		  TABLE_NAME    AS `Name`
		  FROM INFORMATION_SCHEMA.TABLES
		  WHERE TABLE_TYPE = 'BASE TABLE'
      AND TABLE_SCHEMA=schema()
	  </DefiningQuery>
    </EntitySet>
    
    <EntitySet Name="STableColumns" EntityType="Self.TableColumn">
      <DefiningQuery>
        SELECT /* Table columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS CHAR)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS CHAR)
        ELSE 0
        END AS `Precision`,
        DATETIME_PRECISION AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViews" EntityType="Self.View">
      <DefiningQuery>
        SELECT /* Views */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `Id`,
        TABLE_CATALOG AS`CatalogName`,
        TABLE_SCHEMA AS `SchemaName`,
        TABLE_NAME AS `Name`,
        VIEW_DEFINITION AS `ViewDefinition`,
        CASE IS_UPDATABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsUpdatable`
        FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewColumns" EntityType="Self.ViewColumn">
      <DefiningQuery>
        SELECT /* View columns */
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        COLUMN_NAME AS `Name`,
        ORDINAL_POSITION AS `Ordinal`,
        CASE IS_NULLABLE WHEN 'YES' THEN 1 ELSE 0 END AS `IsNullable`,
        IF(LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool',
        IF (LEFT(COLUMN_TYPE,10) = 'binary(16)' OR LEFT(COLUMN_TYPE,8) = 'char(36)', 'guid',
        IF (INSTR(COLUMN_TYPE, 'unsigned') = 0, DATA_TYPE,
        CONCAT('u', DATA_TYPE)))) AS `TypeName`,
        IF (CHARACTER_MAXIMUM_LENGTH > 2147483647, 2147483647, CHARACTER_MAXIMUM_LENGTH) AS `MaxLength`,
        CASE WHEN NUMERIC_PRECISION > 0 THEN CAST(NUMERIC_PRECISION AS UNSIGNED INTEGER)
        WHEN DATETIME_PRECISION > 0 THEN CAST(DATETIME_PRECISION AS UNSIGNED INTEGER)
        ELSE 0
        END AS `Precision`,
        0 AS `DateTimePrecision`,
        NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        CHARACTER_SET_NAME AS `CharacterSetName`,
        0 AS `IsMultiSet`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsIdentity`,
        CASE WHEN COLUMN_DEFAULT LIKE 'CURRENT_TIMESTAMP' THEN 1
        WHEN EXTRA LIKE  '%auto%' THEN 1
        ELSE 0
        END AS `IsStoreGenerated`,
        COLUMN_DEFAULT AS `Default`
        FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctions" EntityType="Self.Function">
      <DefiningQuery>
        SELECT /* Functions */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`,
        SUBSTRING_INDEX(DTD_IDENTIFIER, '(', 1) AS `ReturnTypeName`,
        NULL AS `ReturnMaxLength`,
        NULL AS `ReturnPrecision`,
        0 AS `ReturnDateTimePrecision`,
        NULL AS `ReturnScale`,
        NULL AS `ReturnCollationCatalog`,
        NULL AS `ReturnCollationSchema`,
        NULL AS `ReturnCollationName`,
        NULL AS `ReturnCharacterSetCatalog`,
        NULL AS `ReturnCharacterSetSchema`,
        NULL AS `ReturnCharacterSetName`,
        NULL AS `ReturnIsMultiSet`,
        NULL AS `IsAggregate`,
        NULL AS `IsBuiltIn`,
        NULL AS `IsNiladic`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='FUNCTION'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedures" EntityType="Self.Procedure">
      <DefiningQuery>
        SELECT /* Procedures */
        CONCAT(ROUTINE_SCHEMA, '.', SPECIFIC_NAME) AS `Id`,
        ROUTINE_CATALOG AS `CatalogName`,
        ROUTINE_SCHEMA AS `SchemaName`,
        ROUTINE_NAME AS `Name`
        FROM INFORMATION_SCHEMA.ROUTINES
        WHERE ROUTINE_TYPE='PROCEDURE'
        AND ROUTINE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SFunctionParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'FUNCTION'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SProcedureParameters" EntityType="Self.Parameter">
      <DefiningQuery>
        SELECT
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME, '.', f.PARAMETER_NAME) AS `Id`,
        CONCAT(f.SPECIFIC_SCHEMA, '.', f.SPECIFIC_NAME) AS `ParentId`,
        f.PARAMETER_NAME AS `Name`,
        f.ORDINAL_POSITION `Ordinal`,
        f.DATA_TYPE AS `TypeName`,
        f.CHARACTER_MAXIMUM_LENGTH AS `MaxLength`,
        f.NUMERIC_PRECISION AS`Precision`,
        NULL AS `DateTimePrecision`,
        f.NUMERIC_SCALE AS `Scale`,
        NULL AS `CollationCatalog`,
        NULL AS `CollationSchema`,
        f.COLLATION_NAME AS `CollationName`,
        NULL AS `CharacterSetCatalog`,
        NULL AS `CharacterSetSchema`,
        f.CHARACTER_SET_NAME AS `CharacterSetName`,
        CAST(0 as decimal(0,0)) AS `IsMultiSet`,
        f.PARAMETER_MODE AS `Mode`,
        NULL AS `Default`
        FROM
        INFORMATION_SCHEMA.PARAMETERS f
        INNER JOIN INFORMATION_SCHEMA.ROUTINES r ON
        f.SPECIFIC_SCHEMA = r.ROUTINE_SCHEMA AND
        f.SPECIFIC_NAME = r.SPECIFIC_NAME AND
        r.ROUTINE_TYPE = 'PROCEDURE'
        WHERE
        r.ROUTINE_SCHEMA=schema() AND f.ORDINAL_POSITION > 0
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraints" EntityType="Self.Constraint">
      <DefiningQuery>
        SELECT  /* Constraints */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS `ParentId`,
        CONSTRAINT_NAME AS `Name`,
        CONSTRAINT_TYPE AS `ConstraintType`,
        0 AS `IsDeferrable`,
        0 AS `IsInitiallyDeferred`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE != 'CHECK' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SCheckConstraints" EntityType="Self.CheckConstraint">
      <DefiningQuery>
        SELECT  /* Check constraints */
        NULL AS `Id`,
        NULL AS `Expression`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* Constraint columns */
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `ConstraintId`,
        CONCAT(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) AS `ColumnId`
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>

<!--
    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT /* Foreign key constraints */
        CONCAT('`', TABLE_SCHEMA, '`.`', CONSTRAINT_NAME, '`') AS `Id`,
        'NO ACTION' AS `UpdateRule`,
        'NO ACTION' AS `DeleteRule`
        FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
        WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_SCHEMA=schema()
      </DefiningQuery>
    </EntitySet>
-->

    <EntitySet Name="SForeignKeyConstraints" EntityType="Self.ForeignKeyConstraint">
      <DefiningQuery>
        SELECT
        CONCAT(CONSTRAINT_SCHEMA, '.', TABLE_NAME, '.', CONSTRAINT_NAME) AS `Id`,
        UPDATE_RULE AS `UpdateRule`,
        DELETE_RULE AS `DeleteRule`
        FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.CONSTRAINT_NAME, '.', FC.ORDINAL_POSITION) AS `Id`,
        CONCAT(PC.TABLE_SCHEMA, '.', PC.TABLE_NAME, '.', PC.COLUMN_NAME) AS `ToColumnId`,
        CONCAT(FC.TABLE_SCHEMA, '.', FC.TABLE_NAME, '.', FC.COLUMN_NAME) AS `FromColumnId`,
        CONCAT(FC.CONSTRAINT_SCHEMA, '.', FC.TABLE_NAME, '.', FC.CONSTRAINT_NAME) AS `ConstraintId`,
        FC.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS PC /* PRIMARY KEY COLS*/
        ON       RC.UNIQUE_CONSTRAINT_SCHEMA =  PC.CONSTRAINT_SCHEMA
        AND      RC.UNIQUE_CONSTRAINT_NAME    = PC.CONSTRAINT_NAME
        AND      RC.REFERENCED_TABLE_NAME     = PC.TABLE_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS FC /* FOREIGN KEY COLS*/
        ON       RC.CONSTRAINT_SCHEMA  = FC.CONSTRAINT_SCHEMA
        AND      RC.CONSTRAINT_NAME    = FC.CONSTRAINT_NAME
        AND      RC.TABLE_NAME         = FC.TABLE_NAME
        AND      PC.ORDINAL_POSITION   = FC.ORDINAL_POSITION
<!--        WHERE FC.CONSTRAINT_SCHEMA='test3'-->
      </DefiningQuery>
    </EntitySet>    
    
    <!--<EntitySet Name="SForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT  /* Foreign keys */
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`',
               KEYCOLS.CONSTRAINT_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `Id`,
        CONCAT('`', KEYCOLS.REFERENCED_TABLE_SCHEMA, '`.`', 
               KEYCOLS.REFERENCED_TABLE_NAME, '`.`', 
               KEYCOLS.REFERENCED_COLUMN_NAME, '`') AS `ToColumnId`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.TABLE_NAME, '`.`', KEYCOLS.COLUMN_NAME, '`') AS `FromColumnId`,
        KEYCOLS.COLUMN_NAME AS `Name`,
        CONCAT('`', KEYCOLS.TABLE_SCHEMA, '`.`', KEYCOLS.CONSTRAINT_NAME, '`') AS `ConstraintId`,
        KEYCOLS.ORDINAL_POSITION AS `Ordinal`
        FROM
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE KEYCOLS
        WHERE TC.CONSTRAINT_TYPE = 'FOREIGN KEY'
        AND TC.TABLE_SCHEMA = KEYCOLS.TABLE_SCHEMA
        AND TC.TABLE_NAME = KEYCOLS.TABLE_NAME
        AND TC.CONSTRAINT_NAME = KEYCOLS.CONSTRAINT_NAME
        AND TC.TABLE_SCHEMA = schema()
      </DefiningQuery>
    </EntitySet>-->

    <EntitySet Name="SViewConstraints" EntityType="Self.ViewConstraint">
      <DefiningQuery>
        SELECT /* View constraints */
        NULL AS `Id`,
        NULL AS `ParentId`,
        NULL AS `Name`,
        NULL AS `ConstraintType`,
        NULL AS `Expression`,
        NULL AS `UpdateRule`,
        NULL AS `DeleteRule`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewConstraintColumns" EntityType="Self.ConstraintColumn">
      <DefiningQuery>
        SELECT  /* View constraint columns */
        NULL AS `ConstraintId`,
        NULL AS `ColumnId`
      </DefiningQuery>
    </EntitySet>

    <EntitySet Name="SViewForeignKeys" EntityType="Self.ForeignKey">
      <DefiningQuery>
        SELECT /* View foreign keys */
        NULL AS `Id`,
        NULL AS `ToColumnId`,
        NULL AS `FromColumnId`,
        NULL AS `ConstraintId`,
        0 AS `Ordinal`
      </DefiningQuery>
    </EntitySet>

    <AssociationSet Name="STableTableColumns" Association="Self.TableTableColumn" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="STableConstraints" Association="Self.TableTableConstraint" >
      <End Role="Parent" EntitySet="STables"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintConstraintColumns" Association="Self.ConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SConstraintColumns"/>
      <End Role="Constraint" EntitySet="SConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SConstraintForeignKeys" Association="Self.ConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Constraint" EntitySet="SForeignKeyConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyColumns" Association="Self.FromForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyColumns" Association="Self.ToForeignKeyColumn" >
      <End Role="ForeignKey" EntitySet="SForeignKeys"/>
      <End Role="Column" EntitySet="STableColumns"/>
    </AssociationSet>

    <AssociationSet Name="SViewViewColumns" Association="Self.ViewViewColumn" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SViewViewConstraints" Association="Self.ViewViewConstraint" >
      <End Role="Parent" EntitySet="SViews"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintConstraintColumns" Association="Self.ViewConstraintConstraintColumn" >
      <End Role="ConstraintColumn" EntitySet="SViewConstraintColumns"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SViewConstraintForeignKeys" Association="Self.ViewConstraintForeignKey" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Constraint" EntitySet="SViewConstraints"/>
    </AssociationSet>
    <AssociationSet Name="SFromForeignKeyViewColumns" Association="Self.FromForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>
    <AssociationSet Name="SToForeignKeyViewColumns" Association="Self.ToForeignKeyViewColumn" >
      <End Role="ForeignKey" EntitySet="SViewForeignKeys"/>
      <End Role="Column" EntitySet="SViewColumns"/>
    </AssociationSet>

    <AssociationSet Name="FunctionFunctionParameters" Association="Self.FunctionFunctionParameter">
      <End Role="Function" EntitySet="SFunctions"/>
      <End Role="Parameter" EntitySet="SFunctionParameters"/>
    </AssociationSet>
    <AssociationSet Name="ProcedureProcedureParameters" Association="Self.ProcedureProcedureParameter" >
      <End Role="Procedure" EntitySet="SProcedures"/>
      <End Role="Parameter" EntitySet="SProcedureParameters"/>
    </AssociationSet>
  </EntityContainer>

  <EntityType Name="Table">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Catalog" Type="varchar" MaxLength="256" />
    <Property Name="Schema" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>



  <EntityType Name="TableColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength ="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="View">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="CatalogName" Type="varchar" MaxLength="256" />
    <Property Name="SchemaName" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ViewDefinition" Nullable="true" Type="text" />
    <Property Name="IsUpdatable" Nullable="false" Type="bit" />
  </EntityType>

  <EntityType Name="ViewColumn">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="bigint" />
    <Property Name="IsNullable" Nullable="false" Type="bit" />
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Type="bigint" />
    <Property Name="Precision" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsIdentity" Nullable="false" Type="bit" />
    <Property Name="IsStoreGenerated" Nullable="false" Type="bit" />
    <Property Name="Default" Nullable="true" Type="longtext"/>
  </EntityType>

  <EntityType Name="Function">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ReturnTypeName" Type="varchar" MaxLength="256" />
    <Property Name="ReturnMaxLength" Type="bigint" />
    <Property Name="ReturnPrecision" Type="bigint" />
    <Property Name="ReturnDateTimePrecision" Type="int" />
    <Property Name="ReturnScale" Type="bigint" />
    <Property Name="ReturnCollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCollationName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="ReturnCharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="ReturnIsMultiSet" Nullable="false" Type="bit" />
    <Property Name="IsAggregate" Type="bit" />
    <Property Name="IsBuiltIn" Type="bit" />
    <Property Name="IsNiladic" Type="bit" />
  </EntityType>

  <EntityType Name="Procedure">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="CatalogName" Type="varchar" MaxLength="256"/>
    <Property Name="SchemaName" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256"/>
  </EntityType>

  <EntityType Name="Parameter">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Ordinal" Nullable="false" Type="int"/>
    <Property Name="TypeName" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="MaxLength" Nullable="true" Type="bigint" />
    <Property Name="Precision" Nullable="true" Type="bigint" />
    <Property Name="DateTimePrecision" Type="int" />
    <Property Name="Scale" Nullable="true" Type="bigint" />
    <Property Name="CollationCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CollationSchema" Type="varchar" MaxLength="128" />
    <Property Name="CollationName" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetCatalog" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetSchema" Type="varchar" MaxLength="128" />
    <Property Name="CharacterSetName" Type="varchar" MaxLength="128" />
    <Property Name="IsMultiSet" Nullable="false" Type="bit" />
    <Property Name="Mode" Type="varchar" MaxLength="16" />
    <Property Name="Default" Type="longtext" />
  </EntityType>

  <EntityType Name="Constraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="CheckConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength ="256" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
  </EntityType>

  <EntityType Name="ConstraintColumn">
    <Key>
      <PropertyRef Name="ConstraintId" />
      <PropertyRef Name="ColumnId" />
    </Key>
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ColumnId" Nullable="false" Type="varchar" MaxLength="256" />
  </EntityType>

  <EntityType Name="ForeignKeyConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="UpdateRule" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="false" MaxLength="11" Type="varchar" />
  </EntityType>

  <EntityType Name="ForeignKey">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256"/>
    <Property Name="Ordinal" Nullable="false" Type="int" />
    <Property Name="ConstraintId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="FromColumnId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ToColumnId" Nullable="false" Type="varchar" MaxLength ="256" />
  </EntityType>

  <EntityType Name="ViewConstraint">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Id" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="ParentId" Nullable="false" Type="varchar" MaxLength="256" />
    <Property Name="Name" Nullable="false" MaxLength="256" Type="varchar" />
    <Property Name="IsDeferrable" Nullable="false" Type="bit" />
    <Property Name="IsInitiallyDeferred" Nullable="false" Type="bit" />
    <Property Name="ConstraintType" Nullable="false" MaxLength="11" Type="varchar" />
    <Property Name="Expression" Nullable="true" MaxLength="4000" Type="varchar" />
    <Property Name="UpdateRule" Nullable="true" MaxLength="11" Type="varchar" />
    <Property Name="DeleteRule" Nullable="true" MaxLength="11" Type="varchar" />
  </EntityType>

  <Association Name="TableTableConstraint">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintConstraintColumn">
    <End Type="Self.Constraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ConstraintForeignKey">
    <End Type="Self.ForeignKeyConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyColumn">
    <End Type="Self.TableColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="TableTableColumn">
    <End Type="Self.Table" Role="Parent" Multiplicity="1" />
    <End Type="Self.TableColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewColumn">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Column">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FunctionFunctionParameter">
    <End Type="Self.Function" Role="Function" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Function">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ProcedureProcedureParameter">
    <End Type="Self.Procedure" Role="Procedure" Multiplicity="1" />
    <End Type="Self.Parameter" Role="Parameter" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Procedure">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Parameter">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewViewConstraint">
    <End Type="Self.View" Role="Parent" Multiplicity="1" />
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Parent">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="Constraint">
        <PropertyRef Name="ParentId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintConstraintColumn">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ConstraintColumn" Role="ConstraintColumn" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ConstraintColumn">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ViewConstraintForeignKey">
    <End Type="Self.ViewConstraint" Role="Constraint" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Constraint">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ConstraintId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="FromForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="FromColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

  <Association Name="ToForeignKeyViewColumn">
    <End Type="Self.ViewColumn" Role="Column" Multiplicity="1" />
    <End Type="Self.ForeignKey" Role="ForeignKey" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Column">
        <PropertyRef Name="Id" />
      </Principal>
      <Dependent Role="ForeignKey">
        <PropertyRef Name="ToColumnId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>  
</Schema>��<?xml version="1.0" encoding="utf-8"?>
<!-- 
####################################################################################################################

BE AWARE THAT THE ORDER IN WHICH TYPES ARE DESCRIBED IN THE PROVIDER MANIFEST IS RELEVANT AND HAVE IMPACT IN LOOKUP
PROCESS

#################################################################################################################### 
-->
<ProviderManifest Namespace="MySql" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/providermanifest">
  <Types>
    <Type Name ="guid" PrimitiveTypeKind ="Guid"/>
    <Type Name="bool" PrimitiveTypeKind="Boolean"/>
    <!-- signed types -->
    <Type Name="tinyint" PrimitiveTypeKind="SByte"/>
    <Type Name="smallint" PrimitiveTypeKind="Int16"/>
    <Type Name="mediumint" PrimitiveTypeKind="Int32"/>
    <Type Name="int" PrimitiveTypeKind ="Int32"/>
    <Type Name="bigint" PrimitiveTypeKind="Int64"/>
    <!-- unsigned types are mapped to signed value big enough to hold it 
         since EF doesn't support unsigned types directly -->
    <Type Name="utinyint" PrimitiveTypeKind="Byte"/>
    <Type Name="usmallint" PrimitiveTypeKind="Int32"/>
    <Type Name="umediumint" PrimitiveTypeKind="Int32"/>
    <Type Name="uint" PrimitiveTypeKind ="Int64"/>
    <Type Name="ubigint" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="20" Maximum="20" DefaultValue="20" Constant="true" />
        <Scale Minimum="0" Maximum="0" DefaultValue="0" Constant="true" />
      </FacetDescriptions>
    </Type>
    
    <Type Name="year" PrimitiveTypeKind="Int16"/>
    <Type Name="float" PrimitiveTypeKind="Single"/>
    <Type Name="double" PrimitiveTypeKind="Double"/>
    <Type Name="decimal" PrimitiveTypeKind="Decimal">
      <FacetDescriptions>
        <Precision Minimum="1" Maximum="65" DefaultValue="10" Constant="false" />
        <Scale Minimum="0" Maximum="30" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="timestamp" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="date" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision DefaultValue="0" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="time" PrimitiveTypeKind="Time">
      <FacetDescriptions>
        <MaxLength DefaultValue="8" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
        <Precision  Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="datetime" PrimitiveTypeKind="DateTime">
      <FacetDescriptions>
        <Precision Minimum="0" Maximum="6" DefaultValue="0" Constant="false" />
      </FacetDescriptions>
    </Type>
    <Type Name="nvarchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="1000" Constant="false" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="varchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="1000" Constant="false" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="char" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" DefaultValue="255" Constant="false" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="nchar" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" DefaultValue="255" Constant="false" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="binary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="255" Constant="false" />
        <FixedLength DefaultValue="true" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="varbinary" PrimitiveTypeKind="Binary">
      <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="65535" DefaultValue="100" Constant="false" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="bit" PrimitiveTypeKind="Boolean"/>
    <Type Name="tinyblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="255" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="blob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="65535" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="mediumblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="16777215" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="longblob" PrimitiveTypeKind="Binary" >
      <FacetDescriptions>
        <MaxLength DefaultValue="2147483647" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="tinytext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="255" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="text" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="65535" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="mediumtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="16777215" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <!--    <Type Name="longtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength Default="2147483647" Constant="true" />
        <Unicode Default="false" Constant="true" />
        <FixedLength Default="false" Constant="true" />
      </FacetDescriptions>
    </Type>-->

    <Type Name="longtext" PrimitiveTypeKind="String" >
      <FacetDescriptions>
        <MaxLength DefaultValue="1073741823" Constant="true" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="set" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="65531" Constant="true" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>
    <Type Name="enum" PrimitiveTypeKind="String">
      <FacetDescriptions>
        <MaxLength DefaultValue="65532" Constant="true" />
        <Unicode DefaultValue="true" Constant="true" />
        <FixedLength DefaultValue="false" Constant="true" />
      </FacetDescriptions>
    </Type>


  </Types>
  <Functions>
    <!-- ### AGGREGAfTES ### -->
    
    <!-- AVG -->
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In" />
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In" />
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal" />
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In" />
    </Function>
    <Function Name="AVG" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>

    <!-- COUNT -->
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Byte)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In"/>
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In" />
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In" />
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(String)" Mode="In" />
    </Function>
    <Function Name="COUNT" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In" />
    </Function>

    <!-- MAX -->
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Byte" />
      <Parameter Name="arg" Type="Collection(Byte)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int16" />
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal" />
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Single" />
      <Parameter Name="arg" Type="Collection(Single)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="arg" Type="Collection(String)" Mode="In" />
    </Function>
    <Function Name="MAX" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Binary" />
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In" />
    </Function>

    <!-- MIN -->
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Byte" />
      <Parameter Name="arg" Type="Collection(Byte)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int16" />
      <Parameter Name="arg" Type="Collection(Int16)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal" />
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Single" />
      <Parameter Name="arg" Type="Collection(Single)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="arg" Type="Collection(DateTime)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="arg" Type="Collection(String)" Mode="In" />
    </Function>
    <Function Name="MIN" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Binary" />
      <Parameter Name="arg" Type="Collection(Binary)" Mode="In" />
    </Function>

    <!-- SUM -->
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="Collection(Int32)" Mode="In" />
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="arg" Type="Collection(Int64)" Mode="In" />
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Decimal" />
      <Parameter Name="arg" Type="Collection(Decimal)" Mode="In" />
    </Function>
    <Function Name="SUM" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>

    <!-- STDEV AGGREGATES -->
    <Function Name="STDDEV" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In" />
    </Function>

    <!-- 5.0.3 -->
    <Function Name="STDDEV_SAMP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="STDDEV_POP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="VAR_SAMP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>

    <Function Name="VAR_POP" Aggregate="true" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="arg" Type="Collection(Double)" Mode="In"/>
    </Function>
    <!-- end 5.0.3 -->

    <!-- ### BIT FUNCTIONS ### -->

    <!-- Bit_Count -->
    <Function Name="BIT_COUNT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="n" Type="Int64" Mode="In"/>
    </Function>

    <!-- ### STRING FUNCTIONS ### -->
    
    <!-- Ascii -->
    <Function Name="ASCII" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="arg" Type="String" Mode="In" />
    </Function>

    <Function Name="BIN" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="BIT_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CHAR_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CHARACTER_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="arg" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONCAT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="arg0" Type="String" Mode="In"/>
      <Parameter Name="arg1" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONV" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="String" Mode="In"/>
      <Parameter Name="from_base" Type="Int32" Mode="In"/>
      <Parameter Name="to_base" Type="Int32" Mode="In"/>
    </Function>

    <!-- todo check longer versions of concat -->
    <!-- todo implement concat_ws -->
    <!-- todo implement elt -->
    <!-- todo implement export_set -->
    <!-- todo implement field -->

    <Function Name="FIND_IN_SET" BuiltIn="true">
      <ReturnType Type="Int64"/>
      <Parameter Name="str_to_find" Type="String" Mode="In"/>
      <Parameter Name="string_list" Type="String" Mode="In"/>
    </Function>

    <Function Name="FORMAT" BuiltIn="true">
      <ReturnType Type="String"/>
      <Parameter Name="value" Type="Double" Mode="In"/>
      <Parameter Name="dec_places" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="HEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="n_or_s" Type="String" Mode="In"/>
    </Function>

    <Function Name="INSERT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="original_string" Type="String" Mode="In"/>
      <Parameter Name="position" Type="Int64" Mode="In"/>
      <Parameter Name="length" Type="Int64" Mode="In"/>
      <Parameter Name="new_string" Type="String" Mode="In"/>
    </Function>

    <Function Name="INSTR" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="substr" Type="String" Mode="In"/>
    </Function>

    <Function Name="LEFT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="LENGTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOAD_FILE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="file_name" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOCATE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="substr" Type="String" Mode="In"/>
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LOCATE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="substr" Type="String" Mode="In"/>
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="LOWER" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- LCASE is a synonym for LOWER -->
    <Function Name="LCASE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="LPAD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
      <Parameter Name="padstr" Type="String" Mode="In"/>
    </Function>

    <Function Name="LTRIM" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- implement MAKE_SET -->

    <Function Name="MID" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="OCT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="Int64" Mode="In"/>
    </Function>

    <Function Name="OCTET_LENGTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="ORD" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="QUOTE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="REPEAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="REPLACE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="from_str" Type="String" Mode="In"/>
      <Parameter Name="to_str" Type="String" Mode="In"/>
    </Function>

    <Function Name="REVERSE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="RIGHT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="RPAD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
      <Parameter Name="padstr" Type="String" Mode="In"/>
    </Function>

    <Function Name="RTRIM" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="SOUNDEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="SPACE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="N" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTR" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTR" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pos" Type="Int32" Mode="In"/>
      <Parameter Name="len" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBSTRING_INDEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="delim" Type="String" Mode="In"/>
      <Parameter Name="count" Type="Int32" Mode="In"/>
    </Function>

    <!-- implement TRIM -->

    <Function Name="UCASE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="UNHEX" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="UPPER" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- ### MATH FUNCTIONS ### -->

    <!-- Abs -->
    <Function Name="ABS" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Int64" Mode="In"/>
    </Function>

    <!-- Acos -->
    <Function Name="ACOS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Asin -->
    <Function Name="ASIN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Atan -->
    <Function Name="ATAN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <Function Name="ATAN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="y" Type="Double" Mode="In"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Atan2 -->
    <Function Name="ATAN2" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="y" Type="Double" Mode="In"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>
    
    <!-- Ceil -->
    <Function Name="CEIL" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Ceiling -->
    <Function Name="CEILING" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Cos -->
    <Function Name="COS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Cot -->
    <Function Name="COT" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Crc32 -->
    <Function Name="CRC32" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Degrees -->
    <Function Name="DEGREES" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Exp -->
    <Function Name="EXP" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Floor -->
    <Function Name="FLOOR" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>
    
    <!-- Ln -->
    <Function Name="LN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log-->
    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <Function Name="LOG" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="b" Type="Double" Mode="In"/>
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log2 -->
    <Function Name="LOG2" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Log10 -->
    <Function Name="LOG10" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Mod -->
    <Function Name="MOD" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="n" Type="Double" Mode="In"/>
      <Parameter Name="m" Type="Double" Mode="In"/>
    </Function>

    <!-- pi -->
    <Function Name="PI" BuiltIn="true">
      <ReturnType Type="Double" />
    </Function>

    <!-- Pow -->
    <Function Name="POW" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>

    <!-- Power -->
    <Function Name="POWER" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="y" Type="Double" Mode="In"/>
    </Function>

    <!-- Radians -->
    <Function Name="RADIANS" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Rand -->
    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double" />
    </Function>

    <Function Name="RAND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="n" Type="Double" Mode="In"/>
    </Function>

    <!-- Round -->
    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <Function Name="ROUND" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="d" Type="Int32" Mode="In"/>
    </Function>

    <!-- Sign -->
    <Function Name="SIGN" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Sin -->
    <Function Name="SIN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Sqrt -->
    <Function Name="SQRT" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Tan -->
    <Function Name="TAN" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
    </Function>

    <!-- Truncate -->
    <Function Name="TRUNCATE" BuiltIn="true">
      <ReturnType Type="Double" />
      <Parameter Name="x" Type="Double" Mode="In"/>
      <Parameter Name="d" Type="Int32" Mode="In"/>
    </Function>

    <!-- ### DATE FUNCTIONS ### -->

    <!-- AddDate -->
    <Function Name="ADDDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>
    
    <Function Name="ADDDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <!-- AddTime -->
    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="ADDTIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- Convert_Tz -->
    <Function Name="CONVERT_TZ" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="dt" Type="String" Mode="In"/>
      <Parameter Name="from_tz" Type="String" Mode="In"/>
      <Parameter Name="to_tz" Type="String" Mode="In"/>
    </Function>

    <Function Name="CONVERT_TZ" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="dt" Type="DateTime" Mode="In"/>
      <Parameter Name="from_tz" Type="String" Mode="In"/>
      <Parameter Name="to_tz" Type="String" Mode="In"/>
    </Function>

    <!-- CurDate -->
    <Function Name="CURDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>
    <Function Name="CURRENT_DATE" BuiltIn="true">
      <ReturnType Type="DateTime"/>
    </Function>

    <!-- CurTime -->
    <Function Name="CURTIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>
    <Function Name="CURRENT_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>

    <!-- Current_TimeStamp -->
    <Function Name="CURRENT_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!--Date -->
    <Function Name="DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <!-- DateDiff -->
    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATEDIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <!-- Date_Add (todo) -->
    
    <!-- Date_Format -->
    <Function Name="DATE_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="DATE_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Day -->
    <Function Name="DAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayName -->
    <Function Name="DAYNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfMonth -->
    <Function Name="DAYOFMONTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFMONTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfWeek-->
    <Function Name="DAYOFWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- DayOfYear-->
    <Function Name="DAYOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="DAYOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Extract (todo) -->
    
    <!-- From_Days -->
    <Function Name="FROM_DAYS" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="n" Type="Int32" Mode="In"/>
    </Function>

    <!-- From_UnixTime -->
    <Function Name="FROM_UNIXTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="unix_timestamp" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="FROM_UNIXTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="unix_timestamp" Type="Int32" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Get_Format (todo) -->
    
    <!-- Hour -->
    <Function Name="HOUR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="HOUR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Last_Day -->
    <Function Name="LAST_DAY" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="LAST_DAY" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- LocalTime -->
    <Function Name="LOCALTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- LocalTimeStamp -->
    <Function Name="LOCALTIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- MakeDate -->
    <Function Name="MAKEDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="year" Type="Int32" Mode="In"/>
      <Parameter Name="dayOfYear" Type="Int32" Mode="In"/>
    </Function>

    <!-- MakeTime -->
    <Function Name="MAKETIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="hour" Type="Int32" Mode="In"/>
      <Parameter Name="minute" Type="Int32" Mode="In"/>
      <Parameter Name="second" Type="Int32" Mode="In"/>
    </Function>

    <!-- MicroSecond -->
    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="MICROSECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Minute -->
    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>
    
    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>

    <Function Name="MINUTE" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Month -->
    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MONTH" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- MonthName -->
    <Function Name="MONTHNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="MONTHNAME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Now -->
    <Function Name="NOW" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>
    
    <!-- Period_Add -->
    <Function Name="PERIOD_ADD" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="p" Type="Int32" Mode="In"/>
      <Parameter Name="n" Type="Int32" Mode="In"/>
    </Function>

    <!-- Period_Diff -->
    <Function Name="PERIOD_DIFF" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="p1" Type="Int32" Mode="In"/>
      <Parameter Name="p2" Type="Int32" Mode="In"/>
    </Function>

    <!-- Quarter -->
    <Function Name="QUARTER" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="QUARTER" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Second -->
    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SECOND" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- Sec_To_Time -->
    <Function Name="SEC_TO_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="seconds" Type="Int32" Mode="In"/>
    </Function>

    <!-- Str_To_Date -->
    <Function Name="STR_TO_DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- SubDate -->
    <Function Name="SUBDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="SUBDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
      <Parameter Name="days" Type="Int32" Mode="In"/>
    </Function>

    <!-- SubTime -->
    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="SUBTIME" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- SysDate -->
    <Function Name="SYSDATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Time -->
    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIME" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- TimeDiff -->
    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="Time" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMEDIFF" BuiltIn="true">
      <ReturnType Type="Time" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- TimeStamp -->
    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="DateTime" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="Time" Mode="In"/>
    </Function>

    <Function Name="TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
      <Parameter Name="expr1" Type="String" Mode="In"/>
      <Parameter Name="expr2" Type="String" Mode="In"/>
    </Function>

    <!-- TimeStampAdd (todo) -->
    <!-- TimeStampDiff (todo) -->

    <!-- Time_Format -->
    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="Time" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <Function Name="TIME_FORMAT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="time" Type="String" Mode="In"/>
      <Parameter Name="format" Type="String" Mode="In"/>
    </Function>

    <!-- Time_To_Sec -->
    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="Time" Mode="In"/>
    </Function>
    
    <Function Name="TIME_TO_SEC" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="time" Type="String" Mode="In"/>
    </Function>

    <!-- To_Days -->
    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="TO_DAYS" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="Int32" Mode="In"/>
    </Function>

    <!-- Unix_TimeStamp -->
    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="UNIX_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Utc_Date -->
    <Function Name="UTC_DATE" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Utc_Time -->
    <Function Name="UTC_TIME" BuiltIn="true">
      <ReturnType Type="Time" />
    </Function>

    <!-- Utc_TimeStamp -->
    <Function Name="UTC_TIMESTAMP" BuiltIn="true">
      <ReturnType Type="DateTime" />
    </Function>

    <!-- Week -->
    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="WEEK" BuiltIn="true">
      <ReturnType Type="Int32"/>
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <!-- WeekDay -->
    <Function Name="WEEKDAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEKDAY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- WeekOfYear-->
    <Function Name="WEEKOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="WEEKOFYEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- Year -->
    <Function Name="YEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="YEAR" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <!-- YearWeek -->
    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="DateTime" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="YEARWEEK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="date" Type="String" Mode="In"/>
      <Parameter Name="mode" Type="Int32" Mode="In"/>
    </Function>

    <!-- ### ENCRYPTION AND COMPRESSION FUNCTIONS ### -->

    <!-- Aes_Decrypt -->
    <Function Name="AES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Aes_Encrypt -->
    <Function Name="AES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Compress -->
    <Function Name="COMPRESS" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="string_to_compress" Type="String" Mode="In"/>
    </Function>

    <!-- Decode -->
    <Function Name="DECODE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="pass_str" Type="String" Mode="In"/>
    </Function>

    <!-- Encode -->
    <Function Name="ENCODE" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="pass_str" Type="String" Mode="In"/>
    </Function>

    <!-- Des_Decrypt -->
    <Function Name="DES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
    </Function>

    <Function Name="DES_DECRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="crypt_str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Des_Encrypt -->
    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_num" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="DES_ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="key_str" Type="String" Mode="In"/>
    </Function>

    <!-- Encrypt -->
    <Function Name="ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <Function Name="ENCRYPT" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="salt" Type="String" Mode="In"/>
    </Function>

    <!-- Md5 -->
    <Function Name="MD5" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Old_Password -->
    <Function Name="OLD_PASSWORD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Password -->
    <Function Name="PASSWORD" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sha -->
    <Function Name="SHA" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sha1 -->
    <Function Name="SHA1" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Uncompress -->
    <Function Name="UNCOMPRESS" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Uncompressed_Length -->
    <Function Name="UNCOMPRESSED_LENGTH" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- ### INFORMATION FUNCTIONS ### -->

    <!-- Benchmark (todo) -->

    <!-- CharSet -->
    <Function Name="charset" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Coercibility -->
    <Function Name="COERCIBILITY" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Collation -->
    <Function Name="COLLATION" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Connection_Id -->
    <Function Name="CONNECTION_ID" BuiltIn="true">
      <ReturnType Type="Int32" />
    </Function>

    <!-- Current_User -->
    <Function Name="CURRENT_USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Database -->
    <Function Name="DATABASE" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Found_Rows -->
    <Function Name="FOUND_ROWS" BuiltIn="true">
      <ReturnType Type="Int32" />
    </Function>

    <!-- Last_Insert_id -->
    <Function Name="LAST_INSERT_ID" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <!-- Row_Count -->
    <Function Name="ROW_COUNT" BuiltIn="true">
      <ReturnType Type="Int64" />
    </Function>

    <!-- User -->
    <Function Name="USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Session_User -->
    <Function Name="SESSION_USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- System_user -->
    <Function Name="SYSTEM_USER" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Schema -->
    <Function Name="SCHEMA" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Version -->
    <Function Name="VERSION" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- ### OTHER FUNCTIONS ### -->

    <!-- Default (??) -->

    <!-- Get_Lock-->
    <Function Name="GET_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
      <Parameter Name="timeout" Type="Int32" Mode="In"/>
    </Function>

    <!-- Inet_Aton -->
    <Function Name="INET_ATON" BuiltIn="true">
      <ReturnType Type="Int64" />
      <Parameter Name="expr" Type="String" Mode="In"/>
    </Function>

    <!-- Inet_Ntoa -->
    <Function Name="INET_NTOA" BuiltIn="true">
      <ReturnType Type="String" />
      <Parameter Name="expr" Type="Int64" Mode="In"/>
    </Function>

    <!-- Is_Free_Lock -->
    <Function Name="IS_FREE_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Is_Used_Lock -->
    <Function Name="IS_USED_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Master_Pos_Wait -->
    <Function Name="MASTER_POS_WAIT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="log_name" Type="String" Mode="In"/>
      <Parameter Name="log_pos" Type="Int32" Mode="In"/>
    </Function>

    <Function Name="MASTER_POS_WAIT" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="log_name" Type="String" Mode="In"/>
      <Parameter Name="log_pos" Type="Int32" Mode="In"/>
      <Parameter Name="timeout" Type="Int32" Mode="In"/>
    </Function>

    <!-- Name_Const (??) -->

    <!-- Release_Lock -->
    <Function Name="RELEASE_LOCK" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="str" Type="String" Mode="In"/>
    </Function>

    <!-- Sleep -->
    <Function Name="SLEEP" BuiltIn="true">
      <ReturnType Type="Int32" />
      <Parameter Name="duration" Type="Double" Mode="In"/>
    </Function>

    <!-- Uuid -->
    <Function Name="UUID" BuiltIn="true">
      <ReturnType Type="String" />
    </Function>

    <!-- Values (???) -->
  </Functions>
</ProviderManifest>
�tX�o퇝�� C���x�ޗ��f�TA�pD�~$��πO$�yF����a�=�!my#��.-�u�@��/N�TI0�.���ڲy�p�}ޞ�U��zU!U~P�u���r\D�&4�Ci�OKw��p�-"dW�7�RSDSqn2�aC�x)rC��E:\Jenkins\jobs\Connector Net 6.9-release Build\workspace\Source\MySql.Data.EntityFramework5\obj\v4.0\MySql.Data.Entity.pdb9&9 9_CorDllMainmscoree.dll�% '"`�0�HX@��4VS_VERSION_INFO��				?DVarFileInfo$Translation�HStringFileInfo$000004b0Comments.CompanyNameOracleTFileDescriptionMySql.Data.Entity.EF50FileVersion6.9.9.0LInternalNameMySql.Data.Entity.dll�KLegalCopyrightCopyright � 2008, 2015, Oracle and/or its affiliates. All rights reserved.*LegalTrademarksTOriginalFilenameMySql.Data.Entity.dllLProductNameMySql.Data.Entity.EF50ProductVersion6.9.98Assembly Version6.9.9.0089

Youez - 2016 - github.com/yon3zu
LinuXploit