It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://anorexiaporn.com/cgi-bin/atc/out.cgi?u=http%3A//doska.info/blog/razmeshhenije-ssylok-na-sajt-s-analizatorov-whois-i-t-d-48.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Best Crypto Bookmakers for 2024</title>
  6. <meta name="description" content="Bookmakers.name - bringing you the best betting sites and bonus offers from crypto bookmakers">
  7. <script type="application/ld+json">
  8. {
  9.  "@context": "https://schema.org/",
  10.  "@type": "NewsArticle",
  11.  "mainEntityOfPage": {
  12.    "@type": "WebPage",
  13.    "@id": "https://bookmakers.name"
  14.  },
  15.  "headline": "Best Crypto Bookmakers",
  16.  "description": "Bookmakers.name - bringing you the best betting sites and bonus offers from crypto bookmakers",
  17.  "image": {
  18.    "@type": "ImageObject",
  19.    "url": "https://bookmakers.name/images/best-online-bookmakers.png",
  20.    "width": "300",
  21.    "height": "186"
  22.  },
  23.  "author": {
  24.    "@type": "Organization",
  25.    "name": "Bookmakers"
  26.  },
  27.  "publisher": {
  28.    "@type": "Organization",
  29.    "name": "",
  30.    "logo": {
  31.      "@type": "ImageObject",
  32.      "url": "https://bookmakers.name/images/best-online-bookmakers.png",
  33.      "width": "300",
  34.      "height": "186"
  35.    }
  36.  },
  37.  "datePublished": "2023-10-18"
  38. }
  39. </script>
  40. <meta name="Robots" content="index, follow">
  41. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  42. <link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-icon-57x57.png">
  43. <link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-icon-60x60.png">
  44. <link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-icon-72x72.png">
  45. <link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-icon-76x76.png">
  46. <link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-icon-114x114.png">
  47. <link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-icon-120x120.png">
  48. <link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-icon-144x144.png">
  49. <link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-icon-152x152.png">
  50. <link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-icon-180x180.png">
  51. <link rel="icon" type="image/png" sizes="192x192"  href="favicon/android-icon-192x192.png">
  52. <link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
  53. <link rel="icon" type="image/png" sizes="96x96" href="favicon/favicon-96x96.png">
  54. <link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
  55. <link rel="manifest" href="favicon/manifest.json">
  56. <meta name="msapplication-TileColor" content="#ffffff">
  57. <meta name="msapplication-TileImage" content="favicon/ms-icon-144x144.png">
  58. <meta name="theme-color" content="#1A2C38">
  59. <meta property="og:title" content="Best Crypto Bookmakers">
  60. <meta property="og:site_name" content="Bookmakers">
  61. <meta property="og:url" content="https://bookmakers.name">
  62. <meta property="og:description" content="Bookmakers.name - bringing you the best betting sites and bonus offers from crypto bookmakers">
  63. <meta property="og:type" content="website">
  64. <meta property="og:image" content="https://bookmakers.name/images/best-online-bookmakers.png">
  65. <meta name="twitter:card" content="summary">
  66. <meta name="twitter:site" content="@FootyValueBets">
  67. <meta name="twitter:description" content="Bookmakers.name - bringing you the best betting sites and bonus offers from crypto bookmakers">
  68. <meta name="twitter:title" content="Best Crypto Bookmakers">
  69. <meta name="twitter:image" content="https://bookmakers.name/images/best-online-bookmakers.png">
  70. <link rel="canonical" href="https://bookmakers.name">
  71. <link href="https://bookmakers.name/css/new.css" rel="stylesheet" type="text/css">
  72. <base target="_blank">
  73. </head>
  74. <body>
  75. <div class="sticky">
  76. <table id="mytable1">
  77. <tr>
  78. <td>
  79. <img width=200 height=200 class=topbet src=https://bookmakers.name/images/bet.png alt="Bookmakers"><div class="dropdown" style="display: inline-block;"><button class="dropbtn" aria-label="Bookmakers"><span class=archive>Bookmakers&#9660;</span></button>
  80. <div class="dropdown-content">
  81. <br>
  82. <a href="https://bookmakers.name/vave-review/" target=_self>Vave Review</a>
  83. <a href="https://bookmakers.name/1xbit-review/" target=_self>1xBit Review</a>
  84. <a href="https://bookmakers.name/stake-review/" target=_self>Stake Review</a>
  85. <a href="https://bookmakers.name/wolfbet-review/" target=_self>Wolf.bet Review</a>
  86. <a href="https://bookmakers.name/megapari-review/" target=_self>Megapari Review</a>
  87. <a href="https://bookmakers.name/mystake-review/" target=_self>Mystake Review</a>
  88. <a href="https://bookmakers.name/cloudbet-review/" target=_self>Cloudbet Review</a>
  89. <a href="https://bookmakers.name/bc-game-review/" target=_self>BC Game Review</a>
  90. <a href="https://bookmakers.name/betroom-review/" target=_self>Betroom Review</a>
  91. <a href="https://bookmakers.name/bitsler-review/" target=_self>Bitsler Review</a>
  92. <a href="https://bookmakers.name/sportsbet-review/" target=_self>Sportsbet Review</a>
  93. <a href="https://bookmakers.name/thunderpick-review/" target=_self>Thunderpick Review</a>
  94. </div></div>
  95. <img width=200 height=200 class=topbet src=https://bookmakers.name/images/brokers.png alt="Bet Brokers"><div class="dropdown" style="display: inline-block;"><button class="dropbtn" aria-label="Bet Brokers"><span class=archive>Bet Brokers&#9660;</span></button>
  96. <div class="dropdown-content">
  97. <br>
  98. <a href="https://bookmakers.name/sportmarket-review/" target=_self>Sportmarket Review</a>
  99. <a href="https://bookmakers.name/asianconnect-review/" target=_self>Asianconnect Review</a>
  100. </div></div>
  101. <img width=200 height=200 class=topbet src=https://bookmakers.name/images/world.png alt="Bookmakers by country"><div class="dropdown" style="display: inline-block;"><button class="dropbtn" aria-label="Bookmakers by country"><span class=archive>Country&#9660;</span></button>
  102. <div class="dropdown-content">
  103. <br>
  104. <a href="https://bookmakers.name/crypto-bookmakers-usa/" target=_self>USA  Crypto Betting Sites</a>
  105. <a href="https://bookmakers.name/crypto-bookmakers-uk/" target=_self>UK Crypto Betting Sites</a>
  106. <a href="https://bookmakers.name/crypto-bookmakers-argentina/" target=_self>Argentina Crypto Betting Sites</a>
  107. <a href="https://bookmakers.name/crypto-bookmakers-australia/" target=_self>Australia Crypto Betting Sites</a>
  108. <a href="https://bookmakers.name/crypto-bookmakers-canada/" target=_self>Canada Crypto Betting Sites</a>
  109. <a href="https://bookmakers.name/crypto-bookmakers-france/" target=_self>France Crypto Betting Sites</a>
  110. <a href="https://bookmakers.name/crypto-bookmakers-germany/" target=_self>Germany Crypto Betting Sites</a>
  111. <a href="https://bookmakers.name/crypto-bookmakers-netherlands/" target=_self>Netherlands Crypto Betting Sites</a>
  112. <a href="https://bookmakers.name/crypto-bookmakers-india/" target=_self>India Crypto Betting Sites</a>
  113. <a href="https://bookmakers.name/crypto-bookmakers-indonesia/" target=_self>Indonesia Crypto Betting Sites</a>
  114. <a href="https://bookmakers.name/crypto-bookmakers-italy/" target=_self>Italy Crypto Betting Sites</a>
  115. <a href="https://bookmakers.name/crypto-bookmakers-japan/" target=_self>Japan Crypto Betting Sites</a>
  116. <a href="https://bookmakers.name/crypto-bookmakers-nigeria/" target=_self>Nigeria Crypto Betting Sites</a>
  117. <a href="https://bookmakers.name/crypto-bookmakers-philippines/" target=_self>Philippines Crypto Betting Sites</a>
  118. <a href="https://bookmakers.name/crypto-bookmakers-spain/" target=_self>Spain Crypto Betting Sites</a>
  119. </div></div>
  120. <img width=200 height=200 class=topbet src=https://bookmakers.name/images/picks.png alt="Picks"><div class="dropdown" style="display: inline-block;"><button class="dropbtn" aria-label="Picks"><span class=archive>Picks&#9660;</span></button>
  121. <div class="dropdown-content">
  122. <br>
  123. <a href="https://footballvaluetips.com/">Free Picks</a>
  124. <a href="https://paidtipster.com/">Paid Picks</a>
  125. </div></div>
  126. <img width=200 height=200 class=topbet src=https://bookmakers.name/images/casino.png alt="Casinos"><div class="dropdown" style="display: inline-block;"><button class="dropbtn" aria-label="Casinos"><span class=archive>Casinos&#9660;</span></button>
  127. <div class="dropdown-content">
  128. <br>
  129. <a href="https://bookmakers.name/Casino_Red" title="Intertops Casino Red: Get Your 100% Matching Casino Bonus" target="_blank">Casino Red</a>
  130. <a href="https://bookmakers.name/Casino_Classic" title="Everygame Casino Classic. Trust the First - online since 1996!" target="_blank">Casino Classic</a>
  131. <a href="https://bookmakers.name/Spin_Rio" title="WELCOME PACKAGE 100 SPINS + 100% UP TO $200 BONUS" target="_blank">Spin Rio</a>
  132. <a href="https://bookmakers.name/MrCasino" title="Welcome Bonus 100 Spins + Up To £200" target="_blank">Mr.Play</a>
  133. <a href="https://bookmakers.name/Plaza_Royal" title="Live Casino – Place Your Bets Against the Dealers" target="_blank">Plaza Royal</a>
  134. <a href="https://bookmakers.name/Queen_Play" title="WELCOME PACKAGE 100 SPINS + UP TO £200 BONUS" target="_blank">Queen Play</a>
  135. <a href="https://bookmakers.name/Regent_Play" title="Claim your Welcome package of 100 Spins + up to £200!" target="_blank">Regent Play</a>
  136. <a href="https://bookmakers.name/Wild_Casino" title="250% Welcome Bonus">Wild Casino</a>
  137. <a href="https://bookmakers.name/Miami_Club" title="Miami Club">Miami Club Casino</a>
  138. <a href="https://link.totalaffiliates.com/c/497309" rel="nofollow" title="Uptown Aces">Uptown Aces Casino</a>
  139. <a href="https://link.totalaffiliates.com/c/497323" rel="nofollow" title="Fair Go Casino">Fair Go Casino</a>
  140. </div></div>
  141. <span class=archive_m>Bookmakers.name</span>
  142. </td>
  143. <td>
  144. <div class="dropdown" style="float:right;"> <div class="dropbtn">
  145. <div class="menu"></div>
  146. <div class="menu"></div>
  147. <div class="menu"></div>
  148. <div class="dropdown-content" style="right:0">
  149. <a href="https://bookmakers.name/vave-review/" target=_self>&#128466;&#65039; Vave Review</a>
  150. <a href="https://bookmakers.name/1xbit-review/" target=_self>&#128466;&#65039; 1xBit Review</a>
  151. <a href="https://bookmakers.name/stake-review/" target=_self>&#128466;&#65039; Stake Review</a>
  152. <a href="https://bookmakers.name/wolfbet-review/" target=_self>&#128466;&#65039; Wolf.bet Review</a>
  153. <a href="https://bookmakers.name/megapari-review/" target=_self>&#128466;&#65039; Megapari Review</a>
  154. <a href="https://bookmakers.name/mystake-review/" target=_self>&#128466;&#65039; Mystake Review</a>
  155. <a href="https://bookmakers.name/cloudbet-review/" target=_self>&#128466;&#65039; Cloudbet Review</a>
  156. <a href="https://bookmakers.name/bc-game-review/" target=_self>&#128466;&#65039; BC Game Review</a>
  157. <a href="https://bookmakers.name/betroom-review/" target=_self>&#128466;&#65039; Betroom Review</a>
  158. <a href="https://bookmakers.name/bitsler-review/" target=_self>&#128466;&#65039; Bitsler Review</a>
  159. <a href="https://bookmakers.name/sportsbet-review/" target=_self>&#128466;&#65039; Sportsbet Review</a>
  160. <a href="https://bookmakers.name/asianconnect-review/" target=_self>&#128466;&#65039; Asianconnect Review</a>
  161. <a href="https://bookmakers.name/sportmarket-review/" target=_self>&#128466;&#65039; Sportmarket Review</a>
  162. <a href="https://bookmakers.name/thunderpick-review/" target=_self>&#128466;&#65039; Thunderpick Review</a>
  163. </div>
  164. </div>
  165. </div>
  166. </td></tr>
  167. </table>
  168. </div>
  169. <a href="https://bookmakers.name" target=_self><picture><source type="image/webp" srcset="https://bookmakers.name/images/best-crypto-bookmakers.webp"><source type="image/png" srcset="https://bookmakers.name/images/best-crypto-bookmakers.png"><img width=300 height=186 class=logo src=https://bookmakers.name/images/best-crypto-bookmakers.png alt="Best Crypto Bookmakers" title="Best Crypto Bookmakers"></picture></a>
  170.  
  171. <h1>Best Crypto Bookmakers For 2024</h1>
  172. <div class=mid_3>
  173. &#11834; The best crypto-accepting betting sites in the market today are listed below:<br>
  174. <a href="https://bookmakers.name/vave" target=_blank><img width=1315 height=610 class=sky src=https://bookmakers.name/vave-review/images/vave-sportsbook-review.webp alt="Vave sportsbook review" title="Vave sportsbook review"></a>
  175. </div>
  176. <div class=mid_2>
  177. <h2 class=hide>TOP <span class=green>15 Bitcoin</span> Sportsbooks Online</h2>
  178. </div>
  179. <div class=newz>
  180. <div class="rpt_plans rpt_2_plans rpt_style_basic">
  181. <div class="rpt_plan rpt_plan_0">
  182. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><img width=300 height=300 class=crown src=https://bookmakers.name/images/crown.png alt="Mystake"><br><span class=bookname>Mystake</span><br><span class=stars>
  183. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  184. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  185. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  186. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin_cash.png alt="Bitcoin Cash" title="Bitcoin Cash">
  187. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  188. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  189. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  190. </span></div></div>
  191. <div class="rpt_features rpt_features_0">
  192. <div class="rpt_featurezz rpt_feature_0-0">
  193. <img width=192 height=192 class=turboz src=https://bookmakers.name/logos/mystake_big.png alt="100% up to $500 Bonus"></div>
  194. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  195. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to $500</span>
  196. </div>
  197. </div>
  198. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/mystake" style="color:#fff;">Play Now</a></div>
  199. <abbr title="New players only. Welcome Bonus -
  200. 100% bonus on your first deposit up to
  201. €/$/£500 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  202. <a href="https://bookmakers.name/mystake-review/"><span class=read><u>Read Review</u></span></a>
  203. </div>
  204. </div>
  205. <div class="rpt_plan rpt_plan_0">
  206. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><img width=300 height=300 class=crown src=https://bookmakers.name/images/crown.png alt="Stake"><br><span class=bookname>Stake</span><br><span class=stars>
  207. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  208. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  209. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  210. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  211. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  212. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  213. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  214. </span></div></div>
  215. <div class="rpt_features rpt_features_0">
  216. <div class="rpt_featurezz rpt_feature_0-0">
  217. <img width=200 height=200 class=turboz src=https://bookmakers.name/logos/stake_big.png alt="200% up to $1000 Bonus"></div>
  218. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  219. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to $1000</span></div>
  220. </div>
  221. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/stake" style="color:#fff;">Play Now</a></div>
  222. <abbr title="New players only. Welcome Bonus -
  223. 200% bonus on your first deposit up to
  224. $1,000 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  225. <a href="https://bookmakers.name/stake-review/"><span class=read><u>Read Review</u></span></a>
  226. </div>
  227. </div>
  228. <div class="rpt_plan rpt_plan_0">
  229. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><img width=300 height=300 class=crown src=https://bookmakers.name/images/crown.png alt="BC.Game"><br><span class=bookname>BC.Game</span><br><span class=stars>
  230. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  231. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  232. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  233. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  234. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  235. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  236. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  237. </span></div></div>
  238. <div class="rpt_features rpt_features_0">
  239. <div class="rpt_featurezz rpt_feature_0-0">
  240. <img width=400 height=400 class=turbozy src=https://bookmakers.name/logos/bcgamebookie.webp alt="180% up to $720 Bonus"></div>
  241. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  242. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to $720</span></div>
  243. </div>
  244. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/bcgame" style="color:#fff;">Play Now</a></div>
  245. <abbr title="New players only. Welcome Bonus -
  246. 180% bonus on your first deposit up to
  247. $720 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  248. <a href="https://bookmakers.name/bc-game-review/"><span class=read><u>Read Review</u></span></a>
  249. </div>
  250. </div>
  251. <div class="rpt_plan rpt_plan_0">
  252. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><img width=300 height=300 class=crown src=https://bookmakers.name/images/crown.png alt="Cloudbet"><br><span class=bookname>Cloudbet</span><br><span class=stars>
  253. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  254. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin_cash.png alt="Bitcoin Cash" title="Bitcoin Cash">
  255. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  256. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  257. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  258. </span></div></div>
  259. <div class="rpt_features rpt_features_0">
  260. <div class="rpt_featurezz rpt_feature_0-0">
  261. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/cloudbet.png alt="100% up to 5 BTC Bonus"></div>
  262. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  263. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to 5 BTC</span></div>
  264. </div>
  265. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/cloudbet" style="color:#fff;">Play Now</a></div>
  266. <abbr title="New players only. Welcome Bonus -
  267. 100% bonus on your first deposit up to
  268. 5 BTC - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  269. <a href="https://bookmakers.name/cloudbet-review/"><span class=read><u>Read Review</u></span></a>
  270. </div>
  271. </div>
  272. <div class="rpt_plan rpt_plan_0">
  273. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><img width=300 height=300 class=crown src=https://bookmakers.name/images/crown.png alt="Sportsbet"><br><span class=bookname>Sportsbet</span><br><span class=stars>
  274. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  275. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  276. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  277. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  278. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  279. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  280. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  281. </span></div></div>
  282. <div class="rpt_features rpt_features_0">
  283. <div class="rpt_featurezz rpt_feature_0-0">
  284. <img width=544 height=544 class=turbozy src=https://bookmakers.name/logos/sportsbet.png alt="Get a $50 Free Bet"></div>
  285. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  286. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>$50 Free Bet</span></div>
  287. </div>
  288. <div class=box><div class="container"><a class="btn btn-anim" href="http://aff.partners.io/visit/?bta=41391&nci=5958" rel="nofollow" style="color:#fff;">Play Now</a></div>
  289. <abbr title="Win a $50 Free Bet Every Week
  290. - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  291. <a href="https://bookmakers.name/sportsbet-review/"><span class=read><u>Read Review</u></span></a>
  292. </div>
  293. </div>
  294. <div class="rpt_plan rpt_plan_0">
  295. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Thunderpick</span><br><span class=stars>
  296. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  297. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  298. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  299. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  300. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  301. </span></div></div>
  302. <div class="rpt_features rpt_features_0">
  303. <div class="rpt_featurezz rpt_feature_0-0">
  304. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/thunderpick.png alt="100% up to €500 Bonus"></div>
  305. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  306. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to €500</span></div>
  307. </div>
  308. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/thunderpick" style="color:#fff;">Play Now</a></div>
  309. <abbr title="New players only. Welcome Bonus -
  310. 100% bonus on your first deposit up to
  311. €500 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  312. <a href="https://bookmakers.name/thunderpick-review/"><span class=read><u>Read Review</u></span></a>
  313. </div>
  314. </div>
  315. <div class="rpt_plan rpt_plan_0">
  316. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Betroom</span><br><span class=stars>
  317. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  318. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  319. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  320. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  321. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  322. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  323. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  324. </span></div></div>
  325. <div class="rpt_features rpt_features_0">
  326. <div class="rpt_featurezz rpt_feature_0-0">
  327. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/betroom.png alt="100% up to €250 Bonus"></div>
  328. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  329. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to €250</span></div>
  330. </div>
  331. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/betroom" style="color:#fff;">Play Now</a></div>
  332. <abbr title="New players only. Welcome Bonus -
  333. 100% bonus on your first deposit up to
  334. €250 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  335. <a href="https://bookmakers.name/betroom-review/"><span class=read><u>Read Review</u></span></a>
  336. </div>
  337. </div>
  338. <div class="rpt_plan rpt_plan_0">
  339. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>1xBit</span><br><span class=stars>
  340. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  341. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  342. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  343. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  344. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin_cash.webp alt="Bitcoin Cash" title="Bitcoin Cash">
  345. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  346. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  347. </span></div></div>
  348. <div class="rpt_features rpt_features_0">
  349. <div class="rpt_featurezz rpt_feature_0-0">
  350. <img width=200 height=200 class=turbozy src=https://bookmakers.name/logos/1xbit_big.webp alt="100% up to 7 BTC Bonus"></div>
  351. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  352. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to 7 BTC</span></div>
  353. </div>
  354. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/1xbit" style="color:#fff;">Play Now</a></div>
  355. <abbr title="New players only. Welcome Bonus -
  356. 100% bonus on your first deposit up to
  357. 7 BTC - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  358. <a href="https://bookmakers.name/1xbit-review/"><span class=read><u>Read Review</u></span></a>
  359. </div>
  360. </div>
  361. <div class="rpt_plan rpt_plan_0">
  362. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Vave</span><br><span class=stars>
  363. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  364. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin_cash.webp alt="Bitcoin Cash" title="Bitcoin Cash">
  365. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  366. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  367. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  368. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  369. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  370. </span></div></div>
  371. <div class="rpt_features rpt_features_0">
  372. <div class="rpt_featurezz rpt_feature_0-0">
  373. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/vave_big.png alt="100% up to 1 BTC Bonus"></div>
  374. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  375. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to 1 BTC</span></div>
  376. </div>
  377. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/vave" style="color:#fff;">Play Now</a></div>
  378. <abbr title="New players only. Welcome Bonus -
  379. 100% bonus on your first deposit up to
  380. 1 BTC - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  381. <a href="https://bookmakers.name/vave-review/"><span class=read><u>Read Review</u></span></a>
  382. </div>
  383. </div>
  384. <div class="rpt_plan rpt_plan_0">
  385. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Bitsler</span><br><span class=stars>
  386. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  387. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  388. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  389. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  390. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  391. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  392. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  393. </span></div></div>
  394. <div class="rpt_features rpt_features_0">
  395. <div class="rpt_featurezz rpt_feature_0-0">
  396. <img width=250 height=250 class=turbozy src=https://bookmakers.name/logos/bitsler.webp alt="100% up to $700 Bonus"></div>
  397. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  398. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to $700</span></div>
  399. </div>
  400. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/bitsler" style="color:#fff;">Play Now</a></div>
  401. <abbr title="New players only. Welcome Bonus -
  402. 100% bonus on your first deposit up to
  403. $700 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  404. <a href="https://bookmakers.name/bitsler-review/"><span class=read><u>Read Review</u></span></a>
  405. </div>
  406. </div>
  407. <div class="rpt_plan rpt_plan_0">
  408. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Asianconnect</span><br><span class=stars>
  409. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  410. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  411. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  412. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  413. </span></div></div>
  414. <div class="rpt_features rpt_features_0">
  415. <div class="rpt_featurezz rpt_feature_0-0">
  416. <img width=320 height=320 class=turbozy src=https://bookmakers.name/logos/ac.webp alt="25% up to €500 Bonus"></div>
  417. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  418. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to €500</span></div>
  419. </div>
  420. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/asianconnect" style="color:#fff;">Claim &rang;</a></div>
  421. <abbr title="New players only. Welcome Bonus -
  422. 25% bonus on your first deposit up to
  423. €500 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  424. <a href="https://bookmakers.name/asianconnect-review/"><span class=read><u>Read Review</u></span></a>
  425. </div>
  426. </div>
  427. <div class="rpt_plan rpt_plan_0">
  428. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Sportmarket</span><br><span class=stars>
  429. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  430. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  431. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  432. </span></div></div>
  433. <div class="rpt_features rpt_features_0">
  434. <div class="rpt_featurezz rpt_feature_0-0">
  435. <img width=250 height=250 class=turbozy src=https://bookmakers.name/logos/sm.webp alt="50% up to €100 Bonus"></div>
  436. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  437. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to €100</span></div>
  438. </div>
  439. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/sportmarket" style="color:#fff;">Claim &rang;</a></div>
  440. <abbr title="New players only. Welcome Bonus -
  441. 50% bonus on your first deposit up to
  442. €100 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  443. <a href="https://bookmakers.name/sportmarket-review/"><span class=read><u>Read Review</u></span></a>
  444. </div>
  445. </div>
  446. <div class="rpt_plan rpt_plan_0">
  447. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Wolf.Bet</span><br><span class=stars>
  448. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  449. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin_cash.png alt="Bitcoin Cash" title="Bitcoin Cash">
  450. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  451. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  452. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  453. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  454. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  455. </span></div></div>
  456. <div class="rpt_features rpt_features_0">
  457. <div class="rpt_featurezz rpt_feature_0-0">
  458. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/wolfbet.png alt="Up to 15% Rakeback"></div>
  459. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Rakeback</span></div>
  460. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to 15%</span>
  461. </div>
  462. </div>
  463. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/wolfbet" style="color:#fff;">Claim &rang;</a></div>
  464. <abbr title="New players only. Up to 15% Rakeback
  465. - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  466. <a href="https://bookmakers.name/wolfbet-review/"><span class=read><u>Read Review</u></span></a>
  467. <br class=mobi>
  468. </div>
  469. </div>
  470. <div class="rpt_plan rpt_plan_0">
  471. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Megapari</span><br><span class=stars>
  472. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  473. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  474. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  475. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/xrp.webp alt="XRP" title="Ripple">
  476. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  477. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  478. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  479. </span></div></div>
  480. <div class="rpt_features rpt_features_0">
  481. <div class="rpt_featurezz rpt_feature_0-0">
  482. <img width=192 height=192 class=turbozy src=https://bookmakers.name/logos/megapari_big.png alt="100% up to €100 Bonus"></div>
  483. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  484. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to €100</span></div>
  485. </div>
  486. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/megapari" style="color:#fff;">Claim &rang;</a></div>
  487. <abbr title="New players only. Welcome Bonus -
  488. 100% bonus on your first deposit up to
  489. €100 - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  490. <a href="https://bookmakers.name/megapari-review/"><span class=read><u>Read Review</u></span></a>
  491. </div>
  492. </div>
  493. <div class="rpt_plan rpt_plan_0">
  494. <div class="rpt_head rpt_head_0"><div class="rpt_price_3 rpt_price_0"><br><span class=bookname>Fortunejack</span><br><span class=stars>
  495. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/bitcoin.png alt="Bitcoin" title="Bitcoin">
  496. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/ethereum.png alt="Ethereum" title="Ethereum">
  497. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/litecoin.png alt="Litecoin" title="Litecoin">
  498. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/usdc.png alt="USDC" title="USDC">
  499. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tether.png alt="Tether" title="Tether">
  500. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/dogecoin.webp alt="Dogecoin" title="Dogecoin">
  501. <img width="200" height="200" class=cryptoz src=https://bookmakers.name/images/tron.png alt="Tron" title="Tron">
  502. </span></div></div>
  503. <div class="rpt_features rpt_features_0">
  504. <div class="rpt_featurezz rpt_feature_0-0">
  505. <img width=250 height=250 class=turbozy src=https://bookmakers.name/logos/fortunejack.png alt="100% up to 1.5 BTC Bonus"></div>
  506. <div class="rpt_featurezz rpt_feature_0-0"><span class=promocode>Welcome Bonus</span></div>
  507. <div class="rpt_featurezz rpt_feature_0-0"><span class=code>Up to 1.5 BTC</span></div>
  508. </div>
  509. <div class=box><div class="container"><a class="btn btn-anim" href="https://bookmakers.name/fortunejack" style="color:#fff;">Claim &rang;</a></div>
  510. <abbr title="New players only. Welcome Bonus -
  511. 100% bonus on your first deposit up to
  512. 1.5 BTC - Unless otherwise stated."><span class=terms>T&Cs Apply. 18+</span></abbr>
  513. <span class=read><u>Read Review</u></span>
  514. </div>
  515. </div>
  516. </div>
  517. </div>
  518. <div class=mid_2>
  519. <img width="360" height="632" class=albertmain src="https://bookmakers.name/images/albert.png" alt="Best Crypto Bookmakers">
  520. <h2 class=white>How Should You Choose A Crypto Betting Site?</h2>
  521. The world of sports betting is seeing a boom in crypto betting sites, which offer a new way to wager on your favorite games.
  522. Choosing the best one for you can be challenging, however.
  523. A high rating and good reviews of a particular site do not guarantee that it will be the best choice for you. If you are looking for a convenient and secure crypto betting platform, there are several factors to consider.
  524. The following are some straightforward things to keep in mind:
  525. <h2 class=white>Jurisdiction</h2>
  526. The most important factor when looking for a <strong>cryptocurrency bookmaker</strong> is whether you can place bets from your country of residence.
  527. For example, if you live in the USA, then the <a href="https://bookmakers.name/betonline"><u>BetOnline website</u></a> is best for you, since it is one of the few resources that accept bets from citizens of this state.
  528. However, other sites may be more convenient for UK and EU residents.
  529. <h2 class=white>Reputation</h2>
  530. Once you have found a site that operates in your region, you should research the site's reputation and license. For example, <a href="https://bookmakers.name/cloudbet"><u>Cloudbet</u></a> and <a href="https://bookmakers.name/stake"><u>Stake</u></a> operate under a license from Curacao, a jurisdiction known for its friendly attitude towards gambling.
  531. <p>
  532. When studying the bookmaker's reputation, pay attention to how it resolves disputes with the player, and also study reviews about the site on various thematic forums.
  533. In addition, it is worth paying attention to how long the resource you have chosen has been operating.
  534. Of course, we've already checked the reputation of all the sites above, so you don't have to do it yourself.
  535. <h2 class=white>Selecting lines and events for betting</h2>
  536. While most <strong>cryptocurrency bookmakers</strong> don't differ much in terms of available betting lines and events, some of them offer betting on exclusive sports that competitors don't offer. In this regard, sites such as <a href="https://bookmakers.name/stake"><u>Stake</u></a> and <a href="https://bookmakers.name/1xbit"><u>1xBit</u></a> clearly stand out, which offer a huge number of markets for almost any event.
  537. <h2 class=white>Odds</h2>
  538. The income of any bookmaker is generated from the margin - a fixed percentage charged by the site from user bets. Based on this indicator, companies are divided into three groups:
  539. <ul>
  540. <li><b>Fundamental.</b> The commission amount is more than 5%.</li>
  541. <li><b>Average margin.</b> Charged from 3% to 5%.</li>
  542. <li><b>Low margin.</b> The commission is less than 3%.</li>
  543. </ul>
  544. Both for bettors who play in dollars or euros, and for fans of cryptocurrency, low margins and, accordingly, good odds are important. The lower the percentage, the more profitable the odds for users. Information about margin can be found in the reviews and rules of bookmakers with cryptocurrency.
  545. <h2 class=white>Payment Methods</h2>
  546. <img width="352" height="544" class=albert_2 src="https://bookmakers.name/images/albert_2.webp" alt="Payment Methods">
  547. The majority of crypto bookmakers accept a variety of payment methods.
  548. As a result, you can choose whether to use digital assets or fiat currencies.
  549. Most top-rated Bitcoin bookmakers accept BTC, Ethereum (ETH), and Litecoin (LTC).
  550. A few others allow you to play with Dogecoin (DOGE), Dash, Bitcoin Cash (BCH), and Monero (XMR).
  551. Certain gambling sites may accept fiat as a payment method for some reason.
  552. <p>
  553. In addition to using a debit/credit card or a bank transfer, you might be able to use an electronic wallet (eWallet) such as PayPal, Neteller, or Skrill.
  554. There are a few crypto bookmakers that accept prepaid cards, such as Paysafecard.
  555. These cards allow you to gamble online without a bank account or credit card.
  556. This is, however, a highly inconvenient method of funding your Bitcoin bookmaker account.
  557. <h2 class=white>Bonuses &amp; Promotions</h2>
  558. In order to attract and keep customers, many Bitcoin bookies offer bonuses and promotions.
  559. There are a variety of bonuses to choose from:
  560. <ul>
  561. <li><b>Welcome bonuses:</b>
  562. When new users make their first payment, cryptocurrency bookmakers often offer a welcome bonus.
  563. A free bet, free spins on gambling games, or a matched deposit could be offered.
  564. </li>
  565. <li><b>Reload bonuses:</b>
  566. Several crypto bookmakers reward regular customers with reload bonuses when they deposit.
  567. There are usually wagering requirements attached to them, just like welcome bonuses.
  568. </li>
  569. <li><b>Special event promotions:</b>
  570. During major sporting events such as the World Cup or the Grand Slam tournaments, some crypto bookmakers offer special deals.
  571. There may be enhanced odds on specific markets or novelty wagers available.
  572. </li>
  573. </ul>
  574. <h2 class=white>Anonymity</h2>
  575. One of the main advantages of <strong>using cryptocurrency for sports betting</strong> is the ability to hide your personal data and financial information.
  576. Thanks to the payment methods and personal data requested during registration, anonymous betting websites allow you to bet privately.
  577. When registering on these sites, you don't have to provide many, if any, personal information.
  578. If this factor is crucial for you, it is worth taking a closer look at platforms such as <a href="https://bookmakers.name/stake"><u>Stake,</u></a><a href="https://bookmakers.name/1xbit"><u>1xBit</u></a> and <a href="https://bookmakers.name/nitro"><u>Nitrobetting.</u></a>
  579. <img width="545" height="956" class=albert_3 src="https://bookmakers.name/images/albert_3.webp" alt="Cryptocurrencies and bookmakers">
  580. <h2 class=white>Cryptocurrencies &amp; bookmakers, two types of companies</h2>
  581. There has been a massive growth in the use of bitcoins as an electronic currency.
  582. They offer anonymity, low commissions, and secure transactions to their users.
  583. Clients of cryptocurrency-supporting bookmakers enjoy the same benefits.
  584. They are divided into two types, and this is very important:
  585. <ol>
  586. <li> Bookmakers with deposits and withdrawals in cryptocurrency are not much different from regular bookmakers.
  587. Their developers periodically add new methods for depositing and withdrawing funds.
  588. At the same time, the service remains centralized and all the problems of platforms similar to it remain.</li>
  589. <li> <strong>Bookmakers on the blockchain</strong> - the project is created on the blockchain or through a popular platform, which guarantees the integrity of transactions.
  590. A decentralized system increases security. No one manages the clients’ funds, and they receive winnings through smart contracts that guarantee their receipt.
  591. The second option is preferable. Blockchain technology helps you avoid false accusations from the administration and long demands for winnings on your balance sheet.</li>
  592. </ol>
  593. <h2 class=white>Where to buy cryptocurrency for betting?</h2>
  594. There are several ways to buy cryptocurrency:
  595. <ol>
  596. <li><b>Crypto exchanges.</b> Exchanges are the most reliable and secure platforms. However, they come with high fees and almost always require account verification to use. You can choose a suitable crypto exchange on the Coinmarketcap website.</li>
  597. <li><b>Exchangers.</b> These resources have an optimal combination of transaction speed and anonymity - many of them do not require verification. However, almost all exchangers include the cost of their services in the exchange rate, so it may be higher than on the exchange.</li>
  598. <li><b>Private traders.</b> The main advantage of buying through private sellers is the ability to make transactions for small amounts. In addition, in some cases, these sellers may offer better rates than exchanges and exchangers.</li>
  599. </ol>
  600. You should not store purchased coins in the accounts of exchanges and exchangers - it is better to withdraw them to your wallet immediately after purchase. For popular cryptocurrencies such as Bitcoin, there are a huge number of different wallets, including dedicated hardware devices.
  601. <h2 class=white>How to top up your bookmaker account using crypto</h2>
  602. The algorithm is not much different from standard types of replenishment. The following steps must be taken:
  603. <ol>
  604. <li>Register (and, if necessary, identify) in the desired bookmaker.</li>
  605. <li>Log into your personal account on the website or through the application.</li>
  606. <li>Find an item in the menu with a replenishment (deposit). From the available options, find the crypto you need and select it.</li>
  607. <li>Next, indicate the amount, look for a button like “generate a Bitcoin address.” In fact, this is a bill that needs to be paid.
  608. In your own wallet, you need to send the crypto to the specified account.</li>
  609. </ol>
  610. <h2 class=white>How to withdraw cryptocurrency from your account</h2>
  611. Withdrawing funds from a bookmaker is even simpler than making a deposit, and looks something like this:
  612. <ol>
  613. <li>Go to your personal account and find the section with withdrawal of funds.</li>
  614. <li>In the list we find the section with crypto and select the “coins” we need. Next, indicate the desired amount.</li>
  615. <li>Add the crypto recipient's address to the field and confirm the operation.</li>
  616. </ol>
  617. <img width="412" height="680" class=albert_2 src="https://bookmakers.name/images/albert_4.webp" alt="Crypto betting">
  618. <h2 class=white>Why is crypto betting so popular?</h2>
  619. <ul>
  620. <li><b>Fast deposits and withdrawals</b><br>
  621. Cryptocurrencies are decentralized digital money. This means that the player and the bookmaker carry out financial transactions without intermediaries. This way, you can make deposits and withdrawals instantly - some sites even have automatic payouts directly to the client's wallet.</li>
  622. <li><b>Low commissions</b><br>
  623. The absence of intermediaries not only speeds up transactions, but also reduces their costs.</li>
  624. <li><b>Availability</b><br>
  625. Sports betting and gambling is one of the most regulated industries. Players often encounter legislative “tightening of the screws”, which reduces the accessibility of gambling sites. Cryptocurrencies allow you to bypass blocks and play from anywhere in the world.</li>
  626. </ul>
  627. <h2 class=white>The future of crypto bookmakers</h2>
  628. Bookmakers that accept cryptocurrency for bets have serious potential thanks to the popularization of blockchain technologies.
  629. What experts predict:
  630. <ul>
  631. <li>Expanding the number of accepted digital coins.</li>
  632. <li>Increasing the security of bookmakers through more active integration of blockchain and smart contracts.</li>
  633. <li>Standardization of services due to control by regulatory authorities.</li>
  634. <li>Improved customer experience due to increasing competition in the industry.</li>
  635. </ul>
  636. The emergence of operating standards should lead to the weeding out of unreliable sites and the creation of competitive offers in a rapidly growing industry.
  637. <h2 class=white>Conclusion</h2>
  638. Betting on sports can generate a large amount of income in a short amount of time and is one way to earn cryptocurrency.
  639. Statistics, trends, and expert opinions should be used to place bets on matches and games.
  640. Professional players use bookmakers as their main tool. Select it carefully, give preference to services that consistently pay a profit, with a good reputation and licensed activities.
  641. You shouldn't bet everything on the outcome of one match. It is better to place several bets with different possible outcomes.
  642. Then, even if the prediction is wrong, you will be able to recoup your investment.
  643. Bitcoin betting is a method that ensures maximum simplicity and security of the game, and in the long term it is also a way to increase winnings.
  644. </div>
  645. <div class=hideme>
  646. <div class=faq>
  647. <h3 class=faqz>Frequently Asked Questions</h3>
  648. <div class=PREM></div>
  649. <button class="accordion">&#10067; Crypto gambling: Is it safe?</button>
  650. <div class="panel"><p>
  651. Yes, it is. You will be able to place crypto bets with confidence as long as the online gambling provider is licensed and regulated by a reputable authority.
  652. </div>
  653. <button class="accordion">&#10067; Is crypto betting legal?</button>
  654. <div class="panel"><p>
  655. Crypto betting is legal depending on the regulations in your country or state.
  656. The laws surrounding crypto betting vary from place to place, with some having explicit legislation while others having more vague legislation.
  657. </div>
  658. <button class="accordion">&#10067; How do you bet with crypto?</button>
  659. <div class="panel"><p>
  660. In the same way you would bet using a fiat currency, you can bet with crypto as well.
  661. You simply need to transfer your digital coins from your crypto wallet to your sports betting account.
  662. After the crypto is there, you can begin betting.
  663. </div>
  664. <button class="accordion">&#10067; How long do Crypto deposits take?</button>
  665. <div class="panel"><p>
  666. The length varies from a few minutes to an hour, depending on several factors, including the crypto network.
  667. The transaction confirmation process involves numerous Blockchains, and they sometimes become overwhelmed.
  668. Paying more allows you to have faster transactions.
  669. As a result, your transaction will skip the Blockchain queue.
  670. </div>
  671. <button class="accordion">&#10067; If I withdraw Crypto, how long will it take?</button>
  672. <div class="panel"><p>
  673. Withdrawing your crypto requires the same transfer process as depositing, in addition to manual validation by most crypto bookies.
  674. </div>
  675. </div>
  676. </div>
  677. <div class=mobi>
  678. <div class=mid_2>
  679. <h2 class=white>Bookmakers by country</h2>
  680. <a href="https://bookmakers.name/crypto-bookmakers-argentina/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/ar.png alt="Best Crypto Bookmakers In Argentina"></a>
  681. <a href="https://bookmakers.name/crypto-bookmakers-australia/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/au.png alt="Best Crypto Bookmakers In Australia"></a>
  682. <a href="https://bookmakers.name/crypto-bookmakers-canada/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/ca.png alt="Best Crypto Bookmakers In Canada"></a>
  683. <a href="https://bookmakers.name/crypto-bookmakers-france/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/fr.png alt="Best Crypto Bookmakers In France"></a>
  684. <a href="https://bookmakers.name/crypto-bookmakers-germany/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/de.png alt="Best Crypto Bookmakers In Germany"></a>
  685. <a href="https://bookmakers.name/crypto-bookmakers-netherlands/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/nl.png alt="Best Crypto Bookmakers In Netherlands"></a>
  686. <a href="https://bookmakers.name/crypto-bookmakers-india/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/in.png alt="Best Crypto Bookmakers In India"></a>
  687. <a href="https://bookmakers.name/crypto-bookmakers-indonesia/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/id.png alt="Best Crypto Bookmakers In Indonesia"></a>
  688. <a href="https://bookmakers.name/crypto-bookmakers-italy/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/it.png alt="Best Crypto Bookmakers In Italy"></a>
  689. <a href="https://bookmakers.name/crypto-bookmakers-japan/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/jp.png alt="Best Crypto Bookmakers In Japan"></a>
  690. <a href="https://bookmakers.name/crypto-bookmakers-nigeria/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/ng.png alt="Best Crypto Bookmakers In Nigeria"></a>
  691. <a href="https://bookmakers.name/crypto-bookmakers-philippines/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/ph.png alt="Best Crypto Bookmakers In Philippines"></a>
  692. <a href="https://bookmakers.name/crypto-bookmakers-spain/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/es.png alt="Best Crypto Bookmakers In Spain"></a>
  693. <a href="https://bookmakers.name/crypto-bookmakers-uk/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/gb.png alt="Best Crypto Bookmakers In UK"></a>
  694. <a href="https://bookmakers.name/crypto-bookmakers-usa/"><img width="200" height="133" class=flagz src=https://bookmakers.name/images/flags/us.png alt="Best Crypto Bookmakers In USA"></a>
  695. </div>
  696. <a href="https://bookmakers.name/sportmarket"><img width=468 height=60 class=sportmarket src="https://bookmakers.name/images/sm.webp" alt="Betting Broker of the Month"></a>
  697. </div>
  698. <div class=footyz>
  699. <table id=semiopacity>
  700. <tr>
  701. <td>
  702. <a href="https://bookmakers.name/contact-us/" target=_self><span class=bottom>Contact Us</span></a> |
  703. <a href="https://bookmakers.name/links/" target=_self><span class=bottom>Partners</span></a> |
  704. <a href="https://www.begambleaware.org" target="_blank"><span class=bottom>BeGambleAware</span></a>
  705. </td>
  706. </tr>
  707. </table>
  708. <div class="a">&copy; 2017 - 2024  bookmakers.name</div>
  709. <script data-cfasync="false">!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t<i;++t)n=(n<<5)-n+e.charCodeAt(t),n|=0;return n},normaliseHex:function(e){return"#"==e[0]&&(e=e.substr(1)),3==e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e},getContrast:function(e){return e=this.normaliseHex(e),(299*parseInt(e.substr(0,2),16)+587*parseInt(e.substr(2,2),16)+114*parseInt(e.substr(4,2),16))/1e3>=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"&#x274c;",target:"_blank",policy:"Cookie Policy"},elements:{header:'<span class="cc-header">{{header}}</span>&nbsp;',message:'<span id="cookieconsent:desc" class="cc-message">{{message}}</span>',messagelink:'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a></span>',dismiss:'<a aria-label="Got it!" role=button tabindex="0" class="cc-btn cc-dismiss">{{dismiss}}</a>',allow:'<a aria-label="allow cookies" role=button tabindex="0"  class="cc-btn cc-allow">{{allow}}</a>',deny:'<a aria-label="deny cookies" role=button tabindex="0" class="cc-btn cc-deny">{{deny}}</a>',link:'<a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a>',close:'<span aria-label="Got it!" role=button tabindex="0" class="cc-close">{{close}}</span>'},window:'<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}">\x3c!--googleoff: all--\x3e{{children}}\x3c!--googleon: all--\x3e</div>',revokeBtn:'<div class="cc-revoke {{classes}}">{{policy}}</div>',compliance:{info:'<div class="cc-compliance">{{dismiss}}</div>',"opt-in":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>',"opt-out":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i<n;++i){var o=e[i];if(o instanceof RegExp&&o.test(t)||"string"==typeof o&&o.length&&o===t)return!0}return!1}return o.prototype.initialise=function(i){this.options&&this.destroy(),t.deepExtend(this.options={},n),t.isPlainObject(i)&&t.deepExtend(this.options,i),function(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'<div class="cc-grower">'+o+"</div>");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;u<r;u++)if(!s)for(var h=0;h<a;h++)s||(s=t.hasClass(o.path[u],c[h]));s||(i(e.status.dismiss),n(!0),window.removeEventListener("click",l),window.removeEventListener("touchend",l),this.onWindowClick=null)}.bind(this);this.options.enabled&&(this.onWindowClick=l,window.addEventListener("click",l),window.addEventListener("touchend",l))}}).call(this),function(){"info"!=this.options.type&&(this.options.revokable=!0);t.isMobile()&&(this.options.animateRevokable=!1);if(this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var i=this.options.revokeBtn.replace("{{classes}}",e.join(" ")).replace("{{policy}}",this.options.content.policy);this.revokeBtn=c.call(this,i);var n=this.revokeBtn;if(this.options.animateRevokable){var o=t.throttle(function(e){var i=!1,o=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientY<20&&(i=!0),t.hasClass(n,"cc-bottom")&&e.clientY>o&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r<a;++r){var c=o[r].split(":",2);s.setRequestHeader(c[0].replace(/^\s+|\s+$/g,""),c[1].replace(/^\s+|\s+$/g,""))}"function"==typeof t&&(s.onreadystatechange=function(){s.readyState>3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex<this.options.services.length&&!e);return e},i.prototype.getServiceByIdx=function(e){var i=this.options.services[e];if("function"==typeof i){var n=i();return n.name&&t.deepExtend(n,this.options.serviceDefinitions[n.name](n)),n}return"string"==typeof i?this.options.serviceDefinitions[i]():t.isPlainObject(i)?this.options.serviceDefinitions[i.name](i):null},i.prototype.locate=function(e,t){var i=this.getNextService();i?(this.callbackComplete=e,this.callbackError=t,this.runService(i,this.runNextServiceOnError.bind(this))):t(new Error("No services to run"))},i.prototype.setupUrl=function(e){var t=this.getCurrentServiceOpts();return e.url.replace(/\{(.*?)\}/g,function(i,n){if("callback"===n){var o="callback"+Date.now();return window[o]=function(t){e.__JSONP_DATA=JSON.stringify(t)},o}if(n in t.interpolateUrl)return t.interpolateUrl[n]})},i.prototype.runService=function(e,t){var i=this;e&&e.url&&e.callback&&(e.isScript?n:o)(this.setupUrl(e),function(n){var o=n?n.responseText:"";e.__JSONP_DATA&&(o=e.__JSONP_DATA,delete e.__JSONP_DATA),i.runServiceCallback.call(i,t,e,o)},this.options.timeout,e.data,e.headers)},i.prototype.runServiceCallback=function(e,t,i){var n=this,o=t.callback(function(t){o||n.onServiceResult.call(n,e,t)},i);o&&this.onServiceResult.call(this,e,o)},i.prototype.onServiceResult=function(e,t){t instanceof Error||t&&t.error?e.call(this,t,null):e.call(this,null,t)},i.prototype.runNextServiceOnError=function(e,t){if(e){this.logError(e);var i=this.getNextService();i?this.runService(i,this.runNextServiceOnError.bind(this)):this.completeService.call(this,this.callbackError,new Error("All services failed"))}else this.completeService.call(this,this.callbackComplete,t)},i.prototype.getCurrentServiceOpts=function(){var e=this.options.services[this.currentServiceIndex];return"string"==typeof e?{name:e}:"function"==typeof e?e():t.isPlainObject(e)?e:{}},i.prototype.completeService=function(e,t){this.currentServiceIndex=-1,e&&e(t)},i.prototype.logError=function(e){var t=this.currentServiceIndex,i=this.getServiceByIdx(t);console.warn("The service["+t+"] ("+i.url+") responded with the following error",e)},i}(),e.Law=function(){var e={regionalLaw:!0,hasLaw:["AT","BE","BG","HR","CZ","CY","DK","EE","FI","FR","DE","EL","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","ES","SE","GB","UK","GR","EU"],revokable:["HR","CY","DK","EE","FR","DE","LV","LT","NL","PT","ES"],explicitAction:["HR","IT","ES"]};function i(e){this.initialise.apply(this,arguments)}return i.prototype.initialise=function(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i)},i.prototype.get=function(e){var t=this.options;return{hasLaw:t.hasLaw.indexOf(e)>=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{});
  710. </script><script>window.cookieconsent.initialise({"palette":{"popup":{"background": "#222"},"button":{"background": "#f1d600"}}});</script>
  711.  
  712. <script>
  713. (function(a, b) {function cy(a) {return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 }function cu(a) {if (!cj[a]) {var b = c.body, d = f("<" + a + ">").appendTo(b), e = d.css("display");d.remove();if (e === "none" || e === "") {ck || (ck = c.createElement("iframe"), ck.frameBorder = ck.width = ck.height = 0), b.appendChild(ck);if (!cl || !ck.createElement) cl = (ck.contentWindow || ck.contentDocument).document, cl.write((f.support.boxModel ? "<!doctype html>" : "") + "<html><body>"), cl.close();d = cl.createElement(a), cl.body.appendChild(d), e = f.css(d, "display"), b.removeChild(ck) }cj[a] = e }return cj[a] }function ct(a, b) {var c = {};f.each(cp.concat.apply([], cp.slice(0, b)), function() {c[this] = a });return c }function cs() {cq = b }function cr() {setTimeout(cs, 0);return cq = f.now() }function ci() {try {return new a.ActiveXObject("Microsoft.XMLHTTP") }catch (b) {}}function ch() {try {return new a.XMLHttpRequest }catch (b) {}}function bY(a) {return function(b, c) {typeof b != "string" && (c = b, b = "*");if (f.isFunction(c)) {var d = b.toLowerCase().split(bO), e = 0, g = d.length, h, i, j;for (;e < g;e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) }}}function bo(a) {var b = c.createElement("div");bh.appendChild(b), b.innerHTML = a.outerHTML;return b.firstChild }function U(a) {var b = V.split("|"), c = a.createDocumentFragment();if (c.createElement) while (b.length) c.createElement(b.pop());return c }function S(a) {return !a || !a.parentNode || a.parentNode.nodeType === 11 }function K() {return !0 }function J() {return !1 }function n(a, b, c) {var d = b + "defer", e = b + "queue", g = b + "mark", h = f._data(a, d);h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function() {!f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) }, 0) }function m(a) {for (var b in a) {if (b === "data" && f.isEmptyObject(a[b])) continue;if (b !== "toJSON") return !1 }return !0 }function h(a) {var b = g[a] = {}, c, d;a = a.split(/\s+/);for (c = 0, d = a.length;c < d;c++) b[a[c]] = !0;return b }var c = a.document, d = a.navigator, e = a.location, f = function() {function J() {if (!e.isReady) {try {c.documentElement.doScroll("left") }catch (a) {setTimeout(J, 1);return }e.ready() }}var e = function(a, b) {return new e.fn.init(a, b, h) }, f = a.jQuery, g = a.$, h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, j = /\S/, k = /^\s+/, l = /\s+$/, m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, n = /^[\],:{}\s]*$/, o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, q = /(?:^|:|,)(?:\s*\[)+/g, r = /(webkit)[ \/]([\w.]+)/, s = /(opera)(?:.*version)?[ \/]([\w.]+)/, t = /(msie) ([\w.]+)/, u = /(mozilla)(?:.*? rv:([\w.]+))?/, v = /-([a-z]|[0-9])/ig, w = /^-ms-/, x = function(a, b) {return (b + "").toUpperCase() }, y = d.userAgent, z, A, B, C = Object.prototype.toString, D = Object.prototype.hasOwnProperty, E = Array.prototype.push, F = Array.prototype.slice, G = String.prototype.trim, H = Array.prototype.indexOf, I = {};e.fn = e.prototype = {constructor: e, init: function(a, d, f) {var g, h, j, k;if (!a) return this;if (a.nodeType) {this.context = this[0] = a, this.length = 1;return this }if (a === "body" && !d && c.body) {this.context = c, this[0] = c.body, this.selector = a, this.length = 1;return this }if (typeof a == "string") {a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null];if (g && (g[1] || !d)) {if (g[1]) {d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes);return e.merge(this, a) }h = c.getElementById(g[2]);if (h && h.parentNode) {if (h.id !== g[2]) return f.find(a);this.length = 1, this[0] = h }this.context = c, this.selector = a;return this }return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) }if (e.isFunction(a)) return f.ready(a);a.selector !== b && (this.selector = a.selector, this.context = a.context);return e.makeArray(a, this) }, selector: "", jquery: "1.7.2", length: 0, size: function() {return this.length }, toArray: function() {return F.call(this, 0) }, get: function(a) {return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] }, pushStack: function(a, b, c) {var d = this.constructor();e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")");return d }, each: function(a, b) {return e.each(this, a, b) }, ready: function(a) {e.bindReady(), A.add(a);return this }, eq: function(a) {a = +a;return a === -1 ? this.slice(a) : this.slice(a, a + 1) }, first: function() {return this.eq(0) }, last: function() {return this.eq(-1) }, slice: function() {return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) }, map: function(a) {return this.pushStack(e.map(this, function(b, c) {return a.call(b, c, b) })) }, end: function() {return this.prevObject || this.constructor(null) }, push: E, sort: [].sort, splice: [].splice }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function() {var a, c, d, f, g, h, i = arguments[0] || {}, j = 1, k = arguments.length, l = !1;typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j);for (;j < k;j++) if ((a = arguments[j]) != null) for (c in a) {d = i[c], f = a[c];if (i === f) continue;l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) }return i }, e.extend({noConflict: function(b) {a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f);return e }, isReady: !1, readyWait: 1, holdReady: function(a) {a ? e.readyWait++ : e.ready(!0) }, ready: function(a) {if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) {if (!c.body) return setTimeout(e.ready, 1);e.isReady = !0;if (a !== !0 && --e.readyWait > 0) return;A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") }}, bindReady: function() {if (!A) {A = e.Callbacks("once memory");if (c.readyState === "complete") return setTimeout(e.ready, 1);if (c.addEventListener) c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1);else if (c.attachEvent) {c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready);var b = !1;try {b = a.frameElement == null }catch (d) {}c.documentElement.doScroll && b && J() }}}, isFunction: function(a) {return e.type(a) === "function" }, isArray: Array.isArray || function(a) {return e.type(a) === "array" }, isWindow: function(a) {return a != null && a == a.window }, isNumeric: function(a) {return !isNaN(parseFloat(a)) && isFinite(a) }, type: function(a) {return a == null ? String(a) : I[C.call(a)] || "object" }, isPlainObject: function(a) {if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1;try {if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf")) return !1 }catch (c) {return !1 }var d;for (d in a);return d === b || D.call(a, d) }, isEmptyObject: function(a) {for (var b in a) return !1;return !0 }, error: function(a) {throw new Error(a) }, parseJSON: function(b) {if (typeof b != "string" || !b) return null;b = e.trim(b);if (a.JSON && a.JSON.parse) return a.JSON.parse(b);if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new Function("return " + b))();e.error("Invalid JSON: " + b) }, parseXML: function(c) {if (typeof c != "string" || !c) return null;var d, f;try {a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) }catch (g) {d = b }(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c);return d }, noop: function() {}, globalEval: function(b) {b && j.test(b) && (a.execScript || function(b) {a.eval.call(a, b) })(b) }, camelCase: function(a) {return a.replace(w, "ms-").replace(v, x) }, nodeName: function(a, b) {return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() }, each: function(a, c, d) {var f, g = 0, h = a.length, i = h === b || e.isFunction(a);if (d) {if (i) {for (f in a) if (c.apply(a[f], d) === !1) break }else for (;g < h;) if (c.apply(a[g++], d) === !1) break }else if (i) {for (f in a) if (c.call(a[f], f, a[f]) === !1) break }else for (;g < h;) if (c.call(a[g], g, a[g++]) === !1) break;return a }, trim: G ? function(a) {return a == null ? "" : G.call(a) }: function(a) {return a == null ? "" : (a + "").replace(k, "").replace(l, "") }, makeArray: function(a, b) {var c = b || [];if (a != null) {var d = e.type(a);a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) }return c }, inArray: function(a, b, c) {var d;if (b) {if (H) return H.call(b, a, c);d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0;for (;c < d;c++) if (c in b && b[c] === a) return c }return -1 }, merge: function(a, c) {var d = a.length, e = 0;if (typeof c.length == "number") for (var f = c.length;e < f;e++) a[d++] = c[e];else while (c[e] !== b) a[d++] = c[e++];a.length = d;return a }, grep: function(a, b, c) {var d = [], e;c = !!c;for (var f = 0, g = a.length;f < g;f++) e = !!b(a[f], f), c !== e && d.push(a[f]);return d }, map: function(a, c, d) {var f, g, h = [], i = 0, j = a.length, k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a));if (k) for (;i < j;i++) f = c(a[i], i, d), f != null && (h[h.length] = f);else for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f);return h.concat.apply([], h) }, guid: 1, proxy: function(a, c) {if (typeof c == "string") {var d = a[c];c = a, a = d }if (!e.isFunction(a)) return b;var f = F.call(arguments, 2), g = function() {return a.apply(c, f.concat(F.call(arguments))) };g.guid = a.guid = a.guid || g.guid || e.guid++;return g }, access: function(a, c, d, f, g, h, i) {var j, k = d == null, l = 0, m = a.length;if (d && typeof d == "object") {for (l in d) e.access(a, c, l, d[l], 1, h, f);g = 1 }else if (f !== b) {j = i === b && e.isFunction(f), k && (j ? (j = c, c = function(a, b, c) {return j.call(e(a), c) }) : (c.call(a, f), c = null));if (c) for (;l < m;l++) c(a[l], d, j ? f.call(a[l], l, c(a[l], d)) : f, i);g = 1 }return g ? a : k ? c.call(a) : m ? c(a[0], d) : h }, now: function() {return (new Date).getTime() }, uaMatch: function(a) {a = a.toLowerCase();var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || [];return {browser: b[1] || "", version: b[2] || "0" }}, sub: function() {function a(b, c) {return new a.fn.init(b, c) }e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function(d, f) {f && f instanceof e && !(f instanceof a) && (f = a(f));return e.fn.init.call(this, d, f, b) }, a.fn.init.prototype = a.fn;var b = a(c);return a }, browser: {}}), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {I["[object " + b + "]"] = b.toLowerCase() }), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function() {c.removeEventListener("DOMContentLoaded", B, !1), e.ready() }: c.attachEvent && (B = function() {c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) });return e }(), g = {};f.Callbacks = function(a) {a = a ? g[a] || h(a) : {};var c = [], d = [], e, i, j, k, l, m, n = function(b) {var d, e, g, h, i;for (d = 0, e = b.length;d < e;d++) g = b[d], h = f.type(g), h === "array" ? n(g) : h === "function" && (!a.unique || !p.has(g)) && c.push(g) }, o = function(b, f) {f = f || [], e = !a.memory || [b, f], i = !0, j = !0, m = k || 0, k = 0, l = c.length;for (;c && m < l;m++) if (c[m].apply(b, f) === !1 && a.stopOnFalse) {e = !0;break }j = !1, c && (a.once ? e === !0 ? p.disable() : c = [] : d && d.length && (e = d.shift(), p.fireWith(e[0], e[1]))) }, p = {add: function() {if (c) {var a = c.length;n(arguments), j ? l = c.length : e && e !== !0 && (k = a, o(e[0], e[1])) }return this }, remove: function() {if (c) {var b = arguments, d = 0, e = b.length;for (;d < e;d++) for (var f = 0;f < c.length;f++) if (b[d] === c[f]) {j && f <= l && (l--, f <= m && m--), c.splice(f--, 1);if (a.unique) break }}return this }, has: function(a) {if (c) {var b = 0, d = c.length;for (;b < d;b++) if (a === c[b]) return !0 }return !1 }, empty: function() {c = [];return this }, disable: function() {c = d = e = b;return this }, disabled: function() {return !c }, lock: function() {d = b, (!e || e === !0) && p.disable();return this }, locked: function() {return !d }, fireWith: function(b, c) {d && (j ? a.once || d.push([b, c]) : (!a.once || !e) && o(b, c));return this }, fire: function() {p.fireWith(this, arguments);return this }, fired: function() {return !!i }};return p };var i = [].slice;f.extend({Deferred: function(a) {var b = f.Callbacks("once memory"), c = f.Callbacks("once memory"), d = f.Callbacks("memory"), e = "pending", g = {resolve: b, reject: c, notify: d }, h = {done: b.add, fail: c.add, progress: d.add, state: function() {return e }, isResolved: b.fired, isRejected: c.fired, then: function(a, b, c) {i.done(a).fail(b).progress(c);return this }, always: function() {i.done.apply(i, arguments).fail.apply(i, arguments);return this }, pipe: function(a, b, c) {return f.Deferred(function(d) {f.each({done: [a, "resolve"], fail: [b, "reject"], progress: [c, "notify"] }, function(a, b) {var c = b[0], e = b[1], g;f.isFunction(c) ? i[a](function() {g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) }) : i[a](d[e]) }) }).promise() }, promise: function(a) {if (a == null) a = h;else for (var b in h) a[b] = h[b];return a }}, i = h.promise({}), j;for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith;i.done(function() {e = "resolved" }, c.disable, d.lock).fail(function() {e = "rejected" }, b.disable, d.lock), a && a.call(i, i);return i }, when: function(a) {function m(a) {return function(b) {e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) }}function l(a) {return function(c) {b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b) }}var b = i.call(arguments, 0), c = 0, d = b.length, e = Array(d), g = d, h = d, j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), k = j.promise();if (d > 1) {for (;c < d;c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g;g || j.resolveWith(j, b) }else j !== a && j.resolveWith(j, d ? [a] : []);return k }}), f.support = function() {var b, d, e, g, h, i, j, k, l, m, n, o, p = c.createElement("div"), q = c.documentElement;p.setAttribute("className", "t"), p.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>", d = p.getElementsByTagName("*"), e = p.getElementsByTagName("a")[0];if (!d || !d.length || !e) return {};g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = p.getElementsByTagName("input")[0], b = {leadingWhitespace: p.firstChild.nodeType === 3, tbody: !p.getElementsByTagName("tbody").length, htmlSerialize: !!p.getElementsByTagName("link").length, style: /top/.test(e.getAttribute("style")), hrefNormalized: e.getAttribute("href") === "/a", opacity: /^0.55/.test(e.style.opacity), cssFloat: !!e.style.cssFloat, checkOn: i.value === "on", optSelected: h.selected, getSetAttribute: p.className !== "t", enctype: !!c.createElement("form").enctype, html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>", submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, pixelMargin: !0 }, f.boxModel = b.boxModel = c.compatMode === "CSS1Compat", i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled;try {delete p.test }catch (r) {b.deleteExpando = !1 }!p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", function() {b.noCloneEvent = !1 }), p.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), i.setAttribute("name", "t"), p.appendChild(i), j = c.createDocumentFragment(), j.appendChild(p.lastChild), b.checkClone = j.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, j.removeChild(i), j.appendChild(p);if (p.attachEvent) for (n in {submit: 1, change: 1, focusin: 1 }) m = "on" + n, o = m in p, o || (p.setAttribute(m, "return;"), o = typeof p[m] == "function"), b[n + "Bubbles"] = o;j.removeChild(p), j = g = h = p = i = null, f(function() {var d, e, g, h, i, j, l, m, n, q, r, s, t, u = c.getElementsByTagName("body")[0];!u || (m = 1, t = "padding:0;margin:0;border:", r = "position:absolute;top:0;left:0;width:1px;height:1px;", s = t + "0;visibility:hidden;", n = "style='" + r + t + "5px solid #000;", q = "<div " + n + "display:block;'><div style='" + t + "0;display:block;overflow:hidden;'></div></div>" + "<table " + n + "' cellpadding='0' cellspacing='0'>" + "<tr><td></td></tr></table>", d = c.createElement("div"), d.style.cssText = s + "width:0;height:0;position:static;top:0;margin-top:" + m + "px", u.insertBefore(d, u.firstChild), p = c.createElement("div"), d.appendChild(p), p.innerHTML = "<table><tr><td style='" + t + "0;display:none'></td><td>t</td></tr></table>", k = p.getElementsByTagName("td"), o = k[0].offsetHeight === 0, k[0].style.display = "", k[1].style.display = "none", b.reliableHiddenOffsets = o && k[0].offsetHeight === 0, a.getComputedStyle && (p.innerHTML = "", l = c.createElement("div"), l.style.width = "0", l.style.marginRight = "0", p.style.width = "2px", p.appendChild(l), b.reliableMarginRight = (parseInt((a.getComputedStyle(l, null) || {marginRight: 0 }).marginRight, 10) || 0) === 0), typeof p.style.zoom != "undefined" && (p.innerHTML = "", p.style.width = p.style.padding = "1px", p.style.border = 0, p.style.overflow = "hidden", p.style.display = "inline", p.style.zoom = 1, b.inlineBlockNeedsLayout = p.offsetWidth === 3, p.style.display = "block", p.style.overflow = "visible", p.innerHTML = "<div style='width:5px;'></div>", b.shrinkWrapBlocks = p.offsetWidth !== 3), p.style.cssText = r + s, p.innerHTML = q, e = p.firstChild, g = e.firstChild, i = e.nextSibling.firstChild.firstChild, j = {doesNotAddBorder: g.offsetTop !== 5, doesAddBorderForTableAndCells: i.offsetTop === 5 }, g.style.position = "fixed", g.style.top = "20px", j.fixedPosition = g.offsetTop === 20 || g.offsetTop === 15, g.style.position = g.style.top = "", e.style.overflow = "hidden", e.style.position = "relative", j.subtractsBorderForOverflowNotVisible = g.offsetTop === -5, j.doesNotIncludeMarginInBodyOffset = u.offsetTop !== m, a.getComputedStyle && (p.style.marginTop = "1%", b.pixelMargin = (a.getComputedStyle(p, null) || {marginTop: 0 }).marginTop !== "1%"), typeof d.style.zoom != "undefined" && (d.style.zoom = 1), u.removeChild(d), l = p = d = null, f.extend(b, j)) });return b }();var j = /^(?:\{.*\}|\[.*\])$/, k = /([A-Z])/g;f.extend({cache: {}, uuid: 0, expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function(a) {a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando];return !!a && !m(a) }, data: function(a, c, d, e) {if (!!f.acceptData(a)) {var g, h, i, j = f.expando, k = typeof c == "string", l = a.nodeType, m = l ? f.cache : a, n = l ? a[j] : a[j] && j, o = c === "events";if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return;n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop));if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c);g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d);if (o && !h[c]) return g.events;k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h;return i }}, _data: function(a, b, c) {return f.data(a, b, c, !0) }, acceptData: function(a) {if (a.nodeName) {var b = f.noData[a.nodeName.toLowerCase()];if (b) return b !== !0 && a.getAttribute("classid") === b }return !0 }}), f.extend({_mark: function(a, b) {a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) }, _unmark: function(a, b, c) {a !== !0 && (c = b, b = a, a = !1);if (b) {c = c || "fx";var d = c + "mark", e = a ? 0 : (f._data(b, d) || 1) - 1;e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) }}, queue: function(a, b, c) {var d;if (a) {b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c));return d || [] }}, dequeue: function(a, b) {b = b || "fx";var c = f.queue(a, b), d = c.shift(), e = {};d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function() {f.dequeue(a, b) }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) }}), f.fn.extend({queue: function(a, c) {var d = 2;typeof a != "string" && (c = a, a = "fx", d--);if (arguments.length < d) return f.queue(this[0], a);return c === b ? this : this.each(function() {var b = f.queue(this, a, c);a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) }) }, dequeue: function(a) {return this.each(function() {f.dequeue(this, a) }) }, delay: function(a, b) {a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx";return this.queue(b, function(b, c) {var d = setTimeout(b, a);c.stop = function() {clearTimeout(d) }}) }, clearQueue: function(a) {return this.queue(a || "fx", []) }, promise: function(a, c) {function m() {--h || d.resolveWith(e, [e]) }typeof a != "string" && (c = a, a = b), a = a || "fx";var d = f.Deferred(), e = this, g = e.length, h = 1, i = a + "defer", j = a + "queue", k = a + "mark", l;while (g--) if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m);m();return d.promise(c) }});var o = /[\n\t\r]/g, p = /\s+/, q = /\r/g, r = /^(?:button|input)$/i, s = /^(?:button|input|object|select|textarea)$/i, t = /^a(?:rea)?$/i, u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, v = f.support.getSetAttribute, w, x, y;f.fn.extend({attr: function(a, b) {return f.access(this, f.attr, a, b, arguments.length > 1) }, removeAttr: function(a) {return this.each(function() {f.removeAttr(this, a) }) }, prop: function(a, b) {return f.access(this, f.prop, a, b, arguments.length > 1) }, removeProp: function(a) {a = f.propFix[a] || a;return this.each(function() {try {this[a] = b, delete this[a] }catch (c) {}}) }, addClass: function(a) {var b, c, d, e, g, h, i;if (f.isFunction(a)) return this.each(function(b) {f(this).addClass(a.call(this, b, this.className)) });if (a && typeof a == "string") {b = a.split(p);for (c = 0, d = this.length;c < d;c++) {e = this[c];if (e.nodeType === 1) if (!e.className && b.length === 1) e.className = a;else {g = " " + e.className + " ";for (h = 0, i = b.length;h < i;h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " ");e.className = f.trim(g) }}}return this }, removeClass: function(a) {var c, d, e, g, h, i, j;if (f.isFunction(a)) return this.each(function(b) {f(this).removeClass(a.call(this, b, this.className)) });if (a && typeof a == "string" || a === b) {c = (a || "").split(p);for (d = 0, e = this.length;d < e;d++) {g = this[d];if (g.nodeType === 1 && g.className) if (a) {h = (" " + g.className + " ").replace(o, " ");for (i = 0, j = c.length;i < j;i++) h = h.replace(" " + c[i] + " ", " ");g.className = f.trim(h) }else g.className = "" }}return this }, toggleClass: function(a, b) {var c = typeof a, d = typeof b == "boolean";if (f.isFunction(a)) return this.each(function(c) {f(this).toggleClass(a.call(this, c, this.className, b), b) });return this.each(function() {if (c === "string") {var e, g = 0, h = f(this), i = b, j = a.split(p);while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) }else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" }) }, hasClass: function(a) {var b = " " + a + " ", c = 0, d = this.length;for (;c < d;c++) if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0;return !1 }, val: function(a) {var c, d, e, g = this[0];{if (!!arguments.length) {e = f.isFunction(a);return this.each(function(d) {var g = f(this), h;if (this.nodeType === 1) {e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function(a) {return a == null ? "" : a + "" })), c = f.valHooks[this.type] || f.valHooks[this.nodeName.toLowerCase()];if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h }}) }if (g) {c = f.valHooks[g.type] || f.valHooks[g.nodeName.toLowerCase()];if (c && "get" in c && (d = c.get(g, "value")) !== b) return d;d = g.value;return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d }}}}), f.extend({valHooks: {option: {get: function(a) {var b = a.attributes.value;return !b || b.specified ? a.value : a.text }}, select: {get: function(a) {var b, c, d, e, g = a.selectedIndex, h = [], i = a.options, j = a.type === "select-one";if (g < 0) return null;c = j ? g : 0, d = j ? g + 1 : i.length;for (;c < d;c++) {e = i[c];if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) {b = f(e).val();if (j) return b;h.push(b) }}if (j && !h.length && i.length) return f(i[g]).val();return h }, set: function(a, b) {var c = f.makeArray(b);f(a).find("option").each(function() {this.selected = f.inArray(f(this).val(), c) >= 0 }), c.length || (a.selectedIndex = -1);return c }}}, attrFn: {val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0 }, attr: function(a, c, d, e) {var g, h, i, j = a.nodeType;if (!!a && j !== 3 && j !== 8 && j !== 2) {if (e && c in f.attrFn) return f(a)[c](d);if (typeof a.getAttribute == "undefined") return f.prop(a, c, d);i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w));if (d !== b) {if (d === null) {f.removeAttr(a, c);return }if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g;a.setAttribute(c, "" + d);return d }if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g;g = a.getAttribute(c);return g === null ? b : g }}, removeAttr: function(a, b) {var c, d, e, g, h, i = 0;if (b && a.nodeType === 1) {d = b.toLowerCase().split(p), g = d.length;for (;i < g;i++) e = d[i], e && (c = f.propFix[e] || e, h = u.test(e), h || f.attr(a, e, ""), a.removeAttribute(v ? e : c), h && c in a && (a[c] = !1)) }}, attrHooks: {type: {set: function(a, b) {if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed");else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) {var c = a.value;a.setAttribute("type", b), c && (a.value = c);return b }}}, value: {get: function(a, b) {if (w && f.nodeName(a, "button")) return w.get(a, b);return b in a ? a.value : null }, set: function(a, b, c) {if (w && f.nodeName(a, "button")) return w.set(a, b, c);a.value = b }}}, propHooks: {tabIndex: {get: function(a) {var c = a.getAttributeNode("tabindex");return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b }}}}), f.attrHooks.tabindex = f.propHooks.tabIndex, x = {get: function(a, c) {var d, e = f.prop(a, c);return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b }, set: function(a, b, c) {var d;b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase()));return c }}, v || (y = {name: !0, id: !0, coords: !0 }, w = f.valHooks.button = {get: function(a, c) {var d;d = a.getAttributeNode(c);return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b }, set: function(a, b, d) {var e = a.getAttributeNode(d);e || (e = c.createAttribute(d), a.setAttributeNode(e));return e.nodeValue = b + "" }}, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function(a, b) {f.attrHooks[b] = f.extend(f.attrHooks[b], {set: function(a, c) {if (c === "") {a.setAttribute(b, "auto");return c }}}) }), f.attrHooks.contenteditable = {get: w.get, set: function(a, b, c) {b === "" && (b = "false"), w.set(a, b, c) }}), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function(a, c) {f.attrHooks[c] = f.extend(f.attrHooks[c], {get: function(a) {var d = a.getAttribute(c, 2);return d === null ? b : d }}) }), f.support.style || (f.attrHooks.style = {get: function(a) {return a.style.cssText.toLowerCase() || b }, set: function(a, b) {return a.style.cssText = "" + b }}), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, {get: function(a) {var b = a.parentNode;b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex);return null }})), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function() {f.valHooks[this] = {get: function(a) {return a.getAttribute("value") === null ? "on" : a.value }}}), f.each(["radio", "checkbox"], function() {f.valHooks[this] = f.extend(f.valHooks[this], {set: function(a, b) {if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0 }}) });var z = /^(?:textarea|input|select)$/i, A = /^([^\.]*)?(?:\.(.+))?$/, B = /(?:^|\s)hover(\.\S+)?\b/, C = /^key/, D = /^(?:mouse|contextmenu)|click/, E = /^(?:focusinfocus|focusoutblur)$/, F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, G = function(a) {var b = F.exec(a);b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)"));return b }, H = function(a, b) {var c = a.attributes || {};return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) }, I = function(a) {return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") };f.event = {add: function(a, c, d, e, g) {var h, i, j, k, l, m, n, o, p, q, r, s;if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) {d.handler && (p = d, d = p.handler, g = p.selector), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function(a) {return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b }, i.elem = a), c = f.trim(I(c)).split(" ");for (k = 0;k < c.length;k++) {l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({type: m, origType: l[1], data: e, handler: d, guid: d.guid, selector: g, quick: g && G(g), namespace: n.join(".") }, p), r = j[m];if (!r) {r = j[m] = [], r.delegateCount = 0;if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) }s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 }a = null }}, global: {}, remove: function(a, b, c, d, e) {var g = f.hasData(a) && f._data(a), h, i, j, k, l, m, n, o, p, q, r, s;if (!!g && !!(o = g.events)) {b = f.trim(I(b || "")).split(" ");for (h = 0;h < b.length;h++) {i = A.exec(b[h]) || [], j = k = i[1], l = i[2];if (!j) {for (j in o) f.event.remove(a, j + b[h], c, d, !0);continue }p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;for (n = 0;n < r.length;n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s));r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) }f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) }}, customEvent: {getData: !0, setData: !0, changeData: !0 }, trigger: function(c, d, e, g) {if (!e || e.nodeType !== 3 && e.nodeType !== 8) {var h = c.type || c, i = [], j, k, l, m, n, o, p, q, r, s;if (E.test(h + f.event.triggered)) return;h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort());if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return;c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : "";if (!e) {j = f.cache;for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0);return }c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {};if (p.trigger && p.trigger.apply(e, d) === !1) return;r = [ [e, p.bindType || h] ];if (!g && !p.noBubble && !f.isWindow(e)) {s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null;for (;m;m = m.parentNode) r.push([m, s]), n = m;n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) }for (l = 0;l < r.length && !c.isPropagationStopped();l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault();c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n));return c.result }}, dispatch: function(c) {c = f.event.fix(c || a.event);var d = (f._data(this, "events") || {})[c.type] || [], e = d.delegateCount, g = [].slice.call(arguments, 0), h = !c.exclusive && !c.namespace, i = f.event.special[c.type] || {}, j = [], k, l, m, n, o, p, q, r, s, t, u;g[0] = c, c.delegateTarget = this;if (!i.preDispatch || i.preDispatch.call(this, c) !== !1) {if (e && (!c.button || c.type !== "click")) {n = f(this), n.context = this.ownerDocument || this;for (m = c.target;m != this;m = m.parentNode || this) if (m.disabled !== !0) {p = {}, r = [], n[0] = m;for (k = 0;k < e;k++) s = d[k], t = s.selector, p[t] === b && (p[t] = s.quick ? H(m, s.quick) : n.is(t)), p[t] && r.push(s);r.length && j.push({elem: m, matches: r }) }}d.length > e && j.push({elem: this, matches: d.slice(e) });for (k = 0;k < j.length && !c.isPropagationStopped();k++) {q = j[k], c.currentTarget = q.elem;for (l = 0;l < q.matches.length && !c.isImmediatePropagationStopped();l++) {s = q.matches[l];if (h || !c.namespace && !s.namespace || c.namespace_re && c.namespace_re.test(s.namespace)) c.data = s.data, c.handleObj = s, o = ((f.event.special[s.origType] || {}).handle || s.handler).apply(q.elem, g), o !== b && (c.result = o, o === !1 && (c.preventDefault(), c.stopPropagation())) }}i.postDispatch && i.postDispatch.call(this, c);return c.result }}, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: {props: "char charCode key keyCode".split(" "), filter: function(a, b) {a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode);return a }}, mouseHooks: {props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function(a, d) {var e, f, g, h = d.button, i = d.fromElement;a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0);return a }}, fix: function(a) {if (a[f.expando]) return a;var d, e, g = a, h = f.event.fixHooks[a.type] || {}, i = h.props ? this.props.concat(h.props) : this.props;a = f.Event(g);for (d = i.length;d;) e = i[--d], a[e] = g[e];a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey);return h.filter ? h.filter(a, g) : a }, special: {ready: {setup: f.bindReady }, load: {noBubble: !0 }, focus: {delegateType: "focusin" }, blur: {delegateType: "focusout" }, beforeunload: {setup: function(a, b, c) {f.isWindow(this) && (this.onbeforeunload = c) }, teardown: function(a, b) {this.onbeforeunload === b && (this.onbeforeunload = null) }}}, simulate: function(a, b, c, d) {var e = f.extend(new f.Event, c, {type: a, isSimulated: !0, originalEvent: {}});d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() }}, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function(a, b, c) {a.removeEventListener && a.removeEventListener(b, c, !1) }: function(a, b, c) {a.detachEvent && a.detachEvent("on" + b, c) }, f.Event = function(a, b) {if (!(this instanceof f.Event)) return new f.Event(a, b);a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 }, f.Event.prototype = {preventDefault: function() {this.isDefaultPrevented = K;var a = this.originalEvent;!a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) }, stopPropagation: function() {this.isPropagationStopped = K;var a = this.originalEvent;!a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) }, stopImmediatePropagation: function() {this.isImmediatePropagationStopped = K, this.stopPropagation() }, isDefaultPrevented: J, isPropagationStopped: J, isImmediatePropagationStopped: J }, f.each({mouseenter: "mouseover", mouseleave: "mouseout" }, function(a, b) {f.event.special[a] = {delegateType: b, bindType: b, handle: function(a) {var c = this, d = a.relatedTarget, e = a.handleObj, g = e.selector, h;if (!d || d !== c && !f.contains(c, d)) a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b;return h }}}), f.support.submitBubbles || (f.event.special.submit = {setup: function() {if (f.nodeName(this, "form")) return !1;f.event.add(this, "click._submit keypress._submit", function(a) {var c = a.target, d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b;d && !d._submit_attached && (f.event.add(d, "submit._submit", function(a) {a._submit_bubble = !0 }), d._submit_attached = !0) }) }, postDispatch: function(a) {a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0)) }, teardown: function() {if (f.nodeName(this, "form")) return !1;f.event.remove(this, "._submit") }}), f.support.changeBubbles || (f.event.special.change = {setup: function() {if (z.test(this.nodeName)) {if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function(a) {a.originalEvent.propertyName === "checked" && (this._just_changed = !0) }), f.event.add(this, "click._change", function(a) {this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) });return !1 }f.event.add(this, "beforeactivate._change", function(a) {var b = a.target;z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function(a) {this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) }), b._change_attached = !0) }) }, handle: function(a) {var b = a.target;if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments) }, teardown: function() {f.event.remove(this, "._change");return z.test(this.nodeName) }}), f.support.focusinBubbles || f.each({focus: "focusin", blur: "focusout" }, function(a, b) {var d = 0, e = function(a) {f.event.simulate(b, a.target, f.event.fix(a), !0) };f.event.special[b] = {setup: function() {d++ === 0 && c.addEventListener(a, e, !0) }, teardown: function() {--d === 0 && c.removeEventListener(a, e, !0) }}}), f.fn.extend({on: function(a, c, d, e, g) {var h, i;if (typeof a == "object") {typeof c != "string" && (d = d || c, c = b);for (i in a) this.on(i, c, d, a[i], g);return this }d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b));if (e === !1) e = J;else if (!e) return this;g === 1 && (h = e, e = function(a) {f().off(a);return h.apply(this, arguments) }, e.guid = h.guid || (h.guid = f.guid++));return this.each(function() {f.event.add(this, a, e, d, c) }) }, one: function(a, b, c, d) {return this.on(a, b, c, d, 1) }, off: function(a, c, d) {if (a && a.preventDefault && a.handleObj) {var e = a.handleObj;f(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler);return this }if (typeof a == "object") {for (var g in a) this.off(g, c, a[g]);return this }if (c === !1 || typeof c == "function") d = c, c = b;d === !1 && (d = J);return this.each(function() {f.event.remove(this, a, d, c) }) }, bind: function(a, b, c) {return this.on(a, null, b, c) }, unbind: function(a, b) {return this.off(a, null, b) }, live: function(a, b, c) {f(this.context).on(a, this.selector, b, c);return this }, die: function(a, b) {f(this.context).off(a, this.selector || "**", b);return this }, delegate: function(a, b, c, d) {return this.on(b, a, c, d) }, undelegate: function(a, b, c) {return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) }, trigger: function(a, b) {return this.each(function() {f.event.trigger(a, b, this) }) }, triggerHandler: function(a, b) {if (this[0]) return f.event.trigger(a, b, this[0], !0) }, toggle: function(a) {var b = arguments, c = a.guid || f.guid++, d = 0, e = function(c) {var e = (f._data(this, "lastToggle" + a.guid) || 0) % d;f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault();return b[e].apply(this, arguments) || !1 };e.guid = c;while (d < b.length) b[d++].guid = c;return this.click(e) }, hover: function(a, b) {return this.mouseenter(a).mouseleave(b || a) }}), f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {f.fn[b] = function(a, c) {c == null && (c = a, a = null);return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) }), function() {function x(a, b, c, e, f, g) {for (var h = 0, i = e.length;h < i;h++) {var j = e[h];if (j) {var k = !1;j = j[a];while (j) {if (j[d] === c) {k = e[j.sizset];break }if (j.nodeType === 1) {g || (j[d] = c, j.sizset = h);if (typeof b != "string") {if (j === b) {k = !0;break }}else if (m.filter(b, [j]).length > 0) {k = j;break }}j = j[a] }e[h] = k }}}function w(a, b, c, e, f, g) {for (var h = 0, i = e.length;h < i;h++) {var j = e[h];if (j) {var k = !1;j = j[a];while (j) {if (j[d] === c) {k = e[j.sizset];break }j.nodeType === 1 && !g && (j[d] = c, j.sizset = h);if (j.nodeName.toLowerCase() === b) {k = j;break }j = j[a] }e[h] = k }}}var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, d = "sizcache" + (Math.random() + "").replace(".", ""), e = 0, g = Object.prototype.toString, h = !1, i = !0, j = /\\/g, k = /\r\n/g, l = /\W/;[0, 0].sort(function() {i = !1;return 0 });var m = function(b, d, e, f) {e = e || [], d = d || c;var h = d;if (d.nodeType !== 1 && d.nodeType !== 9) return [];if (!b || typeof b != "string") return e;var i, j, k, l, n, q, r, t, u = !0, v = m.isXML(d), w = [], x = b;do {a.exec(""), i = a.exec(x);if (i) {x = i[3], w.push(i[1]);if (i[2]) {l = i[3];break }}}while (i);if (w.length > 1 && p.exec(b)) if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f);else {j = o.relative[w[0]] ? [d] : m(w.shift(), d);while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) }else {!f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]);if (d) {n = f ? {expr: w.pop(), set: s(f) }: m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1;while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) }else k = w = [] }k || (k = j), k || m.error(q || b);if (g.call(k) === "[object Array]") if (!u) e.push.apply(e, k);else if (d && d.nodeType === 1) for (t = 0;k[t] != null;t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]);else for (t = 0;k[t] != null;t++) k[t] && k[t].nodeType === 1 && e.push(j[t]);else s(k, e);l && (m(l, h, e, f), m.uniqueSort(e));return e };m.uniqueSort = function(a) {if (u) {h = i, a.sort(u);if (h) for (var b = 1;b < a.length;b++) a[b] === a[b - 1] && a.splice(b--, 1) }return a }, m.matches = function(a, b) {return m(a, null, null, b) }, m.matchesSelector = function(a, b) {return m(b, null, null, [a]).length > 0 }, m.find = function(a, b, c) {var d, e, f, g, h, i;if (!a) return [];for (e = 0, f = o.order.length;e < f;e++) {h = o.order[e];if (g = o.leftMatch[h].exec(a)) {i = g[1], g.splice(1, 1);if (i.substr(i.length - 1) !== "\\") {g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c);if (d != null) {a = a.replace(o.match[h], "");break }}}}d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []);return {set: d, expr: a }}, m.filter = function(a, c, d, e) {var f, g, h, i, j, k, l, n, p, q = a, r = [], s = c, t = c && c[0] && m.isXML(c[0]);while (a && c.length) {for (h in o.filter) if ((f = o.leftMatch[h].exec(a)) != null && f[2]) {k = o.filter[h], l = f[1], g = !1, f.splice(1, 1);if (l.substr(l.length - 1) === "\\") continue;s === r && (r = []);if (o.preFilter[h]) {f = o.preFilter[h](f, s, d, r, e, t);if (!f) g = i = !0;else if (f === !0) continue }if (f) for (n = 0;(j = s[n]) != null;n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0));if (i !== b) {d || (s = r), a = a.replace(o.match[h], "");if (!g) return [];break }}if (a === q) if (g == null) m.error(a);else break;q = a }return s }, m.error = function(a) {throw new Error("Syntax error, unrecognized expression: " + a) };var n = m.getText = function(a) {var b, c, d = a.nodeType, e = "";if (d) {if (d === 1 || d === 9 || d === 11) {if (typeof a.textContent == "string") return a.textContent;if (typeof a.innerText == "string") return a.innerText.replace(k, "");for (a = a.firstChild;a;a = a.nextSibling) e += n(a) }else if (d === 3 || d === 4) return a.nodeValue }else for (b = 0;c = a[b];b++) c.nodeType !== 8 && (e += n(c));return e }, o = m.selectors = {order: ["ID", "NAME", "TAG"], match: {ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ }, leftMatch: {}, attrMap: {"class": "className", "for": "htmlFor" }, attrHandle: {href: function(a) {return a.getAttribute("href") }, type: function(a) {return a.getAttribute("type") }}, relative: {"+": function(a, b) {var c = typeof b == "string", d = c && !l.test(b), e = c && !d;d && (b = b.toLowerCase());for (var f = 0, g = a.length, h;f < g;f++) if (h = a[f]) {while ((h = h.previousSibling) && h.nodeType !== 1);a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b }e && m.filter(b, a, !0) }, ">": function(a, b) {var c, d = typeof b == "string", e = 0, f = a.length;if (d && !l.test(b)) {b = b.toLowerCase();for (;e < f;e++) {c = a[e];if (c) {var g = c.parentNode;a[e] = g.nodeName.toLowerCase() === b ? g : !1 }}}else {for (;e < f;e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b);d && m.filter(b, a, !0) }}, "": function(a, b, c) {var d, f = e++, g = x;typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) }, "~": function(a, b, c) {var d, f = e++, g = x;typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) }}, find: {ID: function(a, b, c) {if (typeof b.getElementById != "undefined" && !c) {var d = b.getElementById(a[1]);return d && d.parentNode ? [d] : [] }}, NAME: function(a, b) {if (typeof b.getElementsByName != "undefined") {var c = [], d = b.getElementsByName(a[1]);for (var e = 0, f = d.length;e < f;e++) d[e].getAttribute("name") === a[1] && c.push(d[e]);return c.length === 0 ? null : c }}, TAG: function(a, b) {if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]) }}, preFilter: {CLASS: function(a, b, c, d, e, f) {a = " " + a[1].replace(j, "") + " ";if (f) return a;for (var g = 0, h;(h = b[g]) != null;g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1));return !1 }, ID: function(a) {return a[1].replace(j, "") }, TAG: function(a, b) {return a[1].replace(j, "").toLowerCase() }, CHILD: function(a) {if (a[1] === "nth") {a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, "");var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]);a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 }else a[2] && m.error(a[0]);a[0] = e++;return a }, ATTR: function(a, b, c, d, e, f) {var g = a[1] = a[1].replace(j, "");!f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " ");return a }, PSEUDO: function(b, c, d, e, f) {if (b[1] === "not") if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c);else {var g = m.filter(b[3], c, d, !0 ^ f);d || e.push.apply(e, g);return !1 }else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0;return b }, POS: function(a) {a.unshift(!0);return a }}, filters: {enabled: function(a) {return a.disabled === !1 && a.type !== "hidden" }, disabled: function(a) {return a.disabled === !0 }, checked: function(a) {return a.checked === !0 }, selected: function(a) {a.parentNode && a.parentNode.selectedIndex;return a.selected === !0 }, parent: function(a) {return !!a.firstChild }, empty: function(a) {return !a.firstChild }, has: function(a, b, c) {return !!m(c[3], a).length }, header: function(a) {return /h\d/i.test(a.nodeName) }, text: function(a) {var b = a.getAttribute("type"), c = a.type;return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) }, radio: function(a) {return a.nodeName.toLowerCase() === "input" && "radio" === a.type }, checkbox: function(a) {return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type }, file: function(a) {return a.nodeName.toLowerCase() === "input" && "file" === a.type }, password: function(a) {return a.nodeName.toLowerCase() === "input" && "password" === a.type }, submit: function(a) {var b = a.nodeName.toLowerCase();return (b === "input" || b === "button") && "submit" === a.type }, image: function(a) {return a.nodeName.toLowerCase() === "input" && "image" === a.type }, reset: function(a) {var b = a.nodeName.toLowerCase();return (b === "input" || b === "button") && "reset" === a.type }, button: function(a) {var b = a.nodeName.toLowerCase();return b === "input" && "button" === a.type || b === "button" }, input: function(a) {return /input|select|textarea|button/i.test(a.nodeName) }, focus: function(a) {return a === a.ownerDocument.activeElement }}, setFilters: {first: function(a, b) {return b === 0 }, last: function(a, b, c, d) {return b === d.length - 1 }, even: function(a, b) {return b % 2 === 0 }, odd: function(a, b) {return b % 2 === 1 }, lt: function(a, b, c) {return b < c[3] - 0 }, gt: function(a, b, c) {return b > c[3] - 0 }, nth: function(a, b, c) {return c[3] - 0 === b }, eq: function(a, b, c) {return c[3] - 0 === b }}, filter: {PSEUDO: function(a, b, c, d) {var e = b[1], f = o.filters[e];if (f) return f(a, c, b, d);if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0;if (e === "not") {var g = b[3];for (var h = 0, i = g.length;h < i;h++) if (g[h] === a) return !1;return !0 }m.error(e) }, CHILD: function(a, b) {var c, e, f, g, h, i, j, k = b[1], l = a;switch (k) {case "only": case "first": while (l = l.previousSibling) if (l.nodeType === 1) return !1;if (k === "first") return !0;l = a;case "last": while (l = l.nextSibling) if (l.nodeType === 1) return !1;return !0;case "nth": c = b[2], e = b[3];if (c === 1 && e === 0) return !0;f = b[0], g = a.parentNode;if (g && (g[d] !== f || !a.nodeIndex)) {i = 0;for (l = g.firstChild;l;l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i);g[d] = f }j = a.nodeIndex - e;return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 }}, ID: function(a, b) {return a.nodeType === 1 && a.getAttribute("id") === b }, TAG: function(a, b) {return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b }, CLASS: function(a, b) {return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 }, ATTR: function(a, b) {var c = b[1], d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), e = d + "", f = b[2], g = b[4];return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 }, POS: function(a, b, c, d) {var e = b[2], f = o.setFilters[e];if (f) return f(a, c, b, d) }}}, p = o.match.POS, q = function(a, b) {return "\\" + (b - 0 + 1) };for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q));o.match.globalPOS = p;var s = function(a, b) {a = Array.prototype.slice.call(a, 0);if (b) {b.push.apply(b, a);return b }return a };try {Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType }catch (t) {s = function(a, b) {var c = 0, d = b || [];if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a);else if (typeof a.length == "number") for (var e = a.length;c < e;c++) d.push(a[c]);else for (;a[c];c++) d.push(a[c]);return d }}var u, v;c.documentElement.compareDocumentPosition ? u = function(a, b) {if (a === b) {h = !0;return 0 }if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1;return a.compareDocumentPosition(b) & 4 ? -1 : 1 }: (u = function(a, b) {if (a === b) {h = !0;return 0 }if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex;var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g;if (g === i) return v(a, b);if (!g) return -1;if (!i) return 1;while (j) e.unshift(j), j = j.parentNode;j = i;while (j) f.unshift(j), j = j.parentNode;c = e.length, d = f.length;for (var k = 0;k < c && k < d;k++) if (e[k] !== f[k]) return v(e[k], f[k]);return k === c ? v(a, f[k], -1) : v(e[k], b, 1) }, v = function(a, b, c) {if (a === b) return c;var d = a.nextSibling;while (d) {if (d === b) return -1;d = d.nextSibling }return 1 }), function() {var a = c.createElement("div"), d = "script" + (new Date).getTime(), e = c.documentElement;a.innerHTML = "<a name='" + d + "'/>", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function(a, c, d) {if (typeof c.getElementById != "undefined" && !d) {var e = c.getElementById(a[1]);return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] }}, o.filter.ID = function(a, b) {var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id");return a.nodeType === 1 && c && c.nodeValue === b }), e.removeChild(a), e = a = null }(), function() {var a = c.createElement("div");a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function(a, b) {var c = b.getElementsByTagName(a[1]);if (a[1] === "*") {var d = [];for (var e = 0;c[e];e++) c[e].nodeType === 1 && d.push(c[e]);c = d }return c }), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function(a) {return a.getAttribute("href", 2) }), a = null }(), c.querySelectorAll && function() {var a = m, b = c.createElement("div"), d = "__sizzle__";b.innerHTML = "<p class='TEST'></p>";if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) {m = function(b, e, f, g) {e = e || c;if (!g && !m.isXML(e)) {var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if (h && (e.nodeType === 1 || e.nodeType === 9)) {if (h[1]) return s(e.getElementsByTagName(b), f);if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f) }if (e.nodeType === 9) {if (b === "body" && e.body) return s([e.body], f);if (h && h[3]) {var i = e.getElementById(h[3]);if (!i || !i.parentNode) return s([], f);if (i.id === h[3]) return s([i], f) }try {return s(e.querySelectorAll(b), f) }catch (j) {}}else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") {var k = e, l = e.getAttribute("id"), n = l || d, p = e.parentNode, q = /^\s*[+~]/.test(b);l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode);try {if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f) }catch (r) {}finally {l || k.removeAttribute("id") }}}return a(b, e, f, g) };for (var e in a) m[e] = a[e];b = null }}(), function() {var a = c.documentElement, b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector;if (b) {var d = !b.call(c.createElement("div"), "div"), e = !1;try {b.call(c.documentElement, "[test!='']:sizzle") }catch (f) {e = !0 }m.matchesSelector = function(a, c) {c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");if (!m.isXML(a)) try {if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) {var f = b.call(a, c);if (f || !d || a.document && a.document.nodeType !== 11) return f }}catch (g) {}return m(c, null, null, [a]).length > 0 }}}(), function() {var a = c.createElement("div");a.innerHTML = "<div class='test e'></div><div class='test'></div>";if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) {a.lastChild.className = "e";if (a.getElementsByClassName("e").length === 1) return;o.order.splice(1, 0, "CLASS"), o.find.CLASS = function(a, b, c) {if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]) }, a = null }}(), c.documentElement.contains ? m.contains = function(a, b) {return a !== b && (a.contains ? a.contains(b) : !0) }: c.documentElement.compareDocumentPosition ? m.contains = function(a, b) {return !!(a.compareDocumentPosition(b) & 16) }: m.contains = function() {return !1 }, m.isXML = function(a) {var b = (a ? a.ownerDocument || a : 0).documentElement;return b ? b.nodeName !== "HTML" : !1 };var y = function(a, b, c) {var d, e = [], f = "", g = b.nodeType ? [b] : b;while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, "");a = o.relative[a] ? a + "*" : a;for (var h = 0, i = g.length;h < i;h++) m(a, g[h], e, c);return m.filter(f, e) };m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains }();var L = /Until$/, M = /^(?:parents|prevUntil|prevAll)/, N = /,/, O = /^.[^:#\[\.,]*$/, P = Array.prototype.slice, Q = f.expr.match.globalPOS, R = {children: !0, contents: !0, next: !0, prev: !0 };f.fn.extend({find: function(a) {var b = this, c, d;if (typeof a != "string") return f(a).filter(function() {for (c = 0, d = b.length;c < d;c++) if (f.contains(b[c], this)) return !0 });var e = this.pushStack("", "find", a), g, h, i;for (c = 0, d = this.length;c < d;c++) {g = e.length, f.find(a, this[c], e);if (c > 0) for (h = g;h < e.length;h++) for (i = 0;i < g;i++) if (e[i] === e[h]) {e.splice(h--, 1);break }}return e }, has: function(a) {var b = f(a);return this.filter(function() {for (var a = 0, c = b.length;a < c;a++) if (f.contains(this, b[a])) return !0 }) }, not: function(a) {return this.pushStack(T(this, a, !1), "not", a) }, filter: function(a) {return this.pushStack(T(this, a, !0), "filter", a) }, is: function(a) {return !!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) }, closest: function(a, b) {var c = [], d, e, g = this[0];if (f.isArray(a)) {var h = 1;while (g && g.ownerDocument && g !== b) {for (d = 0;d < a.length;d++) f(g).is(a[d]) && c.push({selector: a[d], elem: g, level: h });g = g.parentNode, h++ }return c }var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0;for (d = 0, e = this.length;d < e;d++) {g = this[d];while (g) {if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) {c.push(g);break }g = g.parentNode;if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break }}c = c.length > 1 ? f.unique(c) : c;return this.pushStack(c, "closest", a) }, index: function(a) {if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1;if (typeof a == "string") return f.inArray(this[0], f(a));return f.inArray(a.jquery ? a[0] : a, this) }, add: function(a, b) {var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), d = f.merge(this.get(), c);return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) }, andSelf: function() {return this.add(this.prevObject) }}), f.each({parent: function(a) {var b = a.parentNode;return b && b.nodeType !== 11 ? b : null }, parents: function(a) {return f.dir(a, "parentNode") }, parentsUntil: function(a, b, c) {return f.dir(a, "parentNode", c) }, next: function(a) {return f.nth(a, 2, "nextSibling") }, prev: function(a) {return f.nth(a, 2, "previousSibling") }, nextAll: function(a) {return f.dir(a, "nextSibling") }, prevAll: function(a) {return f.dir(a, "previousSibling") }, nextUntil: function(a, b, c) {return f.dir(a, "nextSibling", c) }, prevUntil: function(a, b, c) {return f.dir(a, "previousSibling", c) }, siblings: function(a) {return f.sibling((a.parentNode || {}).firstChild, a) }, children: function(a) {return f.sibling(a.firstChild) }, contents: function(a) {return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) }}, function(a, b) {f.fn[a] = function(c, d) {var e = f.map(this, b, c);L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse());return this.pushStack(e, a, P.call(arguments).join(",")) }}), f.extend({filter: function(a, b, c) {c && (a = ":not(" + a + ")");return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) }, dir: function(a, c, d) {var e = [], g = a[c];while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c];return e }, nth: function(a, b, c, d) {b = b || 1;var e = 0;for (;a;a = a[c]) if (a.nodeType === 1 && ++e === b) break;return a }, sibling: function(a, b) {var c = [];for (;a;a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);return c }});var V = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", W = / jQuery\d+="(?:\d+|null)"/g, X = /^\s+/, Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, Z = /<([\w:]+)/, $ = /<tbody/i, _ = /<|&#?\w+;/, ba = /<(?:script|style)/i, bb = /<(?:script|object|embed|option|style)/i, bc = new RegExp("<(?:" + V + ")[\\s/>]", "i"), bd = /checked\s*(?:[^=]|=\s*.checked.)/i, be = /\/(java|ecma)script/i, bf = /^\s*<!(?:\[CDATA\[|\-\-)/, bg = {option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }, bh = U(c);bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div<div>", "</div>"]), f.fn.extend({text: function(a) {return f.access(this, function(a) {return a === b ? f.text(this) : this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)) }, null, a, arguments.length) }, wrapAll: function(a) {if (f.isFunction(a)) return this.each(function(b) {f(this).wrapAll(a.call(this, b)) });if (this[0]) {var b = f(a, this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode && b.insertBefore(this[0]), b.map(function() {var a = this;while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild;return a }).append(this) }return this }, wrapInner: function(a) {if (f.isFunction(a)) return this.each(function(b) {f(this).wrapInner(a.call(this, b)) });return this.each(function() {var b = f(this), c = b.contents();c.length ? c.wrapAll(a) : b.append(a) }) }, wrap: function(a) {var b = f.isFunction(a);return this.each(function(c) {f(this).wrapAll(b ? a.call(this, c) : a) }) }, unwrap: function() {return this.parent().each(function() {f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) }).end() }, append: function() {return this.domManip(arguments, !0, function(a) {this.nodeType === 1 && this.appendChild(a) }) }, prepend: function() {return this.domManip(arguments, !0, function(a) {this.nodeType === 1 && this.insertBefore(a, this.firstChild) }) }, before: function() {if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {this.parentNode.insertBefore(a, this) });if (arguments.length) {var a = f.clean(arguments);a.push.apply(a, this.toArray());return this.pushStack(a, "before", arguments) }}, after: function() {if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {this.parentNode.insertBefore(a, this.nextSibling) });if (arguments.length) {var a = this.pushStack(this, "after", arguments);a.push.apply(a, f.clean(arguments));return a }}, remove: function(a, b) {for (var c = 0, d;(d = this[c]) != null;c++) if (!a || f.filter(a, [d]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d);return this }, empty: function() {for (var a = 0, b;(b = this[a]) != null;a++) {b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*"));while (b.firstChild) b.removeChild(b.firstChild) }return this }, clone: function(a, b) {a = a == null ? !1 : a, b = b == null ? a : b;return this.map(function() {return f.clone(this, a, b) }) }, html: function(a) {return f.access(this, function(a) {var c = this[0] || {}, d = 0, e = this.length;if (a === b) return c.nodeType === 1 ? c.innerHTML.replace(W, "") : null;if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) {a = a.replace(Y, "<$1></$2>");try {for (;d < e;d++) c = this[d] || {}, c.nodeType === 1 && (f.cleanData(c.getElementsByTagName("*")), c.innerHTML = a);c = 0 }catch (g) {}}c && this.empty().append(a) }, null, a, arguments.length) }, domManip: function(a, c, d) {var e, g, h, i, j = a[0], k = [];if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j)) return this.each(function() {f(this).domManip(a, c, d, !0) });if (f.isFunction(j)) return this.each(function(e) {var g = f(this);a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) });if (this[0]) {i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = {fragment: i }: e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild;if (g) {c = c && f.nodeName(g, "tr");for (var l = 0, m = this.length, n = m - 1;l < m;l++) d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) }k.length && f.each(k, function(a, b) {b.src ? f.ajax({type: "GET", global: !1, url: b.src, async: !1, dataType: "script" }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "")), b.parentNode && b.parentNode.removeChild(b) }) }return this }}), f.buildFragment = function(a, b, d) {var e, g, h, i, j = a[0];b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1);return {fragment: e, cacheable: g }}, f.fragments = {}, f.each({appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(a, b) {f.fn[a] = function(c) {var d = [], e = f(c), g = this.length === 1 && this[0].parentNode;if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) {e[b](this[0]);return this }for (var h = 0, i = e.length;h < i;h++) {var j = (h > 0 ? this.clone(!0) : this).get();f(e[h])[b](j), d = d.concat(j) }return this.pushStack(d, a, e.selector) }}), f.extend({clone: function(a, b, c) {var d, e, g, h = f.support.html5Clone || f.isXMLDoc(a) || !bc.test("<" + a.nodeName + ">") ? a.cloneNode(!0) : bo(a);if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) {bk(a, h), d = bl(a), e = bl(h);for (g = 0;d[g];++g) e[g] && bk(d[g], e[g]) }if (b) {bj(a, h);if (c) {d = bl(a), e = bl(h);for (g = 0;d[g];++g) bj(d[g], e[g]) }}d = e = null;return h }, clean: function(a, b, d, e) {var g, h, i, j = [];b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c);for (var k = 0, l;(l = a[k]) != null;k++) {typeof l == "number" && (l += "");if (!l) continue;if (typeof l == "string") if (!_.test(l)) l = b.createTextNode(l);else {l = l.replace(Y, "<$1></$2>");var m = (Z.exec(l) || ["", ""])[1].toLowerCase(), n = bg[m] || bg._default, o = n[0], p = b.createElement("div"), q = bh.childNodes, r;b === c ? bh.appendChild(p) : U(b).appendChild(p), p.innerHTML = n[1] + l + n[2];while (o--) p = p.lastChild;if (!f.support.tbody) {var s = $.test(l), t = m === "table" && !s ? p.firstChild && p.firstChild.childNodes : n[1] === "<table>" && !s ? p.childNodes : [];for (i = t.length - 1;i >= 0;--i) f.nodeName(t[i], "tbody") && !t[i].childNodes.length && t[i].parentNode.removeChild(t[i]) }!f.support.leadingWhitespace && X.test(l) && p.insertBefore(b.createTextNode(X.exec(l)[0]), p.firstChild), l = p.childNodes, p && (p.parentNode.removeChild(p), q.length > 0 && (r = q[q.length - 1], r && r.parentNode && r.parentNode.removeChild(r))) }var u;if (!f.support.appendChecked) if (l[0] && typeof(u = l.length) == "number") for (i = 0;i < u;i++) bn(l[i]);else bn(l);l.nodeType ? j.push(l) : j = f.merge(j, l) }if (d) {g = function(a) {return !a.type || be.test(a.type) };for (k = 0;j[k];k++) {h = j[k];if (e && f.nodeName(h, "script") && (!h.type || be.test(h.type))) e.push(h.parentNode ? h.parentNode.removeChild(h) : h);else {if (h.nodeType === 1) {var v = f.grep(h.getElementsByTagName("script"), g);j.splice.apply(j, [k + 1, 0].concat(v)) }d.appendChild(h) }}}return j }, cleanData: function(a) {var b, c, d = f.cache, e = f.event.special, g = f.support.deleteExpando;for (var h = 0, i;(i = a[h]) != null;h++) {if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue;c = i[f.expando];if (c) {b = d[c];if (b && b.events) {for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle);b.handle && (b.handle.elem = null) }g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] }}}});var bp = /alpha\([^)]*\)/i, bq = /opacity=([^)]*)/, br = /([A-Z]|^ms)/g, bs = /^[\-+]?(?:\d*\.)?\d+$/i, bt = /^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i, bu = /^([\-+])=([\-+.\de]+)/, bv = /^margin/, bw = {position: "absolute", visibility: "hidden", display: "block" }, bx = ["Top", "Right", "Bottom", "Left"], by, bz, bA;f.fn.css = function(a, c) {return f.access(this, function(a, c, d) {return d !== b ? f.style(a, c, d) : f.css(a, c) }, a, c, arguments.length > 1) }, f.extend({cssHooks: {opacity: {get: function(a, b) {if (b) {var c = by(a, "opacity");return c === "" ? "1" : c }return a.style.opacity }}}, cssNumber: {fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {"float": f.support.cssFloat ? "cssFloat" : "styleFloat" }, css: function(a, c, d) {var e, g;c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float");if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e;if (by) return by(a, c) }, swap: function(a, b, c) {var d = {}, e, f;for (f in b) d[f] = a.style[f], a.style[f] = b[f];e = c.call(a);for (f in b) a.style[f] = d[f];return e }}), f.curCSS = f.css, c.defaultView && c.defaultView.getComputedStyle && (bz = function(a, b) {var c, d, e, g, h = a.style;b = b.replace(br, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))), !f.support.pixelMargin && e && bv.test(b) && bt.test(c) && (g = h.width, h.width = c, c = e.width, h.width = g);return c }), c.documentElement.currentStyle && (bA = function(a, b) {var c, d, e, f = a.currentStyle && a.currentStyle[b], g = a.style;f == null && g && (e = g[b]) && (f = e), bt.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d));return f === "" ? "auto" : f }), by = bz || bA, f.each(["height", "width"], function(a, b) {f.cssHooks[b] = {get: function(a, c, d) {if (c) return a.offsetWidth !== 0 ? bB(a, b, d) : f.swap(a, bw, function() {return bB(a, b, d) }) }, set: function(a, b) {return bs.test(b) ? b + "px" : b }}}), f.support.opacity || (f.cssHooks.opacity = {get: function(a, b) {return bq.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" }, set: function(a, b) {var c = a.style, d = a.currentStyle, e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", g = d && d.filter || c.filter || "";c.zoom = 1;if (b >= 1 && f.trim(g.replace(bp, "")) === "") {c.removeAttribute("filter");if (d && !d.filter) return }c.filter = bp.test(g) ? g.replace(bp, e) : g + " " + e }}), f(function() {f.support.reliableMarginRight || (f.cssHooks.marginRight = {get: function(a, b) {return f.swap(a, {display: "inline-block" }, function() {return b ? by(a, "margin-right") : a.style.marginRight }) }}) }), f.expr && f.expr.filters && (f.expr.filters.hidden = function(a) {var b = a.offsetWidth, c = a.offsetHeight;return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" }, f.expr.filters.visible = function(a) {return !f.expr.filters.hidden(a) }), f.each({margin: "", padding: "", border: "Width" }, function(a, b) {f.cssHooks[a + b] = {expand: function(c) {var d, e = typeof c == "string" ? c.split(" ") : [c], f = {};for (d = 0;d < 4;d++) f[a + bx[d] + b] = e[d] || e[d - 2] || e[0];return f }}});var bC = /%20/g, bD = /\[\]$/, bE = /\r?\n/g, bF = /#.*$/, bG = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, bH = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, bI = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, bJ = /^(?:GET|HEAD)$/, bK = /^\/\//, bL = /\?/, bM = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, bN = /^(?:select|textarea)/i, bO = /\s+/, bP = /([?&])_=[^&]*/, bQ = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, bR = f.fn.load, bS = {}, bT = {}, bU, bV, bW = ["*/"] + ["*"];try {bU = e.href }catch (bX) {bU = c.createElement("a"), bU.href = "", bU = bU.href }bV = bQ.exec(bU.toLowerCase()) || [], f.fn.extend({load: function(a, c, d) {if (typeof a != "string" && bR) return bR.apply(this, arguments);if (!this.length) return this;var e = a.indexOf(" ");if (e >= 0) {var g = a.slice(e, a.length);a = a.slice(0, e) }var h = "GET";c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST"));var i = this;f.ajax({url: a, type: h, dataType: "html", data: c, complete: function(a, b, c) {c = a.responseText, a.isResolved() && (a.done(function(a) {c = a }), i.html(g ? f("<div>").append(c.replace(bM, "")).find(g) : c)), d && i.each(d, [c, b, a]) }});return this }, serialize: function() {return f.param(this.serializeArray()) }, serializeArray: function() {return this.map(function() {return this.elements ? f.makeArray(this.elements) : this }).filter(function() {return this.name && !this.disabled && (this.checked || bN.test(this.nodeName) || bH.test(this.type)) }).map(function(a, b) {var c = f(this).val();return c == null ? null : f.isArray(c) ? f.map(c, function(a, c) {return {name: b.name, value: a.replace(bE, "\r\n") }}) : {name: b.name, value: c.replace(bE, "\r\n") }}).get() }}), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {f.fn[b] = function(a) {return this.on(b, a) }}), f.each(["get", "post"], function(a, c) {f[c] = function(a, d, e, g) {f.isFunction(d) && (g = g || e, e = d, d = b);return f.ajax({type: c, url: a, data: d, success: e, dataType: g }) }}), f.extend({getScript: function(a, c) {return f.get(a, b, c, "script") }, getJSON: function(a, b, c) {return f.get(a, b, c, "json") }, ajaxSetup: function(a, b) {b ? b$(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b$(a, b);return a }, ajaxSettings: {url: bU, isLocal: bI.test(bV[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded;charset=UTF-8", processData: !0, async: !0, accepts: {xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": bW }, contents: {xml: /xml/, html: /html/, json: /json/ }, responseFields: {xml: "responseXML", text: "responseText" }, converters: {"* text": a.String, "text html": !0, "text json": f.parseJSON, "text xml": f.parseXML }, flatOptions: {context: !0, url: !0 }}, ajaxPrefilter: bY(bS), ajaxTransport: bY(bT), ajax: function(a, c) {function w(a, c, l, m) {if (s !== 2) {s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0;var o, r, u, w = c, x = l ? ca(d, v, l) : b, y, z;if (a >= 200 && a < 300 || a === 304) {if (d.ifModified) {if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y;if (z = v.getResponseHeader("Etag")) f.etag[k] = z }if (a === 304) w = "notmodified", o = !0;else try {r = cb(d, x), w = "success", o = !0 }catch (A) {w = "parsererror", u = A }}else {u = w;if (!w || a) w = "error", a < 0 && (a = 0) }v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) }}typeof a == "object" && (c = a, a = b), c = c || {};var d = f.ajaxSetup({}, c), e = d.context || d, g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, h = f.Deferred(), i = f.Callbacks("once memory"), j = d.statusCode || {}, k, l = {}, m = {}, n, o, p, q, r, s = 0, t, u, v = {readyState: 0, setRequestHeader: function(a, b) {if (!s) {var c = a.toLowerCase();a = m[c] = m[c] || a, l[a] = b }return this }, getAllResponseHeaders: function() {return s === 2 ? n : null }, getResponseHeader: function(a) {var c;if (s === 2) {if (!o) {o = {};while (c = bG.exec(n)) o[c[1].toLowerCase()] = c[2] }c = o[a.toLowerCase()] }return c === b ? null : c }, overrideMimeType: function(a) {s || (d.mimeType = a);return this }, abort: function(a) {a = a || "abort", p && p.abort(a), w(0, a);return this }};h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function(a) {if (a) {var b;if (s < 2) for (b in a) j[b] = [j[b], a[b]];else b = a[v.status], v.then(b, b) }return this }, d.url = ((a || d.url) + "").replace(bF, "").replace(bK, bV[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bO), d.crossDomain == null && (r = bQ.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bV[1] && r[2] == bV[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bV[3] || (bV[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), bZ(bS, d, c, v);if (s === 2) return !1;t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bJ.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart");if (!d.hasContent) {d.data && (d.url += (bL.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url;if (d.cache === !1) {var x = f.now(), y = d.url.replace(bP, "$1_=" + x);d.url = y + (y === d.url ? (bL.test(d.url) ? "&" : "?") + "_=" + x : "") }}(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bW + ";q=0.01" : "") : d.accepts["*"]);for (u in d.headers) v.setRequestHeader(u, d.headers[u]);if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) {v.abort();return !1 }for (u in {success: 1, error: 1, complete: 1 }) v[u](d[u]);p = bZ(bT, d, c, v);if (!p) w(-1, "No Transport");else {v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function() {v.abort("timeout") }, d.timeout));try {s = 1, p.send(l, w) }catch (z) {if (s < 2) w(-1, z);else throw z }}return v }, });var cj = {}, ck, cl, cm = /^(?:toggle|show|hide)$/, cn = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, co, cp = [ ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"] ], cq;f.fn.extend({show: function(a, b, c) {var d, e;if (a || a === 0) return this.animate(ct("show", 3), a, b, c);for (var g = 0, h = this.length;g < h;g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), (e === "" && f.css(d, "display") === "none" || !f.contains(d.ownerDocument.documentElement, d)) && f._data(d, "olddisplay", cu(d.nodeName)));for (g = 0;g < h;g++) {d = this[g];if (d.style) {e = d.style.display;if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "" }}return this }, hide: function(a, b, c) {if (a || a === 0) return this.animate(ct("hide", 3), a, b, c);var d, e, g = 0, h = this.length;for (;g < h;g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e));for (g = 0;g < h;g++) this[g].style && (this[g].style.display = "none");return this }, _toggle: f.fn.toggle, toggle: function(a, b, c) {var d = typeof a == "boolean";f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() {var b = d ? a : f(this).is(":hidden");f(this)[b ? "show" : "hide"]() }) : this.animate(ct("toggle", 3), a, b, c);return this }, fadeTo: function(a, b, c, d) {return this.filter(":hidden").css("opacity", 0).show().end().animate({opacity: b }, a, c, d) }, animate: function(a, b, c, d) {function g() {e.queue === !1 && f._mark(this);var b = f.extend({}, e), c = this.nodeType === 1, d = c && f(this).is(":hidden"), g, h, i, j, k, l, m, n, o, p, q;b.animatedProperties = {};for (i in a) {g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]);if ((k = f.cssHooks[g]) && "expand" in k) {l = k.expand(a[g]), delete a[g];for (i in l) i in a || (a[i] = l[i]) }}for (g in a) {h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing";if (h === "hide" && d || h === "show" && !d) return b.complete.call(this);c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cu(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) }b.overflow != null && (this.style.overflow = "hidden");for (i in a) j = new f.fx(this, b, i), h = a[i], cm.test(h) ? (q = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), q ? (f._data(this, "toggle" + i, q === "show" ? "hide" : "show"), j[q]()) : j[h]()) : (m = cn.exec(h), n = j.cur(), m ? (o = parseFloat(m[2]), p = m[3] || (f.cssNumber[i] ? "" : "px"), p !== "px" && (f.style(this, i, (o || 1) + p), n = (o || 1) / j.cur() * n, f.style(this, i, n + p)), m[1] && (o = (m[1] === "-=" ? -1 : 1) * o + n), j.custom(n, o, p)) : j.custom(n, h, ""));return !0 }var e = f.speed(b, c, d);if (f.isEmptyObject(a)) return this.each(e.complete, [!1]);a = f.extend({}, a);return e.queue === !1 ? this.each(g) : this.queue(e.queue, g) }, stop: function(a, c, d) {typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []);return this.each(function() {function h(a, b, c) {var e = b[c];f.removeData(a, c, !0), e.stop(d) }var b, c = !1, e = f.timers, g = f._data(this);d || f._unmark(!0, this);if (a == null) for (b in g) g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b);else g[b = a + ".run"] && g[b].stop && h(this, g, b);for (b = e.length;b--;) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1));(!d || !c) && f.dequeue(this, a) }) }}), f.extend({speed: function(a, b, c) {var d = a && typeof a == "object" ? f.extend({}, a) : {complete: c || !c && b || f.isFunction(a) && a, duration: a, easing: c && b || b && !f.isFunction(b) && b };d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default;if (d.queue == null || d.queue === !0) d.queue = "fx";d.old = d.complete, d.complete = function(a) {f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) };return d }, easing: {linear: function(a) {return a }, swing: function(a) {return -Math.cos(a * Math.PI) / 2 + .5 }}, timers: [], fx: function(a, b, c) {this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {}}}), f.fx.prototype = {update: function() {this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) }, cur: function() {if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop];var a, b = f.css(this.elem, this.prop);return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a }, custom: function(a, c, d) {function h(a) {return e.step(a) }var e = this, g = f.fx;this.startTime = cq || cr(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function() {f._data(e.elem, "fxshow" + e.prop) === b && (e.options.hide ? f._data(e.elem, "fxshow" + e.prop, e.start) : e.options.show && f._data(e.elem, "fxshow" + e.prop, e.end)) }, h() && f.timers.push(h) && !co && (co = setInterval(g.tick, g.interval)) }, show: function() {var a = f._data(this.elem, "fxshow" + this.prop);this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() }, hide: function() {this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) }, step: function(a) {var b, c, d, e = cq || cr(), g = !0, h = this.elem, i = this.options;if (a || e >= i.duration + this.startTime) {this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0;for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1);if (g) {i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function(a, b) {h.style["overflow" + b] = i.overflow[a] }), i.hide && f(h).hide();if (i.hide || i.show) for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0);d = i.complete, d && (i.complete = !1, d.call(h)) }return !1 }i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update();return !0 }}, f.extend(f.fx, {tick: function() {var a, b = f.timers, c = 0;for (;c < b.length;c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1);b.length || f.fx.stop() }, interval: 13, stop: function() {clearInterval(co), co = null }, speeds: {slow: 600, fast: 200, _default: 400 }, step: {opacity: function(a) {f.style(a.elem, "opacity", a.now) }, _default: function(a) {a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now }}}), f.each(cp.concat.apply([], cp), function(a, b) {b.indexOf("margin") && (f.fx.step[b] = function(a) {f.style(a.elem, b, Math.max(0, a.now) + a.unit) }) }), f.expr && f.expr.filters && (f.expr.filters.animated = function(a) {return f.grep(f.timers, function(b) {return a === b.elem }).length });var cv, cw = /^t(?:able|d|h)$/i, cx = /^(?:body|html)$/i;"getBoundingClientRect" in c.documentElement ? cv = function(a, b, c, d) {try {d = a.getBoundingClientRect() }catch (e) {}if (!d || !f.contains(c, a)) return d ? {top: d.top, left: d.left }: {top: 0, left: 0 };var g = b.body, h = cy(b), i = c.clientTop || g.clientTop || 0, j = c.clientLeft || g.clientLeft || 0, k = h.pageYOffset || f.support.boxModel && c.scrollTop || g.scrollTop, l = h.pageXOffset || f.support.boxModel && c.scrollLeft || g.scrollLeft, m = d.top + k - i, n = d.left + l - j;return {top: m, left: n }}: cv = function(a, b, c) {var d, e = a.offsetParent, g = a, h = b.body, i = b.defaultView, j = i ? i.getComputedStyle(a, null) : a.currentStyle, k = a.offsetTop, l = a.offsetLeft;while ((a = a.parentNode) && a !== h && a !== c) {if (f.support.fixedPosition && j.position === "fixed") break;d = i ? i.getComputedStyle(a, null) : a.currentStyle, k -= a.scrollTop, l -= a.scrollLeft, a === e && (k += a.offsetTop, l += a.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(a.nodeName)) && (k += parseFloat(d.borderTopWidth) || 0, l += parseFloat(d.borderLeftWidth) || 0), g = e, e = a.offsetParent), f.support.subtractsBorderForOverflowNotVisible && d.overflow !== "visible" && (k += parseFloat(d.borderTopWidth) || 0, l += parseFloat(d.borderLeftWidth) || 0), j = d }if (j.position === "relative" || j.position === "static") k += h.offsetTop, l += h.offsetLeft;f.support.fixedPosition && j.position === "fixed" && (k += Math.max(c.scrollTop, h.scrollTop), l += Math.max(c.scrollLeft, h.scrollLeft));return {top: k, left: l }}, f.fn.offset = function(a) {if (arguments.length) return a === b ? this : this.each(function(b) {f.offset.setOffset(this, a, b) });var c = this[0], d = c && c.ownerDocument;if (!d) return null;if (c === d.body) return f.offset.bodyOffset(c);return cv(c, d, d.documentElement) }, f.offset = {bodyOffset: function(a) {var b = a.offsetTop, c = a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0);return {top: b, left: c }}, setOffset: function(a, b, c) {var d = f.css(a, "position");d === "static" && (a.style.position = "relative");var e = f(a), g = e.offset(), h = f.css(a, "top"), i = f.css(a, "left"), j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, k = {}, l = {}, m, n;j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k) }}, f.fn.extend({position: function() {if (!this[0]) return null;var a = this[0], b = this.offsetParent(), c = this.offset(), d = cx.test(b[0].nodeName) ? {top: 0, left: 0 }: b.offset();c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0;return {top: c.top - d.top, left: c.left - d.left }}, offsetParent: function() {return this.map(function() {var a = this.offsetParent || c.body;while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent;return a }) }}), f.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(a, c) {var d = /Y/.test(c);f.fn[a] = function(e) {return f.access(this, function(a, e, g) {var h = cy(a);if (g === b) return h ? c in h ? h[c] : f.support.boxModel && h.document.documentElement[e] || h.document.body[e] : a[e];h ? h.scrollTo(d ? f(h).scrollLeft() : g, d ? g : f(h).scrollTop()) : a[e] = g }, a, e, arguments.length, null) }}), a.jQuery = a.$ = f, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() {return f }) })(window);
  714. </script><script>jQuery(document).ready(function($){$(".scroll").click(function(event){event.preventDefault();$('html,body').animate({scrollTop:$(this.hash).offset().top},1)})});</script>
  715.  
  716.  
  717. <div class=hideme>
  718. <button onclick="topFunction()" id="top" title="Go to top">Top</button>
  719. </div>
  720. <script>
  721. // Get the button
  722. let mybutton = document.getElementById("top");
  723.  
  724. // When the user scrolls down 20px from the top of the document, show the button
  725. window.onscroll = function() {scrollFunction()};
  726.  
  727. function scrollFunction() {
  728.  if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
  729.    mybutton.style.display = "block";
  730.  } else {
  731.    mybutton.style.display = "none";
  732.  }
  733. }
  734.  
  735. // When the user clicks on the button, scroll to the top of the document
  736. function topFunction() {
  737.  document.body.scrollTop = 0;
  738.  document.documentElement.scrollTop = 0;
  739. }
  740. </script>
  741. <script>
  742. var acc = document.getElementsByClassName("accordion");
  743. var i;
  744. for (i = 0; i < acc.length; i++) {
  745.  acc[i].addEventListener("click", function() {
  746.    this.classList.toggle("active");
  747.    var panel = this.nextElementSibling;
  748.    if (panel.style.maxHeight) {
  749.      panel.style.maxHeight = null;
  750.    } else {
  751.      panel.style.maxHeight = panel.scrollHeight + "px";
  752.    }
  753.  });
  754. }
  755. </script>
  756.  
  757. <script async data-id="101444485" src="//static.getclicky.com/js"></script>
  758. <noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/101444485ns.gif" /></p></noscript>
  759. </div>
  760.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda