MixX: Unterschied zwischen den Versionen

Aus Coldmirror-Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
[[Bild:Mixx.jpg|thumb|MixX-Logo]]
+
WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX
[[Bild:Altes_MixX_TV_Logo.PNG|thumb|Das alte MixX TV Logo (bis ca. 2002)]]
 
 
 
'''MixX''' war ein Jugendfernsehmagazin, das erstmals im Februar 1999 unter dem damaligen Namen "MixX TV" im ''Offenen Kanal Umland der Stadt Bremen'' lief. Als der Sender sich im Jahr 2002 in den ''Bürgerfunk Bremer Umland'' umformierte und seine Fernsehsparte fortan ''UMLANDtv'' nannte, war die Redaktion gezwungen, sich fortan nur noch "MixX" zu nennen, weil in den Namen der Sendungen kein "TV" mehr vorkommen sollte. Im Jahr 2004 endete die Sendung und die Redaktion ging auseinander.
 
 
 
[[Coldmirror]] gehörte der Redaktion von MixX seit dem Jahr 2000 bis zum Ende der Sendung an.
 
 
 
==Geschichte==
 
Auf Initiative eines gewissen Tims fand ein erstes Treffen zur Redaktionsgründung am 1. Oktober 1998 statt, damals nur mit ihm, [[KWiNK]], den Tim von seiner Arbeit bei der Schülerzeitung kannte, und [[Nina]], die Tim während eines Ferienprojekts im Sommer 1998 kennen gelernt hatte. Zum zweiten Treffen, eine Woche später, brachten sie dann verschiedene Freunde mit, darunter KWiNKs Schulfreund [[Sven]] und seine Schwester [[Korinna]], die beide feste Bestandteile der Redaktion wurden. Im November wurde als erster Beitrag ein Interview mit dem amerikanischen Kinderstar Aaron Carter gedreht, eine komplette, halbstündige Sendung wurde aber erst Ende Februar 1999 ausgestrahlt.
 
 
 
Nach dieser ersten Sendung verließ Tim die Redaktion, Nina und KWiNK übernahmen seine organisatorischen Aufgaben. Die Sendung erlangte bald einen guten Ruf und wurde ins Samstagsprogramm des Senders geholt, wo sie alle zwei Monate den Vorabend bestritt. Als der Samstag als Sendetag wegfiel, verlegte man sich auf den jeweils vierten Montag jeden Monats mit einer geraden Zahl. Insbesondere durch die Rubrik "''Nina in Gefahr''" bekam MixX schnell eine kleine Fanbasis, die sich aber vor allem auf Nina konzentrierte.
 
 
 
2004 beschloss die Redaktion ihre Auflösung, da sich vier der Mitglieder um ihr Abitur kümmern mussten und die Anderen ebenfalls anderen Verpflichtungen (Job, Studienabschluss, etc.) nachgehen wollten. Die letzte Sendung im Juni 2004 konnte leider nie ausgestrahlt werden, weil Jemand das Sendetape aus dem Schnittraum entwendete.
 
 
 
==Konzept==
 
MixX war eine Magazinsendung im weitesten Sinne. Neben Starinterviews (z.B. mit Aaron Carter, [[MIA.]], Söhne Mannheims, Placebo, Beatsteaks, Christian Ulmen etc.) und jugendrelevanten Themenberichten spielte vor allem der Comedyaspekt eine große Rolle. Gerade hier war [[Coldmirror]] aktiv, in den Sketchen, Scherzumfragen und Improberichten.
 
 
 
Die Redaktion versuchte immer, ihre Mitglieder zu Figuren aufzubauen, die man als Charakter erkannte und auch daher witzig fand. Dieses gelang jedoch nur mit Hauptmoderatorin [[Nina]] wirklich, die mit ihrer eigenen Berichte-Reihe in MixX, ''Nina in Gefahr'', einen relativ hohe Bekanntheitsgrad im Sendegebiet erreichte.
 
 
 
Die Sendung lief alle zwei Monate am jeweils vierten Montag des Monats (zeitweise auch am zweiten Samstag, bis dieser Sendetag für den Sender gestrichen wurde) und war zu verschiedenen Zeiten ihrer Existenz 30, 45, 60 oder 75 Minuten lang. Ein ständiger Grund für Kritik war die teilweise exzessive Länge der Beiträge, die häufig oberhalb von zehn Minuten lag.
 
 
 
==Personen==
 
[[Bild:Mixxred2004.JPG|thumb|Die MixX-Redaktion im März 2004]]
 
===[[Coldmirror|Kathrin (aka Coldmirror)]]===
 
Coldmirror, damals noch Kathrin, war wie geschrieben seit dem Jahr 2000 Mitglied der Redaktion. Sie kam über ihre Schulfreundin [[Korinna]] mit der Sendung in Kontakt und Korinnas Bruder, Redaktionsleiter [[KWiNK]], wollte sie wegen ihres ungewöhnlichen Humors gerne dabei haben. Ihren ersten Auftritt hatte sie als Lehrerin im Sketch "Die Sprachschule", der am 10. Juni 2000 gesendet wurde, zunächst nur als Schauspielerin. Am 14. Oktober lief dann mit "[[Alte-Oma-Helf-Män]]" ein erster Sketch, den sie selbst geschrieben hatte (mit Nachbearbeitungen von KWiNK). Im Laufe ihrer Arbeit bei MixX führte sie auch manchmal Regie und war an verschiedenen Scherzumfragen beteiligt. Erst in den letzten Sendungen wurde auch ihr Talent für Improberichte entdeckt und es entstanden drei [[Kaddi und Koko|"Kaddi & Koko"-Beiträge]], in denen sie und Korinna zu Veranstaltungen gingen und dort allerhand lustiges Zeug trieben.
 
 
 
===[[Nina]] und [[Sven]]===
 
Nina und Sven waren die Hauptmoderatoren der Sendung, die auch durch ihr Auftreten die Beiträge miteinander verknüpften. Insbesondere Nina war auch hinter den Kulissen sehr aktiv und war in sehr vielen Berichten vertreten. Beide waren von Anfang an dabei, Nina schied aber Ende 2003 aus der Redaktion aus, um sich verstärkt auf ihr Abitur und ein Engagement beim Radio zu konzentrieren. Beide kommen in Zusammenhang mit Coldmirror bislang nicht weiter vor.
 
 
 
===[[KWiNK]]===
 
KWiNK (bis 2003 unter seinem Realnamen, den er heute vor der Öffentlichkeit verborgen zu halten versucht, seit Juni 2003 nur noch als KWiNK) war der inoffizielle Redaktionsleiter der Sendung, der vor allem die Redaktionstreffen und Drehs organisierte. Drehbücher für Sketche schrieb häufig er, nicht wenige in Zusammenarbeit mit [[Coldmirror]]. Er moderierte auch Beiträge und trat in Sketchen auf. Außerdem war er häufig für Regie und Kamera zuständig, den Schnitt der gesamten Sendung machte er ab 2000 komplett selbst. Sein großer Einfluss formte die Sendung, jedoch nicht immer zum Guten, da sie gerade in den letzten Jahren vermehrt seine Interessen und Vorlieben wiederzuspiegeln begann und sich so immer mehr spezialisierte.
 
 
 
===[[Korinna]]===
 
Korinna war ebenfalls von Anfang bis Ende der Sendung dabei, allerdings nicht so präsent wie ihr Bruder. Sie schrieb nur gelegentlich Drehbücher, war dafür als Moderatorin von Beiträgen und Schauspielerin häufiger zu sehen, zeichnete sich auch immer wieder für die Kamera verantwortlich. Innerhalb der Redaktion war sie ein wichtiges Bindeglied, da viele Mitglieder über sie in die Sendung kamen.
 
 
 
===[[Clofix|Claudia (aka Clofix)]]===
 
Claudia oder "Clo", Coldmirrors Schwester, kam schon im September 1999 über Korinna zur Redaktion, war damals mit neun Jahren das bei weitem jüngste Redaktionsmitglied. Ihren ersten Auftritt hatte sie in der Sendung vom 25. Oktober 1999 als "Gummibärchengirl" im Sketch "Der Gummibärchenmann braucht Hilfe". Sie hat sich wenig mit der Technik oder redaktionellen Belangen beschäftigt, war mehr für Schauspiel und Moderationen von Scherzumfragen verantwortlich. Ihre erste solche Umfrage wurde am 6. August 2009 unter dem Namen "Frage der Woche: Sind Sie 'sitt'?" auf ''MixXClassixX'' veröffentlicht. Häufig basierten aber auch Sketche auf Improvisationen, die sie und ihre Schwester zuhause mit ihrer Privatkamera gemacht hatten.
 
 
 
===[[Jenni|Jennifer]]===
 
Jennifer, die als Freundin von [[Korinna]] und [[Coldmirror|Kathrin]] 2000 in die Redaktion kam, war ebenfalls vor allem für Schauspiel und vereinzelte Moderationen zuständig, engagierte sich zum Ende der Sendung hin aber auch stärker, so dass sie einige wichtige Interviews führen konnte. Ihr erster Auftritt war im Oktober 2000 im Sketch "Alte-Oma-Helf-Män", sie war aber im Juni 1999 schon mal als interviewte Person in einem Bericht aufgetaucht.
 
 
 
===Weitere Redaktionsmitglieder===
 
Weitere Redaktionsmitglieder, die aber Großteils nur für wenige Sendungen dabei waren, waren z.B. '''[[Miriam]]''', '''[[Kai]]''', '''[[Xenia]]''', '''Svenja''' und einige mehr.
 
 
 
===Besetzungshistorie===
 
Auf der folgenden Grafik kann man erkennen, wer von 1999 bis 2004 bei MixX aktiv dabei gewesen ist:
 
 
 
[[Bild:MixxTV_-_Redaktionsbesetzung.JPG|thumb|center|left|825px]]
 
 
 
==MixXclassixX==
 
Nach dem Ende der Sendung versprengten sich die Redaktionsmitglieder über Deutschland und gingen anderen Pflichten nach. Als Coldmirrors Bekanntheitsgrad stieg und insbesondere da sie einzelne MixX-Beiträge bereits hochgeladen hatte und die teilweise sehr gut ankamen (z.B: die [[Normi Potter]]-Reihe, [[Prinzessin Tausendschön]] oder [[World Gone Wild]]), beschloss man jedoch, die alten Beiträge der Sendung auf einem eigenen [[YouTube]]-Kanal namens '''MixXclassixX''' einer breiteren Öffentlichkeit wieder zugänglich zu machen. Von 2007 bis 2009 stellte Coldmirror, die als einziges ehemaliges Redaktionsmitglied die nötige Technik besitzt, in teilweise sehr großen Abständen Berichte und Sketche von MixX ein. Seit dem Jahr 2009 stellt KWiNK, der nun ebenfalls über geeignetes Equipment verfügt und damit sogar bessere Qualität erreicht, jeden Freitag "was neues aus den Jahren 1999 bis 2004" online. Jedes frühere Redaktionsmitglied hat den Zugang zum Account und beantwortet gelegentlich Fragen der Nutzer.
 
 
 
Als Coldmirrors Kanal bei YouTube kurzfristig gesperrt wurde und Kathrin einen neuen Kanal einrichtete, lud sie alle alten "MixX"-Videos, die bislang nur in ihrem Account zu sehen waren, bei ''MixXclassixX'' wieder hoch. Nun sind alle Videos von MixX, die man im Netz findet, bei ''MixXclassixX'' gesammelt.
 
 
 
Am 10. September jeden Jahres färbt das Kanaldesign sich für einen Tag schwarz, um an den Todestag von [[Clofix]] zu erinnern.
 
 
 
==Weblinks==
 
*[http://home.arcor.de/kwink MixX-Homepage]
 
*[http://www.youtube.com/MixXclassixX YouTube-Kanal MixXclassixX]
 
*[http://mixx.forumieren.de inoffizielles und unautorisiertes MixX-ForuM von unbekannt]
 
*[http://www.bfbu.de Homepage des Bürgerfunks Bremer Umland]
 
*[http://home.arcor.de/kwink/galerie/pub1_frame.htm]
 
 
 
[[Kategorie:Shows]]
 
[[Kategorie:Andere Werke]]
 
[[Kategorie:MixX]]
 

Version vom 20. Dezember 2010, 17:48 Uhr

WixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixXWixX