uswds-jekyll 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (406) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +31 -0
  3. data/README.md +547 -0
  4. data/_includes/banner.html +1 -0
  5. data/_includes/components/banner.html +20 -0
  6. data/_includes/components/footer.html +71 -0
  7. data/_includes/components/graphic-list.html +16 -0
  8. data/_includes/components/header--basic.html +72 -0
  9. data/_includes/components/header--extended.html +85 -0
  10. data/_includes/components/hero.html +32 -0
  11. data/_includes/favicon.html +5 -0
  12. data/_includes/footer.html +2 -0
  13. data/_includes/graphic-list.html +2 -0
  14. data/_includes/header.html +7 -0
  15. data/_includes/meta.html +6 -0
  16. data/_includes/scripts.html +21 -0
  17. data/_includes/sidenav.html +20 -0
  18. data/_includes/skipnav.html +1 -0
  19. data/_includes/styles.html +17 -0
  20. data/_includes/subnav.html +5 -0
  21. data/_layouts/base.html +21 -0
  22. data/_layouts/docs.html +19 -0
  23. data/_layouts/landing.html +30 -0
  24. data/_layouts/search-results.html +25 -0
  25. data/_sass/uswds/_all.scss +1 -0
  26. data/_sass/uswds/components/_accordions.scss +150 -0
  27. data/_sass/uswds/components/_alerts.scss +94 -0
  28. data/_sass/uswds/components/_banner.scss +204 -0
  29. data/_sass/uswds/components/_footer.scss +382 -0
  30. data/_sass/uswds/components/_forms.scss +164 -0
  31. data/_sass/uswds/components/_graphic-list.scss +35 -0
  32. data/_sass/uswds/components/_header.scss +221 -0
  33. data/_sass/uswds/components/_hero.scss +43 -0
  34. data/_sass/uswds/components/_layout.scss +36 -0
  35. data/_sass/uswds/components/_media-block.scss +12 -0
  36. data/_sass/uswds/components/_navigation.scss +454 -0
  37. data/_sass/uswds/components/_search.scss +106 -0
  38. data/_sass/uswds/components/_section.scss +37 -0
  39. data/_sass/uswds/components/_sidenav.scss +8 -0
  40. data/_sass/uswds/components/_skipnav.scss +19 -0
  41. data/_sass/uswds/core/_base.scss +30 -0
  42. data/_sass/uswds/core/_defaults.scss +8 -0
  43. data/_sass/uswds/core/_fonts.scss +65 -0
  44. data/_sass/uswds/core/_grid-settings.scss +3 -0
  45. data/_sass/uswds/core/_grid.scss +199 -0
  46. data/_sass/uswds/core/_utilities.scss +232 -0
  47. data/_sass/uswds/core/_variables.scss +123 -0
  48. data/_sass/uswds/elements/_buttons.scss +191 -0
  49. data/_sass/uswds/elements/_embed.scss +26 -0
  50. data/_sass/uswds/elements/_figure.scss +13 -0
  51. data/_sass/uswds/elements/_inputs.scss +346 -0
  52. data/_sass/uswds/elements/_labels.scss +20 -0
  53. data/_sass/uswds/elements/_list.scss +32 -0
  54. data/_sass/uswds/elements/_table.scss +47 -0
  55. data/_sass/uswds/elements/_typography.scss +257 -0
  56. data/_sass/uswds/lib/_bourbon-deprecated-upcoming.scss +411 -0
  57. data/_sass/uswds/lib/_bourbon.scss +87 -0
  58. data/_sass/uswds/lib/_neat-helpers.scss +11 -0
  59. data/_sass/uswds/lib/_neat.scss +23 -0
  60. data/_sass/uswds/lib/_normalize.scss +424 -0
  61. data/_sass/uswds/lib/addons/_border-color.scss +26 -0
  62. data/_sass/uswds/lib/addons/_border-radius.scss +48 -0
  63. data/_sass/uswds/lib/addons/_border-style.scss +25 -0
  64. data/_sass/uswds/lib/addons/_border-width.scss +25 -0
  65. data/_sass/uswds/lib/addons/_buttons.scss +64 -0
  66. data/_sass/uswds/lib/addons/_clearfix.scss +25 -0
  67. data/_sass/uswds/lib/addons/_ellipsis.scss +30 -0
  68. data/_sass/uswds/lib/addons/_font-stacks.scss +31 -0
  69. data/_sass/uswds/lib/addons/_hide-text.scss +27 -0
  70. data/_sass/uswds/lib/addons/_margin.scss +26 -0
  71. data/_sass/uswds/lib/addons/_padding.scss +26 -0
  72. data/_sass/uswds/lib/addons/_position.scss +48 -0
  73. data/_sass/uswds/lib/addons/_prefixer.scss +66 -0
  74. data/_sass/uswds/lib/addons/_retina-image.scss +25 -0
  75. data/_sass/uswds/lib/addons/_size.scss +51 -0
  76. data/_sass/uswds/lib/addons/_text-inputs.scss +113 -0
  77. data/_sass/uswds/lib/addons/_timing-functions.scss +34 -0
  78. data/_sass/uswds/lib/addons/_triangle.scss +63 -0
  79. data/_sass/uswds/lib/addons/_word-wrap.scss +29 -0
  80. data/_sass/uswds/lib/css3/_animation.scss +43 -0
  81. data/_sass/uswds/lib/css3/_appearance.scss +3 -0
  82. data/_sass/uswds/lib/css3/_backface-visibility.scss +3 -0
  83. data/_sass/uswds/lib/css3/_background-image.scss +42 -0
  84. data/_sass/uswds/lib/css3/_background.scss +55 -0
  85. data/_sass/uswds/lib/css3/_border-image.scss +59 -0
  86. data/_sass/uswds/lib/css3/_calc.scss +4 -0
  87. data/_sass/uswds/lib/css3/_columns.scss +47 -0
  88. data/_sass/uswds/lib/css3/_filter.scss +4 -0
  89. data/_sass/uswds/lib/css3/_flex-box.scss +287 -0
  90. data/_sass/uswds/lib/css3/_font-face.scss +24 -0
  91. data/_sass/uswds/lib/css3/_font-feature-settings.scss +4 -0
  92. data/_sass/uswds/lib/css3/_hidpi-media-query.scss +10 -0
  93. data/_sass/uswds/lib/css3/_hyphens.scss +4 -0
  94. data/_sass/uswds/lib/css3/_image-rendering.scss +14 -0
  95. data/_sass/uswds/lib/css3/_keyframes.scss +36 -0
  96. data/_sass/uswds/lib/css3/_linear-gradient.scss +38 -0
  97. data/_sass/uswds/lib/css3/_perspective.scss +8 -0
  98. data/_sass/uswds/lib/css3/_placeholder.scss +8 -0
  99. data/_sass/uswds/lib/css3/_radial-gradient.scss +39 -0
  100. data/_sass/uswds/lib/css3/_selection.scss +42 -0
  101. data/_sass/uswds/lib/css3/_text-decoration.scss +19 -0
  102. data/_sass/uswds/lib/css3/_transform.scss +15 -0
  103. data/_sass/uswds/lib/css3/_transition.scss +71 -0
  104. data/_sass/uswds/lib/css3/_user-select.scss +3 -0
  105. data/_sass/uswds/lib/functions/_assign-inputs.scss +11 -0
  106. data/_sass/uswds/lib/functions/_contains-falsy.scss +20 -0
  107. data/_sass/uswds/lib/functions/_contains.scss +26 -0
  108. data/_sass/uswds/lib/functions/_is-length.scss +11 -0
  109. data/_sass/uswds/lib/functions/_is-light.scss +21 -0
  110. data/_sass/uswds/lib/functions/_is-number.scss +11 -0
  111. data/_sass/uswds/lib/functions/_is-size.scss +13 -0
  112. data/_sass/uswds/lib/functions/_modular-scale.scss +69 -0
  113. data/_sass/uswds/lib/functions/_new-breakpoint.scss +49 -0
  114. data/_sass/uswds/lib/functions/_private.scss +114 -0
  115. data/_sass/uswds/lib/functions/_px-to-em.scss +13 -0
  116. data/_sass/uswds/lib/functions/_px-to-rem.scss +15 -0
  117. data/_sass/uswds/lib/functions/_shade.scss +24 -0
  118. data/_sass/uswds/lib/functions/_strip-units.scss +17 -0
  119. data/_sass/uswds/lib/functions/_tint.scss +24 -0
  120. data/_sass/uswds/lib/functions/_transition-property-name.scss +22 -0
  121. data/_sass/uswds/lib/functions/_unpack.scss +27 -0
  122. data/_sass/uswds/lib/grid/_box-sizing.scss +15 -0
  123. data/_sass/uswds/lib/grid/_direction-context.scss +33 -0
  124. data/_sass/uswds/lib/grid/_display-context.scss +28 -0
  125. data/_sass/uswds/lib/grid/_fill-parent.scss +22 -0
  126. data/_sass/uswds/lib/grid/_media.scss +92 -0
  127. data/_sass/uswds/lib/grid/_omega.scss +87 -0
  128. data/_sass/uswds/lib/grid/_outer-container.scss +34 -0
  129. data/_sass/uswds/lib/grid/_pad.scss +25 -0
  130. data/_sass/uswds/lib/grid/_private.scss +35 -0
  131. data/_sass/uswds/lib/grid/_row.scss +52 -0
  132. data/_sass/uswds/lib/grid/_shift.scss +50 -0
  133. data/_sass/uswds/lib/grid/_span-columns.scss +94 -0
  134. data/_sass/uswds/lib/grid/_to-deprecate.scss +97 -0
  135. data/_sass/uswds/lib/grid/_visual-grid.scss +42 -0
  136. data/_sass/uswds/lib/helpers/_convert-units.scss +21 -0
  137. data/_sass/uswds/lib/helpers/_directional-values.scss +96 -0
  138. data/_sass/uswds/lib/helpers/_font-source-declaration.scss +43 -0
  139. data/_sass/uswds/lib/helpers/_gradient-positions-parser.scss +13 -0
  140. data/_sass/uswds/lib/helpers/_linear-angle-parser.scss +25 -0
  141. data/_sass/uswds/lib/helpers/_linear-gradient-parser.scss +41 -0
  142. data/_sass/uswds/lib/helpers/_linear-positions-parser.scss +61 -0
  143. data/_sass/uswds/lib/helpers/_linear-side-corner-parser.scss +31 -0
  144. data/_sass/uswds/lib/helpers/_radial-arg-parser.scss +69 -0
  145. data/_sass/uswds/lib/helpers/_radial-gradient-parser.scss +50 -0
  146. data/_sass/uswds/lib/helpers/_radial-positions-parser.scss +18 -0
  147. data/_sass/uswds/lib/helpers/_render-gradients.scss +26 -0
  148. data/_sass/uswds/lib/helpers/_shape-size-stripper.scss +10 -0
  149. data/_sass/uswds/lib/helpers/_str-to-num.scss +50 -0
  150. data/_sass/uswds/lib/mixins/_clearfix.scss +25 -0
  151. data/_sass/uswds/lib/settings/_asset-pipeline.scss +7 -0
  152. data/_sass/uswds/lib/settings/_disable-warnings.scss +13 -0
  153. data/_sass/uswds/lib/settings/_grid.scss +51 -0
  154. data/_sass/uswds/lib/settings/_prefixer.scss +9 -0
  155. data/_sass/uswds/lib/settings/_px-to-em.scss +1 -0
  156. data/_sass/uswds/lib/settings/_visual-grid.scss +27 -0
  157. data/_sass/uswds/uswds.scss +41 -0
  158. data/assets/uswds/CONTRIBUTING.md +145 -0
  159. data/assets/uswds/LICENSE.md +63 -0
  160. data/assets/uswds/README.md +259 -0
  161. data/assets/uswds/css/uswds.css +4463 -0
  162. data/assets/uswds/css/uswds.min.css +4 -0
  163. data/assets/uswds/css/uswds.min.css.map +1 -0
  164. data/assets/uswds/fonts/merriweather-bold-webfont.eot +0 -0
  165. data/assets/uswds/fonts/merriweather-bold-webfont.ttf +0 -0
  166. data/assets/uswds/fonts/merriweather-bold-webfont.woff +0 -0
  167. data/assets/uswds/fonts/merriweather-bold-webfont.woff2 +0 -0
  168. data/assets/uswds/fonts/merriweather-italic-webfont.eot +0 -0
  169. data/assets/uswds/fonts/merriweather-italic-webfont.ttf +0 -0
  170. data/assets/uswds/fonts/merriweather-italic-webfont.woff +0 -0
  171. data/assets/uswds/fonts/merriweather-italic-webfont.woff2 +0 -0
  172. data/assets/uswds/fonts/merriweather-light-webfont.eot +0 -0
  173. data/assets/uswds/fonts/merriweather-light-webfont.ttf +0 -0
  174. data/assets/uswds/fonts/merriweather-light-webfont.woff +0 -0
  175. data/assets/uswds/fonts/merriweather-light-webfont.woff2 +0 -0
  176. data/assets/uswds/fonts/merriweather-regular-webfont.eot +0 -0
  177. data/assets/uswds/fonts/merriweather-regular-webfont.ttf +0 -0
  178. data/assets/uswds/fonts/merriweather-regular-webfont.woff +0 -0
  179. data/assets/uswds/fonts/merriweather-regular-webfont.woff2 +0 -0
  180. data/assets/uswds/fonts/sourcesanspro-bold-webfont.eot +0 -0
  181. data/assets/uswds/fonts/sourcesanspro-bold-webfont.ttf +0 -0
  182. data/assets/uswds/fonts/sourcesanspro-bold-webfont.woff +0 -0
  183. data/assets/uswds/fonts/sourcesanspro-bold-webfont.woff2 +0 -0
  184. data/assets/uswds/fonts/sourcesanspro-italic-webfont.eot +0 -0
  185. data/assets/uswds/fonts/sourcesanspro-italic-webfont.ttf +0 -0
  186. data/assets/uswds/fonts/sourcesanspro-italic-webfont.woff +0 -0
  187. data/assets/uswds/fonts/sourcesanspro-italic-webfont.woff2 +0 -0
  188. data/assets/uswds/fonts/sourcesanspro-light-webfont.eot +0 -0
  189. data/assets/uswds/fonts/sourcesanspro-light-webfont.ttf +0 -0
  190. data/assets/uswds/fonts/sourcesanspro-light-webfont.woff +0 -0
  191. data/assets/uswds/fonts/sourcesanspro-light-webfont.woff2 +0 -0
  192. data/assets/uswds/fonts/sourcesanspro-regular-webfont.eot +0 -0
  193. data/assets/uswds/fonts/sourcesanspro-regular-webfont.ttf +0 -0
  194. data/assets/uswds/fonts/sourcesanspro-regular-webfont.woff +0 -0
  195. data/assets/uswds/fonts/sourcesanspro-regular-webfont.woff2 +0 -0
  196. data/assets/uswds/img/alerts/error.png +0 -0
  197. data/assets/uswds/img/alerts/error.svg +17 -0
  198. data/assets/uswds/img/alerts/info.png +0 -0
  199. data/assets/uswds/img/alerts/info.svg +18 -0
  200. data/assets/uswds/img/alerts/success.png +0 -0
  201. data/assets/uswds/img/alerts/success.svg +12 -0
  202. data/assets/uswds/img/alerts/warning.png +0 -0
  203. data/assets/uswds/img/alerts/warning.svg +16 -0
  204. data/assets/uswds/img/angle-arrow-down-hover.png +0 -0
  205. data/assets/uswds/img/angle-arrow-down-hover.svg +1 -0
  206. data/assets/uswds/img/angle-arrow-down-primary-hover.png +0 -0
  207. data/assets/uswds/img/angle-arrow-down-primary-hover.svg +1 -0
  208. data/assets/uswds/img/angle-arrow-down-primary.png +0 -0
  209. data/assets/uswds/img/angle-arrow-down-primary.svg +1 -0
  210. data/assets/uswds/img/angle-arrow-down.png +0 -0
  211. data/assets/uswds/img/angle-arrow-down.svg +1 -0
  212. data/assets/uswds/img/angle-arrow-up-primary-hover.png +0 -0
  213. data/assets/uswds/img/angle-arrow-up-primary-hover.svg +1 -0
  214. data/assets/uswds/img/angle-arrow-up-primary.png +0 -0
  215. data/assets/uswds/img/angle-arrow-up-primary.svg +1 -0
  216. data/assets/uswds/img/arrow-down.png +0 -0
  217. data/assets/uswds/img/arrow-down.svg +1 -0
  218. data/assets/uswds/img/arrow-right.png +0 -0
  219. data/assets/uswds/img/arrow-right.svg +1 -0
  220. data/assets/uswds/img/circle-124.png +0 -0
  221. data/assets/uswds/img/close.png +0 -0
  222. data/assets/uswds/img/close.svg +1 -0
  223. data/assets/uswds/img/correct8.png +0 -0
  224. data/assets/uswds/img/correct8.svg +1 -0
  225. data/assets/uswds/img/correct9.png +0 -0
  226. data/assets/uswds/img/correct9.svg +1 -0
  227. data/assets/uswds/img/external-link-alt-hover.png +0 -0
  228. data/assets/uswds/img/external-link-alt-hover.svg +1 -0
  229. data/assets/uswds/img/external-link-alt.png +0 -0
  230. data/assets/uswds/img/external-link-alt.svg +1 -0
  231. data/assets/uswds/img/external-link-hover.png +0 -0
  232. data/assets/uswds/img/external-link-hover.svg +1 -0
  233. data/assets/uswds/img/external-link.png +0 -0
  234. data/assets/uswds/img/external-link.svg +1 -0
  235. data/assets/uswds/img/favicons/favicon-114.png +0 -0
  236. data/assets/uswds/img/favicons/favicon-144.png +0 -0
  237. data/assets/uswds/img/favicons/favicon-16.png +0 -0
  238. data/assets/uswds/img/favicons/favicon-192.png +0 -0
  239. data/assets/uswds/img/favicons/favicon-40.png +0 -0
  240. data/assets/uswds/img/favicons/favicon-57.png +0 -0
  241. data/assets/uswds/img/favicons/favicon-72.png +0 -0
  242. data/assets/uswds/img/favicons/favicon.ico +0 -0
  243. data/assets/uswds/img/favicons/favicon.png +0 -0
  244. data/assets/uswds/img/hero.png +0 -0
  245. data/assets/uswds/img/icon-dot-gov.svg +1 -0
  246. data/assets/uswds/img/icon-https.svg +1 -0
  247. data/assets/uswds/img/logo-img.png +0 -0
  248. data/assets/uswds/img/minus-alt.png +0 -0
  249. data/assets/uswds/img/minus-alt.svg +1 -0
  250. data/assets/uswds/img/minus.png +0 -0
  251. data/assets/uswds/img/minus.svg +1 -0
  252. data/assets/uswds/img/plus-alt.png +0 -0
  253. data/assets/uswds/img/plus-alt.svg +1 -0
  254. data/assets/uswds/img/plus.png +0 -0
  255. data/assets/uswds/img/plus.svg +1 -0
  256. data/assets/uswds/img/search-alt.png +0 -0
  257. data/assets/uswds/img/search-alt.svg +1 -0
  258. data/assets/uswds/img/search.png +0 -0
  259. data/assets/uswds/img/search.svg +1 -0
  260. data/assets/uswds/img/social-icons/png/facebook25.png +0 -0
  261. data/assets/uswds/img/social-icons/png/rss25.png +0 -0
  262. data/assets/uswds/img/social-icons/png/twitter16.png +0 -0
  263. data/assets/uswds/img/social-icons/png/youtube15.png +0 -0
  264. data/assets/uswds/img/social-icons/svg/facebook25.svg +1 -0
  265. data/assets/uswds/img/social-icons/svg/rss25.svg +1 -0
  266. data/assets/uswds/img/social-icons/svg/twitter16.svg +1 -0
  267. data/assets/uswds/img/social-icons/svg/youtube15.svg +1 -0
  268. data/assets/uswds/img/us_flag_small.png +0 -0
  269. data/assets/uswds/js/uswds.js +1831 -0
  270. data/assets/uswds/js/uswds.min.js +2 -0
  271. data/assets/uswds/js/uswds.min.js.map +1 -0
  272. data/assets/uswds/scss/_all.scss +1 -0
  273. data/assets/uswds/scss/components/_accordions.scss +150 -0
  274. data/assets/uswds/scss/components/_alerts.scss +94 -0
  275. data/assets/uswds/scss/components/_banner.scss +204 -0
  276. data/assets/uswds/scss/components/_footer.scss +382 -0
  277. data/assets/uswds/scss/components/_forms.scss +164 -0
  278. data/assets/uswds/scss/components/_graphic-list.scss +35 -0
  279. data/assets/uswds/scss/components/_header.scss +221 -0
  280. data/assets/uswds/scss/components/_hero.scss +43 -0
  281. data/assets/uswds/scss/components/_layout.scss +36 -0
  282. data/assets/uswds/scss/components/_media-block.scss +12 -0
  283. data/assets/uswds/scss/components/_navigation.scss +454 -0
  284. data/assets/uswds/scss/components/_search.scss +106 -0
  285. data/assets/uswds/scss/components/_section.scss +37 -0
  286. data/assets/uswds/scss/components/_sidenav.scss +8 -0
  287. data/assets/uswds/scss/components/_skipnav.scss +19 -0
  288. data/assets/uswds/scss/core/_base.scss +30 -0
  289. data/assets/uswds/scss/core/_defaults.scss +8 -0
  290. data/assets/uswds/scss/core/_fonts.scss +65 -0
  291. data/assets/uswds/scss/core/_grid-settings.scss +3 -0
  292. data/assets/uswds/scss/core/_grid.scss +199 -0
  293. data/assets/uswds/scss/core/_utilities.scss +232 -0
  294. data/assets/uswds/scss/core/_variables.scss +123 -0
  295. data/assets/uswds/scss/elements/_buttons.scss +191 -0
  296. data/assets/uswds/scss/elements/_embed.scss +26 -0
  297. data/assets/uswds/scss/elements/_figure.scss +13 -0
  298. data/assets/uswds/scss/elements/_inputs.scss +346 -0
  299. data/assets/uswds/scss/elements/_labels.scss +20 -0
  300. data/assets/uswds/scss/elements/_list.scss +32 -0
  301. data/assets/uswds/scss/elements/_table.scss +47 -0
  302. data/assets/uswds/scss/elements/_typography.scss +257 -0
  303. data/assets/uswds/scss/lib/_bourbon-deprecated-upcoming.scss +411 -0
  304. data/assets/uswds/scss/lib/_bourbon.scss +87 -0
  305. data/assets/uswds/scss/lib/_neat-helpers.scss +11 -0
  306. data/assets/uswds/scss/lib/_neat.scss +23 -0
  307. data/assets/uswds/scss/lib/_normalize.scss +424 -0
  308. data/assets/uswds/scss/lib/addons/_border-color.scss +26 -0
  309. data/assets/uswds/scss/lib/addons/_border-radius.scss +48 -0
  310. data/assets/uswds/scss/lib/addons/_border-style.scss +25 -0
  311. data/assets/uswds/scss/lib/addons/_border-width.scss +25 -0
  312. data/assets/uswds/scss/lib/addons/_buttons.scss +64 -0
  313. data/assets/uswds/scss/lib/addons/_clearfix.scss +25 -0
  314. data/assets/uswds/scss/lib/addons/_ellipsis.scss +30 -0
  315. data/assets/uswds/scss/lib/addons/_font-stacks.scss +31 -0
  316. data/assets/uswds/scss/lib/addons/_hide-text.scss +27 -0
  317. data/assets/uswds/scss/lib/addons/_margin.scss +26 -0
  318. data/assets/uswds/scss/lib/addons/_padding.scss +26 -0
  319. data/assets/uswds/scss/lib/addons/_position.scss +48 -0
  320. data/assets/uswds/scss/lib/addons/_prefixer.scss +66 -0
  321. data/assets/uswds/scss/lib/addons/_retina-image.scss +25 -0
  322. data/assets/uswds/scss/lib/addons/_size.scss +51 -0
  323. data/assets/uswds/scss/lib/addons/_text-inputs.scss +113 -0
  324. data/assets/uswds/scss/lib/addons/_timing-functions.scss +34 -0
  325. data/assets/uswds/scss/lib/addons/_triangle.scss +63 -0
  326. data/assets/uswds/scss/lib/addons/_word-wrap.scss +29 -0
  327. data/assets/uswds/scss/lib/css3/_animation.scss +43 -0
  328. data/assets/uswds/scss/lib/css3/_appearance.scss +3 -0
  329. data/assets/uswds/scss/lib/css3/_backface-visibility.scss +3 -0
  330. data/assets/uswds/scss/lib/css3/_background-image.scss +42 -0
  331. data/assets/uswds/scss/lib/css3/_background.scss +55 -0
  332. data/assets/uswds/scss/lib/css3/_border-image.scss +59 -0
  333. data/assets/uswds/scss/lib/css3/_calc.scss +4 -0
  334. data/assets/uswds/scss/lib/css3/_columns.scss +47 -0
  335. data/assets/uswds/scss/lib/css3/_filter.scss +4 -0
  336. data/assets/uswds/scss/lib/css3/_flex-box.scss +287 -0
  337. data/assets/uswds/scss/lib/css3/_font-face.scss +24 -0
  338. data/assets/uswds/scss/lib/css3/_font-feature-settings.scss +4 -0
  339. data/assets/uswds/scss/lib/css3/_hidpi-media-query.scss +10 -0
  340. data/assets/uswds/scss/lib/css3/_hyphens.scss +4 -0
  341. data/assets/uswds/scss/lib/css3/_image-rendering.scss +14 -0
  342. data/assets/uswds/scss/lib/css3/_keyframes.scss +36 -0
  343. data/assets/uswds/scss/lib/css3/_linear-gradient.scss +38 -0
  344. data/assets/uswds/scss/lib/css3/_perspective.scss +8 -0
  345. data/assets/uswds/scss/lib/css3/_placeholder.scss +8 -0
  346. data/assets/uswds/scss/lib/css3/_radial-gradient.scss +39 -0
  347. data/assets/uswds/scss/lib/css3/_selection.scss +42 -0
  348. data/assets/uswds/scss/lib/css3/_text-decoration.scss +19 -0
  349. data/assets/uswds/scss/lib/css3/_transform.scss +15 -0
  350. data/assets/uswds/scss/lib/css3/_transition.scss +71 -0
  351. data/assets/uswds/scss/lib/css3/_user-select.scss +3 -0
  352. data/assets/uswds/scss/lib/functions/_assign-inputs.scss +11 -0
  353. data/assets/uswds/scss/lib/functions/_contains-falsy.scss +20 -0
  354. data/assets/uswds/scss/lib/functions/_contains.scss +26 -0
  355. data/assets/uswds/scss/lib/functions/_is-length.scss +11 -0
  356. data/assets/uswds/scss/lib/functions/_is-light.scss +21 -0
  357. data/assets/uswds/scss/lib/functions/_is-number.scss +11 -0
  358. data/assets/uswds/scss/lib/functions/_is-size.scss +13 -0
  359. data/assets/uswds/scss/lib/functions/_modular-scale.scss +69 -0
  360. data/assets/uswds/scss/lib/functions/_new-breakpoint.scss +49 -0
  361. data/assets/uswds/scss/lib/functions/_private.scss +114 -0
  362. data/assets/uswds/scss/lib/functions/_px-to-em.scss +13 -0
  363. data/assets/uswds/scss/lib/functions/_px-to-rem.scss +15 -0
  364. data/assets/uswds/scss/lib/functions/_shade.scss +24 -0
  365. data/assets/uswds/scss/lib/functions/_strip-units.scss +17 -0
  366. data/assets/uswds/scss/lib/functions/_tint.scss +24 -0
  367. data/assets/uswds/scss/lib/functions/_transition-property-name.scss +22 -0
  368. data/assets/uswds/scss/lib/functions/_unpack.scss +27 -0
  369. data/assets/uswds/scss/lib/grid/_box-sizing.scss +15 -0
  370. data/assets/uswds/scss/lib/grid/_direction-context.scss +33 -0
  371. data/assets/uswds/scss/lib/grid/_display-context.scss +28 -0
  372. data/assets/uswds/scss/lib/grid/_fill-parent.scss +22 -0
  373. data/assets/uswds/scss/lib/grid/_media.scss +92 -0
  374. data/assets/uswds/scss/lib/grid/_omega.scss +87 -0
  375. data/assets/uswds/scss/lib/grid/_outer-container.scss +34 -0
  376. data/assets/uswds/scss/lib/grid/_pad.scss +25 -0
  377. data/assets/uswds/scss/lib/grid/_private.scss +35 -0
  378. data/assets/uswds/scss/lib/grid/_row.scss +52 -0
  379. data/assets/uswds/scss/lib/grid/_shift.scss +50 -0
  380. data/assets/uswds/scss/lib/grid/_span-columns.scss +94 -0
  381. data/assets/uswds/scss/lib/grid/_to-deprecate.scss +97 -0
  382. data/assets/uswds/scss/lib/grid/_visual-grid.scss +42 -0
  383. data/assets/uswds/scss/lib/helpers/_convert-units.scss +21 -0
  384. data/assets/uswds/scss/lib/helpers/_directional-values.scss +96 -0
  385. data/assets/uswds/scss/lib/helpers/_font-source-declaration.scss +43 -0
  386. data/assets/uswds/scss/lib/helpers/_gradient-positions-parser.scss +13 -0
  387. data/assets/uswds/scss/lib/helpers/_linear-angle-parser.scss +25 -0
  388. data/assets/uswds/scss/lib/helpers/_linear-gradient-parser.scss +41 -0
  389. data/assets/uswds/scss/lib/helpers/_linear-positions-parser.scss +61 -0
  390. data/assets/uswds/scss/lib/helpers/_linear-side-corner-parser.scss +31 -0
  391. data/assets/uswds/scss/lib/helpers/_radial-arg-parser.scss +69 -0
  392. data/assets/uswds/scss/lib/helpers/_radial-gradient-parser.scss +50 -0
  393. data/assets/uswds/scss/lib/helpers/_radial-positions-parser.scss +18 -0
  394. data/assets/uswds/scss/lib/helpers/_render-gradients.scss +26 -0
  395. data/assets/uswds/scss/lib/helpers/_shape-size-stripper.scss +10 -0
  396. data/assets/uswds/scss/lib/helpers/_str-to-num.scss +50 -0
  397. data/assets/uswds/scss/lib/mixins/_clearfix.scss +25 -0
  398. data/assets/uswds/scss/lib/settings/_asset-pipeline.scss +7 -0
  399. data/assets/uswds/scss/lib/settings/_disable-warnings.scss +13 -0
  400. data/assets/uswds/scss/lib/settings/_grid.scss +51 -0
  401. data/assets/uswds/scss/lib/settings/_prefixer.scss +9 -0
  402. data/assets/uswds/scss/lib/settings/_px-to-em.scss +1 -0
  403. data/assets/uswds/scss/lib/settings/_visual-grid.scss +27 -0
  404. data/assets/uswds/scss/uswds.scss +41 -0
  405. data/assets/uswds/uswds-1.3.1.zip +0 -0
  406. metadata +490 -0
@@ -0,0 +1,4 @@
1
+ /*! uswds v1.3.1 */
2
+
3
+ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse}td,th{padding:0}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:300;src:url(../fonts/sourcesanspro-light-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-light-webfont.woff2) format("woff2"),url(../fonts/sourcesanspro-light-webfont.woff) format("woff"),url(../fonts/sourcesanspro-light-webfont.ttf) format("truetype")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(../fonts/sourcesanspro-regular-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-regular-webfont.woff2) format("woff2"),url(../fonts/sourcesanspro-regular-webfont.woff) format("woff"),url(../fonts/sourcesanspro-regular-webfont.ttf) format("truetype")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:400;src:url(../fonts/sourcesanspro-italic-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-italic-webfont.woff2) format("woff2"),url(../fonts/sourcesanspro-italic-webfont.woff) format("woff"),url(../fonts/sourcesanspro-italic-webfont.ttf) format("truetype")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:url(../fonts/sourcesanspro-bold-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-bold-webfont.woff2) format("woff2"),url(../fonts/sourcesanspro-bold-webfont.woff) format("woff"),url(../fonts/sourcesanspro-bold-webfont.ttf) format("truetype")}@font-face{font-family:Merriweather;font-style:normal;font-weight:300;src:url(../fonts/merriweather-light-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/merriweather-light-webfont.woff2) format("woff2"),url(../fonts/merriweather-light-webfont.woff) format("woff"),url(../fonts/merriweather-light-webfont.ttf) format("truetype")}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;src:url(../fonts/merriweather-regular-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/merriweather-regular-webfont.woff2) format("woff2"),url(../fonts/merriweather-regular-webfont.woff) format("woff"),url(../fonts/merriweather-regular-webfont.ttf) format("truetype")}@font-face{font-family:Merriweather;font-style:italic;font-weight:400;src:url(../fonts/merriweather-italic-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/merriweather-italic-webfont.woff2) format("woff2"),url(../fonts/merriweather-italic-webfont.woff) format("woff"),url(../fonts/merriweather-italic-webfont.ttf) format("truetype")}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;src:url(../fonts/merriweather-bold-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/merriweather-bold-webfont.woff2) format("woff2"),url(../fonts/merriweather-bold-webfont.woff) format("woff"),url(../fonts/merriweather-bold-webfont.ttf) format("truetype")}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background-color:#fff;overflow-x:hidden}.lt-ie9 *{-webkit-filter:none!important;filter:none!important}[hidden]{display:none!important}.usa-grid,.usa-grid-full{max-width:1200px;margin-left:auto;margin-right:auto;max-width:1040px}.usa-grid-full:after,.usa-grid:after{clear:both;content:"";display:block}.usa-grid{padding-right:1.5rem;padding-left:1.5rem}@media screen and (min-width:600px){.usa-grid{padding-right:3rem;padding-left:3rem}}.usa-grid-full{padding:0}@media screen and (min-width:600px){.usa-width-one-whole{float:left;display:block;margin-right:4.82916%;width:100%}.usa-width-one-whole:last-child{margin-right:0}.usa-width-one-half{float:left;display:block;margin-right:4.82916%;width:47.58542%}.usa-width-one-half:last-child{margin-right:0}.usa-width-one-third{float:left;display:block;margin-right:4.82916%;width:30.11389%}.usa-width-one-third:last-child{margin-right:0}.usa-width-two-thirds{float:left;display:block;margin-right:4.82916%;width:65.05695%}.usa-width-two-thirds:last-child{margin-right:0}.usa-width-one-fourth{float:left;display:block;margin-right:4.82916%;width:47.58542%}.usa-width-one-fourth:last-child{margin-right:0}.usa-width-one-fourth:nth-child(2n){margin-right:0}.usa-width-three-fourths{float:left;display:block;margin-right:4.82916%;width:100%}.usa-width-three-fourths:last-child{margin-right:0}.usa-width-one-sixth{float:left;display:block;margin-right:4.82916%;width:30.11389%}.usa-width-one-sixth:last-child{margin-right:0}.usa-width-one-sixth:nth-child(3n){margin-right:0}.usa-width-five-sixths{float:left;display:block;margin-right:4.82916%;width:65.05695%}.usa-width-five-sixths:last-child{margin-right:0}.usa-width-one-twelfth{float:left;display:block;margin-right:4.82916%;width:30.11389%}.usa-width-one-twelfth:last-child{margin-right:0}.usa-width-one-twelfth:nth-child(3n){margin-right:0}.usa-width-five-twelfths{float:left;display:block;margin-right:4.82916%;width:30.11389%}.usa-width-five-twelfths:last-child{margin-right:0}.usa-width-seven-twelfths{float:left;display:block;margin-right:4.82916%;width:65.05695%}.usa-width-seven-twelfths:last-child{margin-right:0}}@media screen and (min-width:1201px){.usa-width-one-whole{float:left;display:block;margin-right:2.35765%;width:100%}.usa-width-one-whole:last-child{margin-right:0}.usa-width-one-half{float:left;display:block;margin-right:2.35765%;width:48.82117%}.usa-width-one-half:last-child{margin-right:0}.usa-width-one-third{float:left;display:block;margin-right:2.35765%;width:31.76157%}.usa-width-one-third:last-child{margin-right:0}.usa-width-two-thirds{float:left;display:block;margin-right:2.35765%;width:65.88078%}.usa-width-two-thirds:last-child{margin-right:0}.usa-width-one-fourth{float:left;display:block;margin-right:2.35765%;width:23.23176%}.usa-width-one-fourth:last-child{margin-right:0}.usa-width-one-fourth:nth-child(2n){float:left;display:block;margin-right:2.35765%;width:23.23176%}.usa-width-one-fourth:nth-child(2n):last-child{margin-right:0}.usa-width-one-fourth:nth-child(4n){margin-right:0}.usa-width-three-fourths{float:left;display:block;margin-right:2.35765%;width:74.41059%}.usa-width-three-fourths:last-child{margin-right:0}.usa-width-one-sixth{float:left;display:block;margin-right:2.35765%;width:14.70196%}.usa-width-one-sixth:last-child{margin-right:0}.usa-width-one-sixth:nth-child(3n){float:left;display:block;margin-right:2.35765%;width:14.70196%}.usa-width-one-sixth:nth-child(3n):last-child{margin-right:0}.usa-width-one-sixth:nth-child(6n){margin-right:0}.usa-width-five-sixths{float:left;display:block;margin-right:2.35765%;width:82.94039%}.usa-width-five-sixths:last-child{margin-right:0}.usa-width-one-twelfth{float:left;display:block;margin-right:2.35765%;width:6.17215%}.usa-width-one-twelfth:last-child{margin-right:0}.usa-width-one-twelfth:nth-child(3n){float:left;display:block;margin-right:2.35765%;width:6.17215%}.usa-width-one-twelfth:nth-child(3n):last-child{margin-right:0}.usa-width-one-twelfth:nth-child(12n){margin-right:0}.usa-width-five-twelfths{float:left;display:block;margin-right:2.35765%;width:40.29137%}.usa-width-five-twelfths:last-child{margin-right:0}.usa-width-seven-twelfths{float:left;display:block;margin-right:2.35765%;width:57.35098%}.usa-width-seven-twelfths:last-child{margin-right:0}}.usa-end-row{margin-right:0}.usa-offset-one-twelfth{margin-left:8.5298%}.usa-offset-one-sixth{margin-left:17.05961%}.usa-offset-one-fourth{margin-left:25.58941%}.usa-offset-one-third{margin-left:34.11922%}.usa-offset-five-twelfths{margin-left:42.64902%}.usa-offset-one-half{margin-left:51.17883%}.usa-offset-seven-twelfths{margin-left:59.70863%}.usa-offset-two-thirds{margin-left:68.23843%}.usa-offset-three-fourths{margin-left:76.76824%}.usa-offset-five-sixths{margin-left:85.29804%}.usa-offset-eleven-twelfths{margin-left:93.82785%}.usa-sr-only{position:absolute;left:-999em}.usa-button,.usa-button-primary,.usa-button-primary:visited,.usa-button:visited,[type=button],[type=image],[type=reset],[type=submit],button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-top:.5em;margin-right:.5em;margin-bottom:.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0071bc;border:0;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.7rem;font-weight:700;line-height:1;outline:none;padding:1rem 2rem;text-align:center;text-decoration:none;width:100%}@media screen and (min-width:481px){.usa-button,.usa-button-primary,.usa-button-primary:visited,.usa-button:visited,[type=button],[type=image],[type=reset],[type=submit],button{width:auto}}.usa-button-primary.usa-button-hover,.usa-button-primary:hover,.usa-button-primary:visited.usa-button-hover,.usa-button-primary:visited:hover,.usa-button.usa-button-hover,.usa-button:hover,.usa-button:visited.usa-button-hover,.usa-button:visited:hover,[type=button].usa-button-hover,[type=button]:hover,[type=image].usa-button-hover,[type=image]:hover,[type=reset].usa-button-hover,[type=reset]:hover,[type=submit].usa-button-hover,[type=submit]:hover,button.usa-button-hover,button:hover{background-color:#205493;border-bottom:0;color:#fff;text-decoration:none}.usa-button-primary.usa-button-focus,.usa-button-primary:focus,.usa-button-primary:visited.usa-button-focus,.usa-button-primary:visited:focus,.usa-button.usa-button-focus,.usa-button:focus,.usa-button:visited.usa-button-focus,.usa-button:visited:focus,[type=button].usa-button-focus,[type=button]:focus,[type=image].usa-button-focus,[type=image]:focus,[type=reset].usa-button-focus,[type=reset]:focus,[type=submit].usa-button-focus,[type=submit]:focus,button.usa-button-focus,button:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-button-primary.usa-button-active,.usa-button-primary:active,.usa-button-primary:visited.usa-button-active,.usa-button-primary:visited:active,.usa-button.usa-button-active,.usa-button:active,.usa-button:visited.usa-button-active,.usa-button:visited:active,[type=button].usa-button-active,[type=button]:active,[type=image].usa-button-active,[type=image]:active,[type=reset].usa-button-active,[type=reset]:active,[type=submit].usa-button-active,[type=submit]:active,button.usa-button-active,button:active{background-color:#112e51}.usa-button-primary.usa-button-primary-alt,.usa-button-primary:visited.usa-button-primary-alt,.usa-button.usa-button-primary-alt,.usa-button:visited.usa-button-primary-alt,[type=button].usa-button-primary-alt,[type=image].usa-button-primary-alt,[type=reset].usa-button-primary-alt,[type=submit].usa-button-primary-alt,button.usa-button-primary-alt{background-color:#02bfe7;color:#212121}.usa-button-primary.usa-button-primary-alt.usa-button-hover,.usa-button-primary.usa-button-primary-alt:hover,.usa-button-primary:visited.usa-button-primary-alt.usa-button-hover,.usa-button-primary:visited.usa-button-primary-alt:hover,.usa-button.usa-button-primary-alt.usa-button-hover,.usa-button.usa-button-primary-alt:hover,.usa-button:visited.usa-button-primary-alt.usa-button-hover,.usa-button:visited.usa-button-primary-alt:hover,[type=button].usa-button-primary-alt.usa-button-hover,[type=button].usa-button-primary-alt:hover,[type=image].usa-button-primary-alt.usa-button-hover,[type=image].usa-button-primary-alt:hover,[type=reset].usa-button-primary-alt.usa-button-hover,[type=reset].usa-button-primary-alt:hover,[type=submit].usa-button-primary-alt.usa-button-hover,[type=submit].usa-button-primary-alt:hover,button.usa-button-primary-alt.usa-button-hover,button.usa-button-primary-alt:hover{background-color:#00a6d2}.usa-button-primary.usa-button-primary-alt.usa-button-active,.usa-button-primary.usa-button-primary-alt:active,.usa-button-primary:visited.usa-button-primary-alt.usa-button-active,.usa-button-primary:visited.usa-button-primary-alt:active,.usa-button.usa-button-primary-alt.usa-button-active,.usa-button.usa-button-primary-alt:active,.usa-button:visited.usa-button-primary-alt.usa-button-active,.usa-button:visited.usa-button-primary-alt:active,[type=button].usa-button-primary-alt.usa-button-active,[type=button].usa-button-primary-alt:active,[type=image].usa-button-primary-alt.usa-button-active,[type=image].usa-button-primary-alt:active,[type=reset].usa-button-primary-alt.usa-button-active,[type=reset].usa-button-primary-alt:active,[type=submit].usa-button-primary-alt.usa-button-active,[type=submit].usa-button-primary-alt:active,button.usa-button-primary-alt.usa-button-active,button.usa-button-primary-alt:active{background-color:#046b99;color:#fff}.usa-button-primary.usa-button-secondary,.usa-button-primary:visited.usa-button-secondary,.usa-button.usa-button-secondary,.usa-button:visited.usa-button-secondary,[type=button].usa-button-secondary,[type=image].usa-button-secondary,[type=reset].usa-button-secondary,[type=submit].usa-button-secondary,button.usa-button-secondary{background-color:#e31c3d}.usa-button-primary.usa-button-secondary.usa-button-hover,.usa-button-primary.usa-button-secondary:hover,.usa-button-primary:visited.usa-button-secondary.usa-button-hover,.usa-button-primary:visited.usa-button-secondary:hover,.usa-button.usa-button-secondary.usa-button-hover,.usa-button.usa-button-secondary:hover,.usa-button:visited.usa-button-secondary.usa-button-hover,.usa-button:visited.usa-button-secondary:hover,[type=button].usa-button-secondary.usa-button-hover,[type=button].usa-button-secondary:hover,[type=image].usa-button-secondary.usa-button-hover,[type=image].usa-button-secondary:hover,[type=reset].usa-button-secondary.usa-button-hover,[type=reset].usa-button-secondary:hover,[type=submit].usa-button-secondary.usa-button-hover,[type=submit].usa-button-secondary:hover,button.usa-button-secondary.usa-button-hover,button.usa-button-secondary:hover{background-color:#cd2026}.usa-button-primary.usa-button-secondary.usa-button-active,.usa-button-primary.usa-button-secondary:active,.usa-button-primary:visited.usa-button-secondary.usa-button-active,.usa-button-primary:visited.usa-button-secondary:active,.usa-button.usa-button-secondary.usa-button-active,.usa-button.usa-button-secondary:active,.usa-button:visited.usa-button-secondary.usa-button-active,.usa-button:visited.usa-button-secondary:active,[type=button].usa-button-secondary.usa-button-active,[type=button].usa-button-secondary:active,[type=image].usa-button-secondary.usa-button-active,[type=image].usa-button-secondary:active,[type=reset].usa-button-secondary.usa-button-active,[type=reset].usa-button-secondary:active,[type=submit].usa-button-secondary.usa-button-active,[type=submit].usa-button-secondary:active,button.usa-button-secondary.usa-button-active,button.usa-button-secondary:active{background-color:#981b1e}.usa-button-primary.usa-button-gray,.usa-button-primary:visited.usa-button-gray,.usa-button.usa-button-gray,.usa-button:visited.usa-button-gray,[type=button].usa-button-gray,[type=image].usa-button-gray,[type=reset].usa-button-gray,[type=submit].usa-button-gray,button.usa-button-gray{background-color:#5b616b}.usa-button-primary.usa-button-gray.usa-button-hover,.usa-button-primary.usa-button-gray:hover,.usa-button-primary:visited.usa-button-gray.usa-button-hover,.usa-button-primary:visited.usa-button-gray:hover,.usa-button.usa-button-gray.usa-button-hover,.usa-button.usa-button-gray:hover,.usa-button:visited.usa-button-gray.usa-button-hover,.usa-button:visited.usa-button-gray:hover,[type=button].usa-button-gray.usa-button-hover,[type=button].usa-button-gray:hover,[type=image].usa-button-gray.usa-button-hover,[type=image].usa-button-gray:hover,[type=reset].usa-button-gray.usa-button-hover,[type=reset].usa-button-gray:hover,[type=submit].usa-button-gray.usa-button-hover,[type=submit].usa-button-gray:hover,button.usa-button-gray.usa-button-hover,button.usa-button-gray:hover{background-color:#323a45}.usa-button-primary.usa-button-gray.usa-button-active,.usa-button-primary.usa-button-gray:active,.usa-button-primary:visited.usa-button-gray.usa-button-active,.usa-button-primary:visited.usa-button-gray:active,.usa-button.usa-button-gray.usa-button-active,.usa-button.usa-button-gray:active,.usa-button:visited.usa-button-gray.usa-button-active,.usa-button:visited.usa-button-gray:active,[type=button].usa-button-gray.usa-button-active,[type=button].usa-button-gray:active,[type=image].usa-button-gray.usa-button-active,[type=image].usa-button-gray:active,[type=reset].usa-button-gray.usa-button-active,[type=reset].usa-button-gray:active,[type=submit].usa-button-gray.usa-button-active,[type=submit].usa-button-gray:active,button.usa-button-gray.usa-button-active,button.usa-button-gray:active{background-color:#212121}.usa-button-primary.usa-button-outline,.usa-button-primary:visited.usa-button-outline,.usa-button.usa-button-outline,.usa-button:visited.usa-button-outline,[type=button].usa-button-outline,[type=image].usa-button-outline,[type=reset].usa-button-outline,[type=submit].usa-button-outline,button.usa-button-outline{background-color:#fff;box-shadow:inset 0 0 0 2px #0071bc;color:#0071bc}.usa-button-primary.usa-button-outline.usa-button-hover,.usa-button-primary.usa-button-outline:hover,.usa-button-primary:visited.usa-button-outline.usa-button-hover,.usa-button-primary:visited.usa-button-outline:hover,.usa-button.usa-button-outline.usa-button-hover,.usa-button.usa-button-outline:hover,.usa-button:visited.usa-button-outline.usa-button-hover,.usa-button:visited.usa-button-outline:hover,[type=button].usa-button-outline.usa-button-hover,[type=button].usa-button-outline:hover,[type=image].usa-button-outline.usa-button-hover,[type=image].usa-button-outline:hover,[type=reset].usa-button-outline.usa-button-hover,[type=reset].usa-button-outline:hover,[type=submit].usa-button-outline.usa-button-hover,[type=submit].usa-button-outline:hover,button.usa-button-outline.usa-button-hover,button.usa-button-outline:hover{box-shadow:inset 0 0 0 2px #205493;color:#205493}.usa-button-primary.usa-button-outline.usa-button-active,.usa-button-primary.usa-button-outline:active,.usa-button-primary:visited.usa-button-outline.usa-button-active,.usa-button-primary:visited.usa-button-outline:active,.usa-button.usa-button-outline.usa-button-active,.usa-button.usa-button-outline:active,.usa-button:visited.usa-button-outline.usa-button-active,.usa-button:visited.usa-button-outline:active,[type=button].usa-button-outline.usa-button-active,[type=button].usa-button-outline:active,[type=image].usa-button-outline.usa-button-active,[type=image].usa-button-outline:active,[type=reset].usa-button-outline.usa-button-active,[type=reset].usa-button-outline:active,[type=submit].usa-button-outline.usa-button-active,[type=submit].usa-button-outline:active,button.usa-button-outline.usa-button-active,button.usa-button-outline:active{box-shadow:inset 0 0 0 2px #112e51;color:#112e51}.usa-button-primary.usa-button-outline.usa-button-focus,.usa-button-primary.usa-button-outline:focus,.usa-button-primary:visited.usa-button-outline.usa-button-focus,.usa-button-primary:visited.usa-button-outline:focus,.usa-button.usa-button-outline.usa-button-focus,.usa-button.usa-button-outline:focus,.usa-button:visited.usa-button-outline.usa-button-focus,.usa-button:visited.usa-button-outline:focus,[type=button].usa-button-outline.usa-button-focus,[type=button].usa-button-outline:focus,[type=image].usa-button-outline.usa-button-focus,[type=image].usa-button-outline:focus,[type=reset].usa-button-outline.usa-button-focus,[type=reset].usa-button-outline:focus,[type=submit].usa-button-outline.usa-button-focus,[type=submit].usa-button-outline:focus,button.usa-button-outline.usa-button-focus,button.usa-button-outline:focus{box-shadow:inset 0 0 0 2px #112e51,0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-button-primary.usa-button-outline-inverse,.usa-button-primary:visited.usa-button-outline-inverse,.usa-button.usa-button-outline-inverse,.usa-button:visited.usa-button-outline-inverse,[type=button].usa-button-outline-inverse,[type=image].usa-button-outline-inverse,[type=reset].usa-button-outline-inverse,[type=submit].usa-button-outline-inverse,button.usa-button-outline-inverse{background:transparent;box-shadow:inset 0 0 0 2px #fff;color:#fff}.usa-button-primary.usa-button-outline-inverse.usa-button-hover,.usa-button-primary.usa-button-outline-inverse:hover,.usa-button-primary:visited.usa-button-outline-inverse.usa-button-hover,.usa-button-primary:visited.usa-button-outline-inverse:hover,.usa-button.usa-button-outline-inverse.usa-button-hover,.usa-button.usa-button-outline-inverse:hover,.usa-button:visited.usa-button-outline-inverse.usa-button-hover,.usa-button:visited.usa-button-outline-inverse:hover,[type=button].usa-button-outline-inverse.usa-button-hover,[type=button].usa-button-outline-inverse:hover,[type=image].usa-button-outline-inverse.usa-button-hover,[type=image].usa-button-outline-inverse:hover,[type=reset].usa-button-outline-inverse.usa-button-hover,[type=reset].usa-button-outline-inverse:hover,[type=submit].usa-button-outline-inverse.usa-button-hover,[type=submit].usa-button-outline-inverse:hover,button.usa-button-outline-inverse.usa-button-hover,button.usa-button-outline-inverse:hover{box-shadow:inset 0 0 0 2px #d6d7d9;color:#d6d7d9}.usa-button-primary.usa-button-outline-inverse.usa-button-active,.usa-button-primary.usa-button-outline-inverse:active,.usa-button-primary:visited.usa-button-outline-inverse.usa-button-active,.usa-button-primary:visited.usa-button-outline-inverse:active,.usa-button.usa-button-outline-inverse.usa-button-active,.usa-button.usa-button-outline-inverse:active,.usa-button:visited.usa-button-outline-inverse.usa-button-active,.usa-button:visited.usa-button-outline-inverse:active,[type=button].usa-button-outline-inverse.usa-button-active,[type=button].usa-button-outline-inverse:active,[type=image].usa-button-outline-inverse.usa-button-active,[type=image].usa-button-outline-inverse:active,[type=reset].usa-button-outline-inverse.usa-button-active,[type=reset].usa-button-outline-inverse:active,[type=submit].usa-button-outline-inverse.usa-button-active,[type=submit].usa-button-outline-inverse:active,button.usa-button-outline-inverse.usa-button-active,button.usa-button-outline-inverse:active{box-shadow:inset 0 0 0 2px #aeb0b5;color:#d6d7d9}.usa-button-primary.usa-button-outline-inverse.usa-button-focus,.usa-button-primary.usa-button-outline-inverse:focus,.usa-button-primary:visited.usa-button-outline-inverse.usa-button-focus,.usa-button-primary:visited.usa-button-outline-inverse:focus,.usa-button.usa-button-outline-inverse.usa-button-focus,.usa-button.usa-button-outline-inverse:focus,.usa-button:visited.usa-button-outline-inverse.usa-button-focus,.usa-button:visited.usa-button-outline-inverse:focus,[type=button].usa-button-outline-inverse.usa-button-focus,[type=button].usa-button-outline-inverse:focus,[type=image].usa-button-outline-inverse.usa-button-focus,[type=image].usa-button-outline-inverse:focus,[type=reset].usa-button-outline-inverse.usa-button-focus,[type=reset].usa-button-outline-inverse:focus,[type=submit].usa-button-outline-inverse.usa-button-focus,[type=submit].usa-button-outline-inverse:focus,button.usa-button-outline-inverse.usa-button-focus,button.usa-button-outline-inverse:focus{box-shadow:inset 0 0 0 2px #aeb0b5,0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-button-primary.usa-button-big,.usa-button-primary:visited.usa-button-big,.usa-button.usa-button-big,.usa-button:visited.usa-button-big,[type=button].usa-button-big,[type=image].usa-button-big,[type=reset].usa-button-big,[type=submit].usa-button-big,button.usa-button-big{font-size:1.9rem;padding:1.5rem 3rem}.usa-button-disabled,.usa-button:disabled{background-color:#d6d7d9;color:#323a45;pointer-events:none}.usa-button-disabled.usa-button-active,.usa-button-disabled.usa-button-hover,.usa-button-disabled:active,.usa-button-disabled:focus,.usa-button-disabled:hover,.usa-button:disabled.usa-button-active,.usa-button:disabled.usa-button-hover,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled:hover{background-color:#d6d7d9;border:0;box-shadow:none;color:#323a45}.usa-button-unstyled{background-color:transparent;border:0;border-radius:0;font-weight:400;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto}.usa-button-unstyled:hover{background-color:transparent}.usa-embed-container embed,.usa-embed-container iframe,.usa-embed-container object{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container{padding-bottom:56.25%;position:relative;height:0;overflow:hidden;max-width:100%}img{max-width:100%}.media_link{display:inline-block;line-height:0}input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.1rem solid #5b616b;border-radius:0;box-sizing:border-box;color:#212121;display:block;font-size:1.7rem;height:4.4rem;line-height:1.3;margin:.2em 0;max-width:46rem;outline:none;padding:1rem .7em;width:100%}input.usa-input-focus,input:focus,select.usa-input-focus,select:focus,textarea.usa-input-focus,textarea:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf}input.usa-input-success,select.usa-input-success,textarea.usa-input-success{border:3px solid #4aa564}.usa-input-error{border-left:4px solid #cd2026;margin-top:3rem;padding-bottom:.8rem;padding-left:1.5rem;padding-top:.8rem;position:relative;right:1.9rem}.usa-input-error input,.usa-input-error select,.usa-input-error textarea{border:3px solid #cd2026;width:calc(100% + 1.9rem)}.usa-input-error label{margin-top:0}.usa-input-error .usa-input-inline{border:.1rem solid #5b616b;width:inherit}.usa-input-error .usa-input-inline-error{border:3px solid #cd2026}.usa-input-error-label{display:block;font-size:1.7rem;font-weight:700}.usa-input-error-message{color:#cd2026;display:block;font-size:1.7rem;font-weight:700;padding-bottom:3px;padding-top:3px}.usa-input-required:after{color:#981b1e;content:" (*Required)"}label{display:block;margin-top:3rem;max-width:46rem}textarea{height:16rem}select{-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url(../img/arrow-down.png);background-image:url(../img/arrow-down.svg);background-position:right 1.3rem center;background-repeat:no-repeat;background-size:1.3rem}legend{font-size:3rem;font-weight:700}.usa-fieldset-inputs label{margin-top:0}.usa-form-hint{color:#757575;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;margin-bottom:0}[type=checkbox],[type=radio]{position:absolute;left:-999em}.lt-ie9 [type=checkbox],.lt-ie9 [type=radio]{border:0;float:left;margin:.4em .4em 0 0;position:static;width:auto}[type=checkbox]+label,[type=radio]+label{cursor:pointer;font-weight:400;margin-bottom:.5em}[type=checkbox]+label:before,[type=radio]+label:before{background:#fff;border-radius:3px;box-shadow:0 0 0 1px #757575;content:"\a0";display:inline-block;height:1.8rem;line-height:1.8rem;margin-right:.6em;text-indent:.15em;vertical-align:middle\0;width:1.8rem}[type=radio]+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #757575;height:1.6rem;line-height:1.6rem;width:1.6rem;border-radius:100%}[type=checkbox]:checked+label:before,[type=radio]:checked+label:before{background-color:#0071bc;box-shadow:0 0 0 1px #0071bc}[type=radio]:checked+label:before{box-shadow:0 0 0 2px #fff,0 0 0 4px #0071bc}[type=radio]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 4px #0071bc,0 0 3px 4px #3e94cf,0 0 7px 4px #3e94cf}[type=checkbox]:checked+label:before,[type=checkbox]:checked:disabled+label:before{background-image:url(../img/correct8.png);background-image:url(../img/correct8.svg);background-position:50%;background-repeat:no-repeat}[type=checkbox]:focus+label:before{box-shadow:0 0 0 1px #fff,0 0 0 3px #0071bc}[type=checkbox]:disabled+label{color:#5b616b}[type=checkbox]:disabled+label:before,[type=radio]:disabled+label:before{background:#d6d7d9;box-shadow:0 0 0 1px #aeb0b5;cursor:not-allowed}[type=range]{-webkit-appearance:none;border:none;padding-left:0;width:100%}[type=range]:focus{box-shadow:none;outline:none}[type=range]::-webkit-slider-runnable-track{background:#aeb0b5;border:1px solid #757575;cursor:pointer;height:1.2rem;width:100%}[type=range]::-moz-range-track{background:#0071bc;border:1px solid #757575;cursor:pointer;height:1.2rem;width:100%}[type=range]::-ms-track{background:transparent;color:transparent;cursor:pointer;height:1.2rem;width:100%}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #757575;height:2.2rem;border-radius:1.5rem;background:#f1f1f1;cursor:pointer;margin-top:-.65rem;width:2.2rem}[type=range]::-moz-range-thumb{background:#f1f1f1;border:1px solid #757575;border-radius:1.5rem;cursor:pointer;height:2.2rem;width:2.2rem}[type=range]::-ms-thumb{background:#f1f1f1;border:1px solid #757575;border-radius:1.5rem;cursor:pointer;height:2.2rem;width:2.2rem}[type=range]::-ms-fill-lower{background:#aeb0b5;border:1px solid #757575;border-radius:2rem}[type=range]::-ms-fill-upper{background:#aeb0b5;border:1px solid #757575;border-radius:2rem}[type=range]:focus::-webkit-slider-thumb{border:2px solid #3e94cf}[type=range]:focus::-moz-range-thumb{border:2px solid #3e94cf}[type=range]:focus::-ms-thumb{border:2px solid #3e94cf}.usa-date-of-birth label{margin-top:0}.usa-date-of-birth [type=number]::-webkit-inner-spin-button,.usa-date-of-birth [type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.usa-date-of-birth [type=number]{-moz-appearance:textfield}.usa-form-group-day,.usa-form-group-month,.usa-form-group-year{clear:none;float:left;margin-right:1.5rem;width:5rem}.usa-form-group-year{width:7rem}.usa-label,.usa-label-big{background-color:#0071bc;border-radius:3px;color:#fff;font-size:1.5rem;margin-right:.5rem;padding:.1rem .7rem;text-transform:uppercase}.usa-label-big:only-of-type,.usa-label:only-of-type{margin-right:0}.usa-label-big{font-size:1.7rem;padding-left:.9rem;padding-right:.9rem}ol,ul{margin-top:1em;margin-bottom:1em;padding-left:1.94em}li{line-height:1.5;margin-bottom:.5em}li:last-child{margin-bottom:0}h1+ol,h1+ul,h2+ol,h2+ul,h3+ol,h3+ul,h4+ol,h4+ul,h5+ol,h5+ul,h6+ol,h6+ul,p+ol,p+ul{margin-top:0}.usa-unstyled-list{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0}.usa-unstyled-list>li{margin-bottom:0}table{border-spacing:0;margin:2em 0;min-width:100%}table thead td,table thead th{background-color:#f1f1f1}table th{text-align:left}table tbody th{font-weight:400}table td,table th{background-color:#fff;border:1px solid #5b616b;padding:1.5rem}.usa-table-borderless thead tr{background-color:transparent}.usa-table-borderless thead th{border-top:0}.usa-table-borderless td,.usa-table-borderless th{border-left:0;border-right:0}html{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:10px}body{font-size:1.7rem}p{line-height:1.5;margin-bottom:1em;margin-top:1em}a{color:#0071bc;text-decoration:underline}a:active,a:hover{color:#205493}a:visited{color:#4c2c92}a:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf;outline:0}.usa-external_link:after{background:url(../img/external-link.png) no-repeat 0 0;background:url(../img/external-link.svg) no-repeat 0 0;background-size:100%;content:"";display:inline-block;height:.65em;margin-bottom:-1px;margin-left:4px;width:.65em}.usa-external_link:hover:after{background-image:url(../img/external-link-hover.png);background-image:url(../img/external-link-hover.svg)}.usa-external_link-alt:after{background:url(../img/external-link-alt.png) no-repeat 0 0;background:url(../img/external-link-alt.svg) no-repeat 0 0;background-size:100%;content:"";display:inline-block;height:.65em;margin-bottom:-1px;margin-left:4px;width:.65em}.usa-external_link-alt:hover:after{background-image:url(../img/external-link-alt-hover.png);background-image:url(../img/external-link-alt-hover.svg)}h1,h2,h3,h4,h5,h6{clear:both;font-family:Merriweather,Georgia,Cambria,Times New Roman,Times,serif;line-height:1.3;margin-bottom:.5em;margin-top:1.5em}h1{font-size:4rem;font-weight:700}h2{font-size:3rem;font-weight:700}h3{font-size:2rem;font-weight:700}h4{font-size:1.7rem;font-weight:700}h5{font-size:1.5rem;font-weight:700}h6{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3rem;font-weight:400;text-transform:uppercase}address,cite,dfn,var{font-style:normal}.usa-content ol:not(.usa-accordion):not(.usa-accordion-bordered),.usa-content p:not(.usa-font-lead),.usa-content ul:not(.usa-accordion):not(.usa-accordion-bordered){max-width:53rem}.usa-content-list{max-width:53rem}.usa-sans a,.usa-sans li,.usa-sans p,.usa-sans span{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-sans a{border-bottom:none;font-weight:700}.usa-serif a,.usa-serif li,.usa-serif p,.usa-serif span{font-family:Merriweather,Georgia,Cambria,Times New Roman,Times,serif}.usa-display{font-size:2rem;font-weight:700;margin-bottom:0}@media screen and (min-width:481px){.usa-display{font-size:4rem;font-weight:700}}@media screen and (min-width:600px){.usa-display{font-size:5.2rem;font-weight:700}}.usa-font-lead{font-family:Merriweather,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;line-height:1.7;max-width:77rem}.usa-image-block{position:relative}.usa-image-text-block{color:#fff;left:0;margin-left:8%;position:absolute;top:0}.usa-image-text{margin-top:0}.usa-drop_text{margin-bottom:0}.usa-background-dark{background-color:#323a45}.usa-background-dark p,.usa-background-dark span{color:#fff}.usa-background-dark a{color:#d6d7d9}.usa-background-dark a:hover{color:#fff}.usa-text-small{font-size:1.3rem;margin-top:0}.usa-grid-full>:first-child,.usa-grid>:first-child,.usa-section>:first-child{margin-top:0}.usa-grid-full>:last-child,.usa-grid>:last-child,.usa-section>:last-child{margin-bottom:0}.usa-width-five-sixths:first-child>:first-child,.usa-width-one-fourth:first-child>:first-child,.usa-width-one-half:first-child>:first-child,.usa-width-one-sixth:first-child>:first-child,.usa-width-one-third:first-child>:first-child,.usa-width-one-twelfth:first-child>:first-child,.usa-width-one-whole:first-child>:first-child,.usa-width-three-fourths:first-child>:first-child,.usa-width-two-thirds:first-child>:first-child{margin-top:0}@media screen and (min-width:600px){.usa-width-five-sixths>:first-child,.usa-width-one-fourth>:first-child,.usa-width-one-half>:first-child,.usa-width-one-sixth>:first-child,.usa-width-one-third>:first-child,.usa-width-one-twelfth>:first-child,.usa-width-one-whole>:first-child,.usa-width-three-fourths>:first-child,.usa-width-two-thirds>:first-child{margin-top:0}}.usa-width-five-sixths:last-child>:last-child,.usa-width-one-fourth:last-child>:last-child,.usa-width-one-half:last-child>:last-child,.usa-width-one-sixth:last-child>:last-child,.usa-width-one-third:last-child>:last-child,.usa-width-one-twelfth:last-child>:last-child,.usa-width-one-whole:last-child>:last-child,.usa-width-three-fourths:last-child>:last-child,.usa-width-two-thirds:last-child>:last-child{margin-bottom:0}@media screen and (min-width:600px){.usa-width-five-sixths>:last-child,.usa-width-one-fourth>:last-child,.usa-width-one-half>:last-child,.usa-width-one-sixth>:last-child,.usa-width-one-third>:last-child,.usa-width-one-twelfth>:last-child,.usa-width-one-whole>:last-child,.usa-width-three-fourths>:last-child,.usa-width-two-thirds>:last-child{margin-bottom:0}}.usa-accordion,.usa-accordion-bordered{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0;color:#212121;margin:0;padding:0;width:100%}.usa-accordion-bordered>li,.usa-accordion>li{margin-bottom:0}.usa-accordion-bordered>ul li ul,.usa-accordion>ul li ul{list-style:disc}.usa-accordion-bordered>ul li ul>li>ul,.usa-accordion>ul li ul>li>ul{list-style:circle}.usa-accordion-bordered>ul li ul>li>ul>li>ul,.usa-accordion>ul li ul>li>ul>li>ul{list-style:square}.usa-accordion+.usa-accordion,.usa-accordion+.usa-accordion-bordered,.usa-accordion-bordered+.usa-accordion,.usa-accordion-bordered+.usa-accordion-bordered{margin-top:1rem}.usa-accordion-bordered>ul,.usa-accordion>ul{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0;color:#212121;margin:0;padding:0;width:100%}.usa-accordion-bordered>ul>li,.usa-accordion>ul>li{margin-bottom:0}.usa-accordion-bordered>ul>li,.usa-accordion>ul>li{background-color:#f1f1f1;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;list-style:none;margin-bottom:6px;width:100%}.usa-accordion-bordered>ul button,.usa-accordion>ul button{background-color:transparent;border:0;border-radius:0;font-weight:400;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;background-color:#f1f1f1;background-image:url(../img/minus.png);background-image:url(../img/minus.svg);background-position:right 3rem center;background-repeat:no-repeat;background-size:13px;color:#212121;cursor:pointer;display:inline-block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:700;margin:0;padding:1.5rem 5.5rem 1.5rem 3rem;width:100%}.usa-accordion-bordered>ul button:hover,.usa-accordion>ul button:hover{background-color:transparent}.usa-accordion-bordered>ul button:focus,.usa-accordion>ul button:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-accordion-bordered>ul button:hover,.usa-accordion>ul button:hover{background-color:#d6d7d9;color:#212121}.usa-accordion-bordered>ul button h1,.usa-accordion-bordered>ul button h2,.usa-accordion-bordered>ul button h3,.usa-accordion-bordered>ul button h4,.usa-accordion-bordered>ul button h5,.usa-accordion-bordered>ul button h6,.usa-accordion>ul button h1,.usa-accordion>ul button h2,.usa-accordion>ul button h3,.usa-accordion>ul button h4,.usa-accordion>ul button h5,.usa-accordion>ul button h6{margin:0}.usa-accordion-bordered>ul [aria-expanded=false],.usa-accordion>ul [aria-expanded=false]{background-image:url(../img/plus.png);background-image:url(../img/plus.svg);background-repeat:no-repeat;background-size:1.3rem}.usa-accordion-bordered>li,.usa-accordion>li{background-color:#f1f1f1;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;list-style:none;margin-bottom:6px;width:100%}.usa-accordion-bordered .usa-accordion-content{border-bottom:3px solid #f1f1f1;border-left:3px solid #f1f1f1;border-right:3px solid #f1f1f1}.usa-accordion-content{background-color:#fff;overflow:auto;padding:3rem}.usa-accordion-content>:first-child{margin-top:0}.usa-accordion-content>:last-child{margin-bottom:0}.usa-accordion-content:not([aria-hidden]){position:absolute;left:-999em}.usa-accordion-content[aria-hidden=true]{display:none}.usa-accordion-button{background-color:transparent;border:0;border-radius:0;font-weight:400;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;background-color:#f1f1f1;background-image:url(../img/minus.png);background-image:url(../img/minus.svg);background-position:right 3rem center;background-repeat:no-repeat;background-size:13px;color:#212121;cursor:pointer;display:inline-block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:700;margin:0;padding:1.5rem 5.5rem 1.5rem 3rem;width:100%}.usa-accordion-button:hover{background-color:transparent}.usa-accordion-button:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-accordion-button:hover{background-color:#d6d7d9;color:#212121}.usa-accordion-button h1,.usa-accordion-button h2,.usa-accordion-button h3,.usa-accordion-button h4,.usa-accordion-button h5,.usa-accordion-button h6{margin:0}.usa-accordion-button[aria-expanded=false]{background-image:url(../img/plus.png);background-image:url(../img/plus.svg);background-repeat:no-repeat;background-size:1.3rem}.usa-alert{background-color:#f1f1f1;background-position:1rem 2rem;background-repeat:no-repeat;background-size:4rem;margin-top:1.5em;padding:1em}@media screen and (min-width:600px){.usa-alert{background-size:5.2rem}}.usa-alert a{color:#205493}.usa-alert a:focus,.usa-alert a:hover{color:#112e51}.usa-alert ul{margin-bottom:0;margin-top:1em;padding-left:1em}.usa-alert-icon{display:table-cell;padding-right:1rem}.usa-alert-body{display:table-cell;padding-left:3.5rem;vertical-align:top}@media screen and (min-width:600px){.usa-alert-body{padding-left:5rem}}.usa-alert-body p:first-child{margin-top:.8rem}.usa-alert-body p:last-child{margin-bottom:.8rem}.usa-alert-heading{margin-bottom:.3rem;margin-top:0}@media screen and (min-width:600px){.usa-alert-heading{margin-top:.3rem}}.usa-alert-text{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;margin-bottom:0;margin-top:0}.usa-alert-success{background-color:#e7f4e4;background-image:url(../img/alerts/success.png);background-image:url(../img/alerts/success.svg)}.usa-alert-warning{background-color:#fff1d2;background-image:url(../img/alerts/warning.png);background-image:url(../img/alerts/warning.svg)}.usa-alert-error{background-color:#f9dede;background-image:url(../img/alerts/error.png);background-image:url(../img/alerts/error.svg)}.usa-alert-info{background-color:#e1f3f8;background-image:url(../img/alerts/info.png);background-image:url(../img/alerts/info.svg)}.usa-alert-no_icon{background-image:none}.usa-alert-paragraph{width:53rem;padding:1em 3em 1em 1em}.usa-banner{background-color:#f1f1f1;padding-bottom:.7rem}@media screen and (min-width:481px){.usa-banner{font-size:1.3rem;padding-bottom:0}}.usa-banner-content{padding:2rem 1.5rem 3px;background-color:transparent;font-size:1.5rem;width:100%}@media screen and (min-width:600px){.usa-banner-content{padding-bottom:2.3rem;padding-top:4rem}}@media screen and (min-width:951px){.usa-banner-content{padding-right:3rem;padding-left:3rem}}.usa-banner-content p:first-child{margin-top:1rem}@media screen and (min-width:600px){.usa-banner-content p:first-child{margin-top:0}}.usa-banner-inner{max-width:1200px;margin-left:auto;margin-right:auto;padding-right:1.5rem;padding-left:1.5rem;max-width:1040px}.usa-banner-inner:after{clear:both;content:"";display:block}@media screen and (min-width:951px){.usa-banner-inner{padding-right:3rem;padding-left:3rem}}.usa-banner-header{padding-top:.55rem;padding-bottom:.55rem;font-size:1.2rem;font-weight:400}@media screen and (min-width:481px){.usa-banner-header{padding-top:0;padding-bottom:0}}.usa-banner-header p{margin-top:0;margin-bottom:0;display:inline;overflow:hidden;vertical-align:middle}@media screen and (min-width:481px){.usa-banner-header p{margin-top:2px;margin-bottom:2px;display:inline-block}}.usa-banner-header img{float:left;margin-right:1rem;margin-top:1px;width:2.4rem}@media screen and (min-width:481px){.usa-banner-header img{margin-right:.7rem;width:2rem}}.usa-banner-header-expanded{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #aeb0b5;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.5rem;min-height:5.6rem;padding-right:3rem}@media screen and (min-width:481px){.usa-banner-header-expanded{border-bottom:none;display:block;font-size:1.2rem;font-weight:400;min-height:0;padding-right:0}}.usa-banner-header-expanded>.usa-banner-inner{margin-left:0}@media screen and (min-width:481px){.usa-banner-header-expanded>.usa-banner-inner{margin-left:auto}}.usa-banner-header-expanded img{margin-right:2.4rem}@media screen and (min-width:481px){.usa-banner-header-expanded img{margin-right:.7rem}}.usa-banner-header-expanded p{line-height:1.3;vertical-align:top}@media screen and (min-width:481px){.usa-banner-header-expanded p{line-height:1.5;vertical-align:middle}}.usa-banner-button{background-color:transparent;border:0;border-radius:0;font-weight:400;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;padding-top:1.3rem;padding-left:4.8rem;background-position-x:right;color:#0071bc;display:block;font-size:1.2rem;height:4.3rem;left:0;position:absolute;text-decoration:underline;top:0;width:100%}.usa-banner-button:hover{background-color:transparent}@media screen and (min-width:481px){.usa-banner-button{padding-top:0;padding-left:0;display:inline;height:auto;margin-left:3px;position:relative;vertical-align:middle;width:auto}}.usa-banner-button:hover{color:#205493;text-decoration:underline}.usa-banner-button[aria-expanded=false]{background-image:none}.usa-banner-button[aria-expanded=false]:after{background-image:url(../img/angle-arrow-down-primary.png);background-image:url(../img/angle-arrow-down-primary.svg);background-size:100%;content:"";display:inline-block;height:1rem;width:1rem;margin-left:0}.usa-banner-button[aria-expanded=false]:hover:after{background-image:url(../img/angle-arrow-down-primary-hover.png);background-image:url(../img/angle-arrow-down-primary-hover.svg)}.usa-banner-button[aria-expanded=false]:after{background-position-y:1px}.usa-banner-button[aria-expanded=true]{background-image:none;height:5.6rem}.usa-banner-button[aria-expanded=true]:after{background-image:url(../img/close.png);background-image:url(../img/close.svg);background-size:100%;content:"";display:inline-block;height:1.3rem;width:1.3rem;margin-left:0}@media screen and (min-width:481px){.usa-banner-button[aria-expanded=true]{height:auto;padding:0;position:relative}.usa-banner-button[aria-expanded=true]:after{background-image:url(../img/angle-arrow-up-primary.png);background-image:url(../img/angle-arrow-up-primary.svg);background-size:100%;content:"";display:inline-block;height:1rem;width:1rem;margin-left:0}.usa-banner-button[aria-expanded=true]:hover:after{background-image:url(../img/angle-arrow-up-primary-hover.png);background-image:url(../img/angle-arrow-up-primary-hover.svg)}.usa-banner-button[aria-expanded=true]:after{background-position-y:1px}}.usa-banner-button[aria-expanded=true]:after{position:absolute;right:1.5rem;top:2.15rem}@media screen and (min-width:481px){.usa-banner-button[aria-expanded=true]:after{position:static}}.usa-banner-button[aria-expanded=true] .usa-banner-button-text{display:none}@media screen and (min-width:481px){.usa-banner-button[aria-expanded=true] .usa-banner-button-text{display:inline}}.usa-banner-icon{width:3.8rem}.usa-footer .usa-unstyled-list{display:block}.usa-footer .usa-footer-primary-link{color:#212121;display:block;font-weight:700;margin-top:0;padding-bottom:2rem;padding-top:2rem;text-decoration:none}@media screen and (min-width:600px){.usa-footer .usa-footer-primary-link{border-top:none}}.usa-footer .usa-footer-primary-link:hover{text-decoration:underline}.usa-footer a{font-weight:400}.usa-footer-return-to-top{padding-bottom:2rem;padding-top:2rem}.usa-footer-primary-section{background-color:#f1f1f1}.usa-footer-primary-section .usa-footer-primary-content{padding-left:2.5rem;padding-right:2.5rem}@media screen and (min-width:600px){.usa-footer-primary-section .usa-footer-primary-content{padding-left:0;padding-right:0}}.usa-footer-primary-section .usa-footer-primary-content li{margin-left:1rem}@media screen and (min-width:600px){.usa-footer-primary-section .usa-footer-primary-content li{margin-left:0}}@media screen and (min-width:600px){.usa-footer-primary-section .usa-grid-full{padding-left:2.5rem;padding-right:2.5rem}}.usa-footer-medium .usa-footer-primary-section{padding:0}@media screen and (min-width:600px){.usa-footer-medium .usa-footer-primary-section{padding-bottom:1rem;padding-top:1rem}}@media screen and (min-width:1201px){.usa-footer-medium .usa-footer-primary-section .usa-footer-primary-content{margin-right:6%;width:inherit}}@media screen and (min-width:1201px){.usa-footer-medium .usa-footer-primary-section .usa-footer-primary-content:last-child{margin-right:0}}@media screen and (min-width:600px){.usa-footer-medium .usa-footer-nav ul{-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.usa-footer-slim .usa-footer-nav a{display:block}@media screen and (min-width:1201px){.usa-footer-slim .usa-footer-nav .usa-footer-primary-content{margin-right:9%;width:inherit}}@media screen and (min-width:1201px){.usa-footer-slim .usa-footer-nav .usa-footer-primary-content:last-child{margin-right:0}}.usa-footer-slim .usa-footer-primary-section{padding-bottom:2rem}@media screen and (min-width:600px){.usa-footer-slim .usa-footer-primary-section{padding-bottom:1rem;padding-top:1rem}.usa-footer-slim .usa-footer-primary-section .usa-grid-full{-webkit-box-align:center;-ms-flex-align:center;align-items:center}}@media screen and (min-width:600px){.usa-footer-slim .usa-footer-contact_info>*{margin:0}}@media screen and (min-width:600px){.usa-footer-slim .usa-footer-contact_info{padding-top:2rem;padding-bottom:2rem}}@media screen and (min-width:600px){.usa-footer-slim .usa-footer-contact_info{width:100%}}@media screen and (min-width:1201px){.usa-footer-slim .usa-footer-contact_info{float:left;display:block;margin-right:2.35765%;width:48.82117%}.usa-footer-slim .usa-footer-contact_info:last-child{margin-right:0}}li.usa-footer-primary-content,ul.usa-footer-primary-content{border-top:1px solid #212121}@media screen and (min-width:600px){li.usa-footer-primary-content,ul.usa-footer-primary-content{border:none}}li.usa-footer-primary-content:last-child,ul.usa-footer-primary-content:last-child{border-bottom:1px solid #212121}@media screen and (min-width:600px){li.usa-footer-primary-content:last-child,ul.usa-footer-primary-content:last-child{border-bottom:none}}.usa-sign_up-block{padding-bottom:2rem;padding-left:2.5rem;padding-right:2.5rem}@media screen and (min-width:600px){.usa-sign_up-block{float:right;padding:0}}.usa-sign_up-block label:first-of-type{margin-top:0}.usa-sign_up-block button{float:none;margin-right:0;margin-top:1.5rem}.usa-sign_up-block input{width:100%}.usa-footer-secondary_section{background-color:#d6d7d9;padding-bottom:3rem;padding-top:3rem}.usa-footer-secondary_section a{color:#212121}@media screen and (min-width:600px){.usa-footer-big-secondary-section{padding-top:5rem}}@media screen and (min-width:600px){.usa-footer-contact-links{text-align:right}}.usa-social-links a{text-decoration:none}@media screen and (min-width:600px){.usa-footer-big .usa-footer-primary-section{padding-bottom:4rem;padding-top:3rem}}.usa-footer-big ul{padding-bottom:2.5rem}@media screen and (min-width:600px){.usa-footer-big ul{padding-bottom:0}}.usa-footer-big ul:last-child{border-bottom:1px solid #212121}@media screen and (min-width:600px){.usa-footer-big ul:last-child{border-bottom:none}}.usa-footer-big ul li{line-height:2em}.usa-footer-big ul .usa-footer-primary-link{background-image:url(../img/arrow-down.png);background-image:url(../img/arrow-down.svg);background-position:1.5rem;background-repeat:no-repeat;background-size:1.3rem;margin-left:0;padding-left:3.5rem}@media screen and (min-width:600px){.usa-footer-big ul .usa-footer-primary-link{background:none;margin-bottom:.8rem;padding-bottom:0;padding-left:0}}.usa-footer-big ul .usa-footer-primary-link>*{margin-top:0;margin-bottom:0}.usa-footer-big ul.hidden{padding-bottom:0}.usa-footer-big ul.hidden li{display:none}.usa-footer-big ul.hidden .usa-footer-primary-link{background-image:url(../img/arrow-right.png);background-image:url(../img/arrow-right.svg);cursor:pointer;display:block}@media screen and (min-width:600px){.usa-footer-big ul.hidden .usa-footer-primary-link{background:none;padding-left:0}}.usa-footer-topic{margin:0;padding:2rem 0}@media screen and (min-width:600px){.usa-sign_up-header{margin:0;padding:2rem 0}}.usa-footer-logo-img{max-width:14rem}.usa-footer-slim-logo-img{float:left;max-width:10rem}.usa-footer-logo-heading{margin-top:2rem}.usa-footer-contact-heading{margin-top:0}@media screen and (min-width:600px){.usa-footer-contact-heading{margin-top:1rem}}.usa-footer-slim-logo-heading{display:block;padding-top:1rem}@media screen and (min-width:600px){.usa-footer-slim-logo-heading{display:inline-block;padding-left:1em}}.usa-link-facebook,.usa-link-rss,.usa-link-twitter,.usa-link-youtube,.usa-social_link{margin:2.5rem 1rem 1.5rem 0;background-position:50%;background-repeat:no-repeat;background-size:auto 3rem;display:inline-block;height:4.4rem;left:-1.6rem;position:relative;text-align:center;width:4.4rem}@media screen and (min-width:600px){.usa-link-facebook,.usa-link-rss,.usa-link-twitter,.usa-link-youtube,.usa-social_link{margin:0 0 0 1rem;left:1.2rem}}.usa-link-facebook span,.usa-link-rss span,.usa-link-twitter span,.usa-link-youtube span,.usa-social_link span{position:absolute;left:-999em}.usa-link-facebook{background-image:url(../img/social-icons/png/facebook25.png);background-image:url(../img/social-icons/svg/facebook25.svg)}.usa-link-twitter{background-image:url(../img/social-icons/png/twitter16.png);background-image:url(../img/social-icons/svg/twitter16.svg)}.usa-link-youtube{background-image:url(../img/social-icons/png/youtube15.png);background-image:url(../img/social-icons/svg/youtube15.svg)}.usa-link-rss{background-image:url(../img/social-icons/png/rss25.png);background-image:url(../img/social-icons/svg/rss25.svg)}form a{border-bottom:0}form [type=submit]{display:block;margin-bottom:1.5em;margin-top:2.5rem}@media screen and (min-width:600px){form [type=submit]{padding-left:2.7em;padding-right:2.7em;width:auto}}form [name=confirmPassword],form [name=password]{margin-bottom:1.1rem}@media screen and (min-width:600px){.usa-form{max-width:32rem}}.usa-form-note{float:right;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.5rem;margin:0 0 1.5rem}.usa-form-note+*{clear:both}fieldset{border:none;margin:0;padding:0}@media screen and (min-width:600px){.usa-form-large{max-width:46rem}}@media screen and (min-width:600px){input.usa-input-tiny{max-width:6rem}}@media screen and (min-width:600px){input.usa-input-medium{max-width:12rem}}@media screen and (min-width:600px){.usa-input-grid{padding-right:5%}}@media screen and (min-width:600px){.usa-input-grid:last-of-type{padding-right:0}}@media screen and (min-width:600px){.usa-input-grid-small{float:left;width:35%}}.usa-input-grid-small input{margin-bottom:3rem}.usa-input-grid-small select{margin-bottom:3rem}@media screen and (min-width:600px){.usa-input-grid-medium{float:left;width:65%}}.usa-input-grid-medium input{margin-bottom:3rem}.usa-input-grid-medium select{margin-bottom:3rem}@media screen and (min-width:600px){.usa-input-grid-large{float:left;width:100%}}.usa-input-grid-large input{margin-bottom:3rem}.usa-input-grid-large select{margin-bottom:3rem}.usa-additional_text{font-weight:400}.usa-checklist{list-style:none;margin-left:0;padding-left:0}.usa-checklist li{display:inline-block;list-style:none;margin-bottom:0;margin-top:0;padding-left:3em;text-indent:-2em}.usa-checklist li:before{content:" ";display:inline-block;height:.8em;margin-right:.2em;width:1.8em}.usa-checklist-checked:before{background-image:url(../img/correct9.png);background-image:url(../img/correct9.svg);background-position:100%;background-repeat:no-repeat;background-size:100%}.usa-graphic_list .usa-graphic_list-row .usa-media_block{margin-bottom:3rem}@media screen and (min-width:600px){.usa-graphic_list .usa-graphic_list-row .usa-media_block{margin-bottom:6rem}}@media screen and (min-width:600px){.usa-graphic_list .usa-graphic_list-row:last-child .usa-media_block{margin-bottom:0}}.usa-graphic_list .usa-graphic_list-row:last-child .usa-media_block:last-child{margin-bottom:0}.usa-graphic_list .usa-media_block-img{margin-right:3rem}.usa-graphic_list .usa-media_block-body>:first-child{margin-top:0}.usa-header{width:100%;z-index:7000}@media screen and (min-width:951px){.usa-header{border-bottom:1px solid #aeb0b5}}.usa-header a{border-bottom:none}.usa-header .usa-search{margin-bottom:1.5rem}@media screen and (min-width:951px){.usa-header .usa-search{float:right;margin-bottom:0;max-width:21.5rem}}.usa-logo{float:left;line-height:4rem;margin-left:1.5rem}@media screen and (min-width:951px){.usa-logo{line-height:7.5rem;margin-left:0}}.usa-logo a{color:#212121;text-decoration:none}.usa-logo br{display:none}@media screen and (min-width:951px){.usa-logo br{display:block}}.usa-logo-text{display:block;font-size:1.5rem;font-style:normal;font-weight:700;margin:0}@media screen and (min-width:951px){.usa-logo-text{display:block;font-size:2.4rem;line-height:1.3}}.usa-menu-btn{background-color:transparent;border:0;border-radius:0;font-weight:400;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;background-color:#0071bc;color:#fff;display:inline;float:right;font-size:1.3rem;height:4rem;line-height:4rem;text-align:center;text-decoration:none;text-transform:uppercase;width:5.8rem}.usa-menu-btn:hover{background-color:transparent}@media screen and (min-width:951px){.usa-menu-btn{display:none}}.usa-menu-btn:hover{color:#fff;background-color:#205493}.usa-menu-btn:visited{color:#fff}.usa-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;transition:all .2s ease-in-out;visibility:hidden;z-index:8000}.usa-overlay.is-visible{opacity:.1;visibility:visible}@media screen and (min-width:951px){.usa-header-basic .usa-logo{bottom:1.9rem;position:absolute}}@media screen and (min-width:951px){.usa-header-basic .usa-navbar{position:relative;width:18%}}@media screen and (min-width:951px){.usa-header-extended .usa-header{border-bottom:none}}@media screen and (min-width:951px){.usa-header-extended .usa-logo{margin-top:3rem;margin-bottom:3rem}}@media screen and (min-width:951px){.usa-header-extended em{font-size:3.2rem;line-height:1}}@media screen and (min-width:951px){.usa-header-extended .usa-navbar{max-width:1200px;margin-left:auto;margin-right:auto;padding-right:3rem;padding-left:3rem;display:block;height:auto;max-width:1040px}.usa-header-extended .usa-navbar:after{clear:both;content:"";display:block}}@media screen and (min-width:951px){.usa-header-extended .usa-nav{border-top:1px solid #aeb0b5;float:none;padding:0;width:100%}}@media screen and (min-width:951px){.usa-header-extended .usa-nav-inner{max-width:1200px;margin-left:auto;margin-right:auto;padding-right:3rem;padding-left:2rem;margin-top:-1px;max-width:1040px;position:relative}.usa-header-extended .usa-nav-inner:after{clear:both;content:"";display:block}}@media screen and (min-width:951px){.usa-header-extended .usa-nav-primary:after{clear:both;content:"";display:block}}@media screen and (min-width:951px){.usa-header-extended .usa-nav-primary button[aria-expanded=false],.usa-header-extended .usa-nav-primary button[aria-expanded=true]{background-position:right 1.5rem top 50%}}@media screen and (min-width:951px){.usa-header-extended .usa-nav-link{padding-top:1.9rem}}@media screen and (min-width:951px){.usa-header-extended .usa-nav-submenu .usa-grid-full{padding-left:1.2rem}}@media screen and (min-width:951px){.usa-header-extended .usa-megamenu{padding-left:3rem}}.usa-hero{padding-top:3rem;padding-bottom:3rem;background-image:url(../img/hero.png);background-position:50%;background-size:cover}.usa-hero .usa-button{color:#fff}.usa-section-dark .usa-hero-link{color:#02bfe7}.usa-hero-callout{background-color:#112e51;padding:3rem}@media screen and (min-width:481px){.usa-hero-callout{max-width:30rem}}.usa-hero-callout>:first-child{margin-top:0;margin-bottom:3rem}.usa-hero-callout .usa-button{font-size:1.4rem;margin-top:7rem;width:100%}.usa-hero-callout-alt{color:#fff;display:block}.usa-layout-docs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media screen and (min-width:1201px){.usa-layout-docs{display:inherit}}.usa-layout-docs .usa-grid>:first-child:not(.usa-width-*){margin-top:0}.usa-layout-docs .usa-grid>:last-child:not(.usa-width-*){margin-bottom:0}.usa-layout-docs-sidenav{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.usa-layout-docs-main_content{margin-bottom:3rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media screen and (min-width:1201px){.usa-layout-docs-main_content{margin-bottom:0}}.usa-layout-docs-main_content>:first-child{margin-top:0}.usa-media_block-img{float:left;margin-right:1rem}.usa-media_block-body{overflow:hidden}.usa-navbar{border-bottom:1px solid #aeb0b5;height:4rem}@media screen and (min-width:951px){.usa-navbar{border-bottom:none;display:inline-block;height:10.3rem}}.usa-nav-link{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@media screen and (min-width:951px){.usa-nav-link:hover span{border-bottom:.7rem solid #0071bc;padding-bottom:1rem}}@media screen and (min-width:951px){.usa-nav-container{max-width:1200px;margin-left:auto;margin-right:auto;padding-right:3rem;padding-left:3rem;max-width:1040px}.usa-nav-container:after{clear:both;content:"";display:block}}.usa-nav{position:fixed;top:0;right:0;bottom:0;left:auto;background:#fff;border-left:1px solid #aeb0b5;border-right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;padding:2rem;-webkit-transform:translateX(26rem);transform:translateX(26rem);width:26rem;z-index:9000}@media screen and (min-width:951px){.usa-nav{padding-top:5rem;padding-right:0;padding-bottom:0;border-left:none;display:block;float:right;overflow-y:visible;position:relative;-webkit-transform:translateX(0);transform:translateX(0);width:auto}}.usa-nav.is-visible{-webkit-transform:translateX(0);transform:translateX(0);transition:all .3s ease-in-out}.usa-nav nav{margin-top:6rem;min-height:100%}@media screen and (min-width:951px){.usa-nav nav{margin-top:0}}.usa-nav .usa-current{border-left:4px solid #0071bc;color:#0071bc;font-weight:700;padding-left:1.4rem}.usa-nav .usa-button{width:100%}@media screen and (min-width:951px){.usa-nav .usa-search{margin-left:1.5rem}}.usa-nav-primary{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.usa-nav-primary>li{margin-bottom:0}.usa-nav-primary>li{background-color:transparent;border-top:1px solid #5b616b;font-size:1.7rem}.usa-nav-primary>li:first-child{border-top:none}.usa-nav-primary a{border:none;color:#212121;display:block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;line-height:1.3;padding:.85rem 1rem .85rem 1.8rem;text-decoration:none}.usa-nav-primary a:hover{background-color:#f1f1f1;color:#0071bc;text-decoration:none}.usa-nav-primary a:focus{position:relative;z-index:1}.usa-nav-primary a.usa-current{border-left:.4rem solid #0071bc;color:#0071bc;font-weight:700;padding-left:1.4rem}@media screen and (min-width:951px){.usa-nav-primary{display:inline}}@media screen and (min-width:951px){.usa-nav-primary li{border-top:none}}.usa-nav-primary>li{width:auto}@media screen and (min-width:951px){.usa-nav-primary>li{display:inline-block}}@media screen and (min-width:951px){.usa-nav-primary>li>a{padding:1.3rem 1.5rem 1.7rem;color:#5b616b;font-size:1.5rem;font-weight:700;line-height:1.2}}@media screen and (min-width:951px){.usa-nav-primary>li>a:hover{background-color:transparent}}.usa-nav-primary button{background-color:transparent;border:0;border-radius:0;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:400;padding:1.4rem 1.5rem 1rem 1.8rem}.usa-nav-primary button:hover{background-color:transparent}@media screen and (min-width:951px){.usa-nav-primary button{padding-right:3rem;padding-bottom:1.9rem;padding-left:1.5rem;color:#5b616b;font-size:1.5rem;font-weight:700;width:auto}}.usa-nav-primary button:active,.usa-nav-primary button:focus{box-shadow:0 0 3px #3e94cf,0 0 7px #3e94cf}.usa-nav-primary button:hover{background-color:#f1f1f1;color:#0071bc}@media screen and (min-width:951px){.usa-nav-primary button:hover{background-color:transparent}}.usa-nav-primary button[aria-expanded=false]{background-image:url(../img/plus-alt.png);background-image:url(../img/plus-alt.svg);background-repeat:no-repeat;background-position:right 0 center;background-size:1rem}@media screen and (min-width:951px){.usa-nav-primary button[aria-expanded=false]{background-image:url(../img/angle-arrow-down.png);background-image:url(../img/angle-arrow-down.svg);background-position:right 1.5rem top 44%}}.usa-nav-primary button[aria-expanded=true]{background-image:url(../img/minus-alt.png);background-image:url(../img/minus-alt.svg);background-repeat:no-repeat;background-position:right 0 center;background-size:1rem}@media screen and (min-width:951px){.usa-nav-primary button[aria-expanded=true]{background-color:#112e51;color:#fff;background-image:url(../img/angle-arrow-down-hover.png);background-image:url(../img/angle-arrow-down-hover.svg);background-position:right 1.5rem top 44%}.usa-nav-primary button[aria-expanded=true]:hover{background-color:#112e51}.usa-nav-primary button[aria-expanded=true] span{border-bottom:.7rem solid #0071bc;padding-bottom:1rem}}@media screen and (min-width:951px){.usa-nav-primary a.usa-current{border-left:0;padding-left:1.5rem}.usa-nav-primary a.usa-current span{border-bottom:.7rem solid #0071bc;padding-bottom:1rem}}@media screen and (min-width:951px){.usa-nav-secondary{position:absolute;right:3rem;top:-5.7rem}}.usa-nav-secondary .usa-search{margin-top:3rem;margin-bottom:3rem}@media screen and (min-width:951px){.usa-nav-secondary .usa-search{margin-top:-.2rem;margin-bottom:0;margin-left:0;float:left}}@media screen and (min-width:951px){.usa-nav-secondary-links{float:left}}@media screen and (min-width:951px){.usa-nav-secondary-links li{display:inline;padding-left:1rem}}@media screen and (min-width:951px){.usa-nav-secondary-links li:not(:last-child):after{content:"|";padding-left:1rem}}.usa-nav-secondary-links .usa-header-search-button,.usa-nav-secondary-links a{color:#5b616b;display:inline-block;font-size:1.5rem;text-decoration:none}.usa-nav-secondary-links .usa-header-search-button:hover,.usa-nav-secondary-links a:hover{color:#0071bc}.usa-nav-secondary-links .usa-header-search-button{background-color:transparent;border:0;border-radius:0;font-weight:400;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;display:none}.usa-nav-secondary-links .usa-header-search-button:hover{background-color:transparent}@media screen and (min-width:951px){.usa-nav-secondary-links .usa-header-search-button{background-image:url(../img/search-alt.png);background-image:url(../img/search-alt.svg);background-repeat:no-repeat;background-position:0;background-size:2.2rem;display:inline-block;padding-left:2.3rem}}@media screen and (min-width:951px){.usa-nav-secondary-links .usa-header-search-button.is-hidden{display:none}}@media screen and (min-width:951px){.usa-nav-secondary-links a.usa-current{border-left:0;padding-left:0}}@media screen and (min-width:951px){.usa-nav-submenu{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0;padding-top:1.15rem;padding-bottom:1.15rem;background-color:#112e51;min-width:21.5rem;width:auto;position:absolute}.usa-nav-submenu>li{margin-bottom:0}}.usa-nav-submenu[aria-hidden=true]{display:none}@media screen and (min-width:951px){.usa-nav-submenu a{color:#fff;padding-left:1.5rem}}@media screen and (min-width:951px){.usa-nav-submenu a:hover{background-color:#112e51;color:#fff;text-decoration:underline}}.usa-nav-submenu li{font-size:1.5rem;margin-bottom:0}.usa-nav-close{background-color:transparent;border:0;border-radius:0;font-weight:400;margin:0;outline:0;padding:0;text-align:left;-webkit-font-smoothing:auto;margin:-1.2rem -1.5rem 2.4rem auto;float:right;height:4.4rem;text-align:center;width:4.4rem}.usa-nav-close:hover{background-color:transparent}@media screen and (min-width:951px){.usa-nav-close{display:none}}.usa-nav-close img{width:1.3rem}.usa-mobile_nav-active{overflow:hidden}@media screen and (min-width:951px){.usa-megamenu{padding-top:3.15rem;padding-bottom:3.15rem;left:-1rem;width:100%}}@media screen and (min-width:951px){.usa-megamenu:before{background-color:#112e51;content:"";display:block;height:100%;position:absolute;top:0;width:1000%;right:100%}}@media screen and (min-width:951px){.usa-megamenu:after{background-color:#112e51;content:"";display:block;height:100%;position:absolute;top:0;width:1000%;left:100%}}@media screen and (min-width:951px){.usa-header-basic-megamenu .usa-nav{padding-left:0;padding-top:0;width:100%}}.usa-header-basic-megamenu .usa-nav-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media screen and (min-width:951px){.usa-header-basic-megamenu .usa-nav-inner{display:block;float:right;margin-top:-4.8rem}}@media screen and (min-width:951px){.usa-header-basic-megamenu .usa-nav-submenu .usa-grid-full{margin-left:-1.8rem}}@media screen and (min-width:951px){.usa-megamenu-col{float:left;display:block;margin-right:2.35765%;width:23.23176%}.usa-megamenu-col:last-child{margin-right:0}.usa-megamenu-col:nth-child(2n){float:left;display:block;margin-right:2.35765%;width:23.23176%}.usa-megamenu-col:nth-child(2n):last-child{margin-right:0}.usa-megamenu-col:nth-child(4n){margin-right:0}}.usa-megamenu-col>ul{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0}.usa-megamenu-col>ul>li{margin-bottom:0}.usa-search{max-width:none;position:relative}.usa-search:after{clear:both;content:"";display:block}.usa-search .usa-search-input,.usa-search [type=search]{padding-top:0;padding-bottom:0;-webkit-appearance:none;border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-sizing:border-box;float:left;font-size:1.4rem;height:3.3rem;margin:0;width:calc(100% - 4.5rem)}@media screen and (min-width:481px){.usa-search .usa-search-input,.usa-search [type=search]{width:calc(100% - 8.5rem)}}.usa-search .usa-search-submit,.usa-search [type=submit]{background-image:url(../img/search.png);background-image:url(../img/search.svg);background-position:50%;background-repeat:no-repeat;border-bottom-left-radius:0;border-top-left-radius:0;height:3.3rem;margin:0;padding:0;width:4.5rem}@media screen and (min-width:481px){.usa-search .usa-search-submit,.usa-search [type=submit]{background-image:none;width:8.5rem}}.usa-search .usa-search-submit-text{display:none}@media screen and (min-width:481px){.usa-search .usa-search-submit-text{display:block}}@media screen and (min-width:481px){.usa-search.usa-search-big .usa-search-input,.usa-search.usa-search-big [type=search]{font-size:1.7rem;height:4.4rem;width:calc(100% - 11.6rem)}.usa-search.usa-search-big .usa-search-submit,.usa-search.usa-search-big [type=submit]{font-size:2rem;height:4.4rem;width:11.6rem}}@media screen and (min-width:481px){.usa-search.usa-search-small .usa-search-input,.usa-search.usa-search-small [type=search]{width:calc(100% - 4.5rem)}.usa-search.usa-search-small .usa-search-submit,.usa-search.usa-search-small [type=submit]{background-image:url(../img/search.png);background-image:url(../img/search.svg);background-position:50%;background-repeat:no-repeat;width:4.5rem}}@media screen and (max-width:950px){.usa-search.usa-search-small.usa-sr-only{left:auto;position:relative}}.usa-section{padding-top:3rem;padding-bottom:3rem}@media screen and (min-width:600px){.usa-section{padding-top:6rem;padding-bottom:6rem}}.usa-section-light{background-color:#f1f1f1}.usa-section-dark{background-color:#112e51;color:#fff}.usa-section-dark h1,.usa-section-dark h2,.usa-section-dark h3,.usa-section-dark h4,.usa-section-dark h5,.usa-section-dark h6{color:#02bfe7}.usa-section-dark p{color:#fff}.usa-section-dark a{color:#d6d7d9}.usa-section-dark a:hover{color:#fff}.usa-sidenav-list{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0}.usa-sidenav-list>li{margin-bottom:0}.usa-sidenav-list>li{background-color:transparent;border-top:1px solid #5b616b;font-size:1.7rem}.usa-sidenav-list>li:first-child{border-top:none}.usa-sidenav-list a{border:none;color:#212121;display:block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;line-height:1.3;padding:.85rem 1rem .85rem 1.8rem;text-decoration:none}.usa-sidenav-list a:hover{background-color:#f1f1f1;color:#0071bc;text-decoration:none}.usa-sidenav-list a:focus{position:relative;z-index:1}.usa-sidenav-list a.usa-current{border-left:.4rem solid #0071bc;color:#0071bc;font-weight:700;padding-left:1.4rem}.usa-sidenav-sub_list{margin-top:0;margin-bottom:0;list-style-type:none;padding-left:0;margin:0;width:100%}.usa-sidenav-sub_list>li{margin-bottom:0}.usa-sidenav-sub_list li{border:none;font-size:1.5rem}.usa-sidenav-sub_list a{padding-left:2.8rem;line-height:1.3}.usa-sidenav-sub_list a.usa-current,.usa-sidenav-sub_list a:hover{border:none;padding-left:2.8rem}.usa-sidenav-sub_list .usa-sidenav-sub_list a{padding-left:3.8rem}.usa-sidenav-sub_list .usa-sidenav-sub_list a:hover{padding-left:3.8rem}.usa-skipnav{background:transparent;color:#212121;left:0;padding:1rem 1.5rem;position:absolute;top:-4.2rem;transition:all .2s ease-in-out;z-index:100}.usa-skipnav:focus{background:#fff;left:0;outline:0;position:absolute;top:0;transition:all .2s ease-in-out}
4
+ /*# sourceMappingURL=uswds.min.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["uswds.css"],"names":[],"mappings":"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B,AACD,yBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,UAAY,CACb,AACD,oCACE,cAAgB,CACjB,AACD,qBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,gCACE,cAAgB,CACjB,AACD,mCACE,cAAgB,CACjB,AACD,uBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,kCACE,cAAgB,CACjB,AACD,uBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,kCACE,cAAgB,CACjB,AACD,qCACE,cAAgB,CACjB,AACD,yBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,oCACE,cAAgB,CACjB,AACD,0BACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,qCACE,cAAgB,CACjB,CACF,AAED,qCACE,qBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,UAAY,CACb,AACD,gCACE,cAAgB,CACjB,AACD,oBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,+BACE,cAAgB,CACjB,AACD,qBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,gCACE,cAAgB,CACjB,AACD,sBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,iCACE,cAAgB,CACjB,AACD,sBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,iCACE,cAAgB,CACjB,AACD,oCACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,+CACE,cAAgB,CACjB,AACD,oCACE,cAAgB,CACjB,AACD,yBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,oCACE,cAAgB,CACjB,AACD,qBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,gCACE,cAAgB,CACjB,AACD,mCACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,8CACE,cAAgB,CACjB,AACD,mCACE,cAAgB,CACjB,AACD,uBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,kCACE,cAAgB,CACjB,AACD,uBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,cAAgB,CACjB,AACD,kCACE,cAAgB,CACjB,AACD,qCACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,cAAgB,CACjB,AACD,gDACE,cAAgB,CACjB,AACD,sCACE,cAAgB,CACjB,AACD,yBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,oCACE,cAAgB,CACjB,AACD,0BACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,qCACE,cAAgB,CACjB,CACF,AAED,aACE,cAAgB,CACjB,AAED,wBACE,mBAAqB,CACtB,AAED,sBACE,qBAAuB,CACxB,AAED,uBACE,qBAAuB,CACxB,AAED,sBACE,qBAAuB,CACxB,AAED,0BACE,qBAAuB,CACxB,AAED,qBACE,qBAAuB,CACxB,AAED,2BACE,qBAAuB,CACxB,AAED,uBACE,qBAAuB,CACxB,AAED,0BACE,qBAAuB,CACxB,AAED,wBACE,qBAAuB,CACxB,AAED,4BACE,qBAAuB,CACxB,AAED,aACE,kBAAmB,AACnB,WAAa,CACd,AAGD,6IASE,kCAAmC,AACnC,mCAAoC,AACpC,gBAAkB,AAClB,kBAAoB,AACpB,mBAAqB,AACrB,wBAAyB,AACzB,qBAAsB,AACtB,gBAAiB,AACjB,yBAA0B,AAC1B,SAAU,AACV,kBAAmB,AACnB,WAAe,AACf,eAAgB,AAChB,qBAAsB,AACtB,6EAA6F,AAC7F,iBAAkB,AAClB,gBAAiB,AACjB,cAAe,AACf,aAAc,AACd,kBAAmB,AACnB,kBAAmB,AACnB,qBAAsB,AACtB,UAAY,CACb,AAED,oCACE,6IASE,UAAY,CACb,CACF,AAED,yeAiBE,yBAA0B,AAC1B,gBAAiB,AACjB,WAAe,AAC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B,AACvB,wBAA0B,CAC3B,AAED,oDACE,cAAgB,CACjB,AAED,eACE,iBAAkB,AAClB,mBAAqB,AACrB,mBAAsB,CACvB,AAED,MAEE,eAAgB,AAChB,kBAAmB,AACnB,mBAAqB,CACtB,AAED,GACE,gBAAiB,AACjB,kBAAqB,CACtB,AAED,cACE,eAAiB,CAClB,AAED,kFAcE,YAAc,CACf,AAED,mBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,cAAgB,CACjB,AAED,sBACE,eAAiB,CAClB,AAED,MACE,iBAAkB,AAClB,aAAc,AACd,cAAgB,CACjB,AAED,8BAEE,wBAA0B,CAC3B,AAED,SACE,eAAiB,CAClB,AAED,eACE,eAAiB,CAClB,AAED,kBAEE,sBAA0B,AAC1B,yBAA0B,AAC1B,cAAgB,CACjB,AAED,+BACE,4BAA8B,CAC/B,AAED,+BACE,YAAc,CACf,AAED,kDAEE,cAAe,AACf,cAAgB,CACjB,AAED,KACE,6EAA6F,AAC7F,cAAgB,CACjB,AAED,KACE,gBAAkB,CACnB,AAED,EACE,gBAAiB,AACjB,kBAAmB,AACnB,cAAgB,CACjB,AAED,EACE,cAAe,AACf,yBAA2B,CAC5B,AAED,iBACE,aAAe,CAChB,AAED,UACE,aAAe,CAChB,AAED,QACE,2CAA6C,AAC7C,SAAW,CACZ,AAED,yBACE,uDAA0D,AAC1D,uDAA0D,AAC1D,qBAAsB,AACtB,WAAY,AACZ,qBAAsB,AACtB,aAAe,AACf,mBAAoB,AACpB,gBAAiB,AACjB,WAAc,CACf,AAED,+BACE,qDAAwD,AACxD,oDAAwD,CACzD,AAED,6BACE,2DAA8D,AAC9D,2DAA8D,AAC9D,qBAAsB,AACtB,WAAY,AACZ,qBAAsB,AACtB,aAAe,AACf,mBAAoB,AACpB,gBAAiB,AACjB,WAAc,CACf,AAED,mCACE,yDAA4D,AAC5D,wDAA4D,CAC7D,AAED,kBAME,WAAY,AACZ,qEAAqF,AACrF,gBAAiB,AACjB,mBAAoB,AACpB,gBAAkB,CACnB,AAED,GACE,eAAgB,AAChB,eAAiB,CAClB,AAED,GACE,eAAgB,AAChB,eAAiB,CAClB,AAED,GACE,eAAgB,AAChB,eAAiB,CAClB,AAED,GACE,iBAAkB,AAClB,eAAiB,CAClB,AAED,GACE,iBAAkB,AAClB,eAAiB,CAClB,AAED,GACE,6EAA6F,AAC7F,iBAAkB,AAClB,gBAAiB,AACjB,wBAA0B,CAC3B,AAED,qBAIE,iBAAmB,CACpB,AAED,qKAGE,eAAiB,CAClB,AAED,kBACE,eAAiB,CAClB,AAED,oDAIE,4EAA6F,CAC9F,AAED,YACE,mBAAoB,AACpB,eAAiB,CAClB,AAED,wDAIE,oEAAqF,CACtF,AAED,aACE,eAAgB,AAChB,gBAAiB,AACjB,eAAiB,CAClB,AAED,oCACE,aACE,eAAgB,AAChB,eAAiB,CAClB,CACF,AAED,oCACE,aACE,iBAAkB,AAClB,eAAiB,CAClB,CACF,AAED,eACE,qEAAqF,AACrF,eAAgB,AAChB,gBAAiB,AACjB,eAAiB,CAClB,AAED,iBACE,iBAAmB,CACpB,AAED,sBACE,WAAe,AACf,OAAQ,AACR,eAAgB,AAChB,kBAAmB,AACnB,KAAO,CACR,AAED,gBACE,YAAc,CACf,AAED,eACE,eAAiB,CAClB,AAED,qBACE,wBAA0B,CAC3B,AAED,iDAEE,UAAe,CAChB,AAED,uBACE,aAAe,CAChB,AAED,6BACE,UAAe,CAChB,AAED,gBACE,iBAAkB,AAClB,YAAc,CACf,AAED,6EAGE,YAAc,CACf,AAED,0EAGE,eAAiB,CAClB,AAED,uaASE,YAAc,CACf,AAED,oCACE,2TASE,YAAc,CACf,CACF,AAED,qZASE,eAAiB,CAClB,AAED,oCACE,kTASE,eAAiB,CAClB,CACF,AAED,uCAEE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,eAAgB,AAChB,cAAe,AACf,SAAU,AACV,UAAW,AACX,UAAY,CACb,AAED,6CAEE,eAAiB,CAClB,AAED,yDAEE,eAAiB,CAClB,AAED,qEAEE,iBAAmB,CACpB,AAED,iFAEE,iBAAmB,CACpB,AAED,4JAIE,eAAiB,CAClB,AAED,6CAEE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,eAAgB,AAChB,cAAe,AACf,SAAU,AACV,UAAW,AACX,UAAY,CACb,AAED,mDAEE,eAAiB,CAClB,AAED,mDAEE,yBAA0B,AAC1B,6EAA6F,AAC7F,gBAAiB,AACjB,kBAAmB,AACnB,UAAY,CACb,AAED,2DAEE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AAEjB,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,yBAA0B,AAC1B,uCAA0C,AAC1C,uCAA0C,AAC1C,sCAAuC,AACvC,4BAA6B,AAC7B,qBAAsB,AACtB,cAAe,AACf,eAAgB,AAChB,qBAAsB,AACtB,6EAA6F,AAC7F,gBAAiB,AACjB,SAAU,AACV,kCAAmC,AACnC,UAAY,CACb,AAED,uEAEE,4BAA8B,CAC/B,AAED,uEAEE,0CAA6C,CAC9C,AAED,uEAEE,yBAA0B,AAC1B,aAAe,CAChB,AAED,sYAYE,QAAU,CACX,AAED,yFAEE,sCAAyC,AACzC,sCAAyC,AACzC,4BAA6B,AAC7B,sBAAwB,CACzB,AAED,6CAEE,yBAA0B,AAC1B,6EAA6F,AAC7F,gBAAiB,AACjB,kBAAmB,AACnB,UAAY,CACb,AAED,+CACE,gCAAiC,AACjC,8BAA+B,AAC/B,8BAAgC,CACjC,AAED,uBACE,sBAA0B,AAC1B,cAAe,AACf,YAAc,CACf,AAED,oCACE,YAAc,CACf,AAED,mCACE,eAAiB,CAClB,AAED,0CACE,kBAAmB,AACnB,WAAa,CACd,AAED,yCACE,YAAc,CACf,AAED,sBACE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AAEjB,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,yBAA0B,AAC1B,uCAA0C,AAC1C,uCAA0C,AAC1C,sCAAuC,AACvC,4BAA6B,AAC7B,qBAAsB,AACtB,cAAe,AACf,eAAgB,AAChB,qBAAsB,AACtB,6EAA6F,AAC7F,gBAAiB,AACjB,SAAU,AACV,kCAAmC,AACnC,UAAY,CACb,AAED,4BACE,4BAA8B,CAC/B,AAED,4BACE,0CAA6C,CAC9C,AAED,4BACE,yBAA0B,AAC1B,aAAe,CAChB,AAED,sJAME,QAAU,CACX,AAED,2CACE,sCAAyC,AACzC,sCAAyC,AACzC,4BAA6B,AAC7B,sBAAwB,CACzB,AAED,WACE,yBAA0B,AAC1B,8BAA+B,AAC/B,4BAA6B,AAC7B,qBAAsB,AACtB,iBAAkB,AAClB,WAAa,CACd,AAED,oCACE,WACE,sBAAwB,CACzB,CACF,AAED,aACE,aAAe,CAChB,AAED,sCACE,aAAe,CAChB,AAED,cACE,gBAAiB,AACjB,eAAgB,AAChB,gBAAkB,CACnB,AAED,gBACE,mBAAoB,AACpB,kBAAoB,CACrB,AAED,gBACE,mBAAoB,AACpB,oBAAqB,AACrB,kBAAoB,CACrB,AAED,oCACE,gBACE,iBAAmB,CACpB,CACF,AAED,8BACE,gBAAmB,CACpB,AAED,6BACE,mBAAsB,CACvB,AAED,mBACE,oBAAqB,AACrB,YAAc,CACf,AAED,oCACE,mBACE,gBAAkB,CACnB,CACF,AAED,gBACE,6EAA6F,AAC7F,gBAAiB,AACjB,YAAc,CACf,AAED,mBACE,yBAA0B,AAC1B,gDAAmD,AACnD,+CAAmD,CACpD,AAED,mBACE,yBAA0B,AAC1B,gDAAmD,AACnD,+CAAmD,CACpD,AAED,iBACE,yBAA0B,AAC1B,8CAAiD,AACjD,6CAAiD,CAClD,AAED,gBACE,yBAA0B,AAC1B,6CAAgD,AAChD,4CAAgD,CACjD,AAED,mBACE,qBAAuB,CACxB,AAED,qBACE,YAAa,AACb,uBAAyB,CAC1B,AAED,YACE,yBAA0B,AAC1B,oBAAuB,CACxB,AAED,oCACE,YACE,iBAAkB,AAClB,gBAAkB,CACnB,CACF,AAED,oBAGE,wBAAqB,AACrB,6BAA8B,AAC9B,iBAAkB,AAElB,UAAY,CACb,AAED,oCACE,oBACE,sBAAuB,AACvB,gBAAkB,CACnB,CACF,AAED,oCACE,oBACE,mBAAoB,AACpB,iBAAmB,CACpB,CACF,AAED,kCACE,eAAiB,CAClB,AAED,oCACE,kCACE,YAAc,CACf,CACF,AAED,kBACE,iBAAkB,AAClB,iBAAkB,AAClB,kBAAmB,AACnB,qBAAsB,AACtB,oBAAqB,AACrB,gBAAkB,CACnB,AAED,wBACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,AAED,oCACE,kBACE,mBAAoB,AACpB,iBAAmB,CACpB,CACF,AAED,mBACE,mBAAqB,AACrB,sBAAwB,AACxB,iBAAkB,AAClB,eAAiB,CAClB,AAED,oCACE,mBACE,cAAe,AACf,gBAAkB,CACnB,CACF,AAED,qBACE,aAAc,AACd,gBAAiB,AACjB,eAAgB,AAChB,gBAAiB,AACjB,qBAAuB,CACxB,AAED,oCACE,qBACE,eAAgB,AAChB,kBAAmB,AACnB,oBAAsB,CACvB,CACF,AAED,uBACE,WAAY,AACZ,kBAAmB,AACnB,eAAgB,AAChB,YAAc,CACf,AAED,oCACE,uBACE,mBAAqB,AACrB,UAAY,CACb,CACF,AAED,4BACE,yBAA0B,AAC1B,sBAAuB,AACvB,mBAAoB,AACpB,gCAAiC,AACjC,oBAAqB,AACrB,oBAAqB,AACrB,aAAc,AACd,iBAAkB,AAClB,kBAAmB,AACnB,kBAAoB,CACrB,AAED,oCACE,4BACE,mBAAoB,AACpB,cAAe,AACf,iBAAkB,AAClB,gBAAiB,AACjB,aAAc,AACd,eAAiB,CAClB,CACF,AAED,8CACE,aAAe,CAChB,AAED,oCACE,8CACE,gBAAkB,CACnB,CACF,AAED,gCACE,mBAAqB,CACtB,AAED,oCACE,gCACE,kBAAqB,CACtB,CACF,AAED,8BACE,gBAAiB,AACjB,kBAAoB,CACrB,AAED,oCACE,8BACE,gBAAiB,AACjB,qBAAuB,CACxB,CACF,AAED,mBACE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AACjB,SAAU,AACV,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,mBAAoB,AACpB,oBAAqB,AACrB,4BAA6B,AAC7B,cAAe,AACf,cAAe,AACf,iBAAkB,AAClB,cAAe,AACf,OAAQ,AACR,kBAAmB,AACnB,0BAA2B,AAC3B,MAAO,AACP,UAAY,CACb,AAED,yBACE,4BAA8B,CAC/B,AAED,oCACE,mBACE,cAAe,AACf,eAAgB,AAEhB,eAAgB,AAChB,YAAgB,AAChB,gBAAiB,AACjB,kBAAmB,AACnB,sBAAuB,AACvB,UAAe,CAEhB,CACF,AAED,yBACE,cAAe,AACf,yBAA2B,CAC5B,AAED,wCACE,qBAAuB,CACxB,AAED,8CACE,0DAA2D,AAC3D,0DAA2D,AAC3D,qBAAsB,AACtB,WAAY,AACZ,qBAAsB,AACtB,YAAa,AACb,WAAY,AAEZ,aAAe,CAEhB,AAED,oDACE,gEAAiE,AACjE,+DAAiE,CAClE,AAED,8CACE,yBAA2B,CAC5B,AAED,uCACE,sBAAuB,AACvB,aAAe,CAChB,AAED,6CACE,uCAAwC,AACxC,uCAAwC,AACxC,qBAAsB,AACtB,WAAY,AACZ,qBAAsB,AACtB,cAAe,AACf,aAAc,AAEd,aAAe,CAEhB,AAED,oCACE,uCACE,YAAgB,AAChB,UAAW,AACX,iBAAmB,CACpB,AACD,6CACE,wDAAyD,AACzD,wDAAyD,AACzD,qBAAsB,AACtB,WAAY,AACZ,qBAAsB,AACtB,YAAa,AACb,WAAY,AAEZ,aAAe,CAEhB,AACD,mDACE,8DAA+D,AAC/D,6DAA+D,CAChE,AACD,6CACE,yBAA2B,CAC5B,CACF,AAED,6CACE,kBAAmB,AACnB,aAAc,AACd,WAAa,CACd,AAED,oCACE,6CACE,eAAiB,CAClB,CACF,AAED,+DACE,YAAc,CACf,AAED,oCACE,+DACE,cAAgB,CACjB,CACF,AAED,iBACE,YAAc,CACf,AAED,+BACE,aAAe,CAChB,AAED,qCACE,cAAe,AACf,cAAe,AACf,gBAAiB,AACjB,aAAc,AACd,oBAAqB,AACrB,iBAAkB,AAClB,oBAAsB,CACvB,AAED,oCACE,qCACE,eAAiB,CAClB,CACF,AAED,2CACE,yBAA2B,CAC5B,AAED,cACE,eAAoB,CACrB,AAED,0BACE,oBAAqB,AACrB,gBAAkB,CACnB,AAED,4BACE,wBAA0B,CAC3B,AAED,wDACE,oBAAqB,AACrB,oBAAsB,CACvB,AAED,oCACE,wDACE,eAAgB,AAChB,eAAiB,CAClB,CACF,AAED,2DACE,gBAAkB,CACnB,AAED,oCACE,2DACE,aAAe,CAChB,CACF,AAED,oCACE,2CACE,oBAAqB,AACrB,oBAAsB,CACvB,CACF,AAED,+CACE,SAAW,CACZ,AAED,oCACE,+CACE,oBAAqB,AACrB,gBAAkB,CACnB,CACF,AAED,qCACE,2EACE,gBAAiB,AACjB,aAAe,CAChB,CACF,AAED,qCACE,sFACE,cAAgB,CACjB,CACF,AAED,oCACE,sCACE,yBAA0B,AAC1B,sBAAuB,AACvB,kBAAoB,CACrB,CACF,AAED,mCACE,aAAe,CAChB,AAED,qCACE,6DACE,gBAAiB,AACjB,aAAe,CAChB,CACF,AAED,qCACE,wEACE,cAAgB,CACjB,CACF,AAED,6CACE,mBAAqB,CACtB,AAED,oCACE,6CACE,oBAAqB,AACrB,gBAAkB,CACnB,AACD,4DACE,yBAA0B,AAC1B,sBAAuB,AACvB,kBAAoB,CACrB,CACF,AAED,oCACE,4CACE,QAAU,CACX,CACF,AAED,oCACE,0CACE,iBAAkB,AAClB,mBAAqB,CACtB,CACF,AAED,oCACE,0CACE,UAAY,CACb,CACF,AAED,qCACE,0CACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,qDACE,cAAgB,CACjB,CACF,AAGD,4DAGE,4BAA8B,CAC/B,AAED,oCACE,4DAGE,WAAa,CACd,CACF,AAED,kFAGE,+BAAiC,CAClC,AAED,oCACE,kFAGE,kBAAoB,CACrB,CACF,AAGD,mBACE,oBAAqB,AACrB,oBAAqB,AACrB,oBAAsB,CACvB,AAED,oCACE,mBACE,YAAa,AACb,SAAW,CACZ,CACF,AAED,uCACE,YAAc,CACf,AAED,0BACE,WAAY,AACZ,eAAgB,AAChB,iBAAmB,CACpB,AAED,yBACE,UAAY,CACb,AAED,8BACE,yBAA0B,AAC1B,oBAAqB,AACrB,gBAAkB,CACnB,AAED,gCACE,aAAe,CAChB,AAED,oCACE,kCACE,gBAAkB,CACnB,CACF,AAED,oCACE,0BACE,gBAAkB,CACnB,CACF,AAED,oBACE,oBAAsB,CACvB,AAED,oCACE,4CACE,oBAAqB,AACrB,gBAAkB,CACnB,CACF,AAED,mBACE,qBAAuB,CACxB,AAED,oCACE,mBACE,gBAAkB,CACnB,CACF,AAED,8BACE,+BAAiC,CAClC,AAED,oCACE,8BACE,kBAAoB,CACrB,CACF,AAED,sBACE,eAAiB,CAClB,AAED,4CACE,4CAA+C,AAC/C,4CAA+C,AAC/C,2BAAmC,AACnC,4BAA6B,AAC7B,uBAAwB,AACxB,cAAe,AACf,mBAAqB,CACtB,AAED,oCACE,4CACE,gBAAiB,AACjB,oBAAqB,AACrB,iBAAkB,AAClB,cAAgB,CACjB,CACF,AAED,8CACE,aAAc,AACd,eAAiB,CAClB,AAED,0BAEE,gBAAkB,CACnB,AAED,6BACE,YAAc,CACf,AAED,mDAEE,6CAAgD,AAChD,6CAAgD,AAChD,eAAgB,AAChB,aAAe,CAChB,AAED,oCACE,mDACE,gBAAiB,AACjB,cAAgB,CACjB,CACF,AAED,kBACE,SAAU,AACV,cAAgB,CACjB,AAED,oCACE,oBACE,SAAU,AACV,cAAgB,CACjB,CACF,AAED,qBACE,eAAiB,CAClB,AAED,0BACE,WAAY,AACZ,eAAiB,CAClB,AAED,yBACE,eAAiB,CAClB,AAED,4BACE,YAAc,CACf,AAED,oCACE,4BACE,eAAiB,CAClB,CACF,AAED,8BACE,cAAe,AACf,gBAAkB,CACnB,AAED,oCACE,8BACE,qBAAsB,AACtB,gBAAkB,CACnB,CACF,AAED,sFACE,4BAA6B,AAC7B,wBAAmC,AACnC,4BAA6B,AAC7B,0BAA2B,AAC3B,qBAAsB,AACtB,cAAe,AACf,aAAc,AACd,kBAAmB,AACnB,kBAAmB,AACnB,YAAc,CACf,AAED,oCACE,sFACE,kBAAmB,AACnB,WAAa,CACd,CACF,AAED,+GACE,kBAAmB,AACnB,WAAa,CACd,AAED,mBACE,6DAAgE,AAChE,4DAAgE,CACjE,AAED,kBACE,4DAA+D,AAC/D,2DAA+D,CAChE,AAED,kBACE,4DAA+D,AAC/D,2DAA+D,CAChE,AAED,cACE,wDAA2D,AAC3D,uDAA2D,CAC5D,AAED,OACE,eAAiB,CAClB,AAED,mBAEE,cAAe,AACf,oBAAqB,AACrB,iBAAmB,CACpB,AAED,oCACE,mBAEE,mBAAoB,AACpB,oBAAqB,AACrB,UAAY,CACb,CACF,AAED,iDAEE,oBAAsB,CACvB,AAED,oCACE,UACE,eAAiB,CAClB,CACF,AAED,eACE,YAAa,AACb,6EAA6F,AAC7F,iBAAkB,AAClB,iBAAmB,CACpB,AAED,iBACE,UAAY,CACb,AAED,SACE,YAAa,AACb,SAAU,AACV,SAAW,CACZ,AAED,oCACE,gBACE,eAAiB,CAClB,CACF,AAMD,oCACE,qBACE,cAAgB,CACjB,CACF,AAMD,oCACE,uBACE,eAAiB,CAClB,CACF,AAED,oCACE,gBACE,gBAAkB,CACnB,CACF,AAED,oCACE,6BACE,eAAiB,CAClB,CACF,AAED,oCACE,sBACE,WAAY,AACZ,SAAW,CACZ,CACF,AAED,4BACE,kBAAoB,CACrB,AAED,6BACE,kBAAoB,CACrB,AAED,oCACE,uBACE,WAAY,AACZ,SAAW,CACZ,CACF,AAED,6BACE,kBAAoB,CACrB,AAED,8BACE,kBAAoB,CACrB,AAED,oCACE,sBACE,WAAY,AACZ,UAAY,CACb,CACF,AAED,4BACE,kBAAoB,CACrB,AAED,6BACE,kBAAoB,CACrB,AAED,qBACE,eAAoB,CACrB,AAED,eACE,gBAAiB,AACjB,cAAe,AACf,cAAgB,CACjB,AAED,kBACE,qBAAsB,AACtB,gBAAiB,AACjB,gBAAiB,AACjB,aAAc,AACd,iBAAkB,AAClB,gBAAkB,CACnB,AAED,yBACE,YAAa,AACb,qBAAsB,AACtB,YAAa,AACb,kBAAmB,AACnB,WAAa,CACd,AAED,8BACE,0CAA6C,AAC7C,0CAA6C,AAC7C,yBAA0B,AAC1B,4BAA6B,AAC7B,oBAAsB,CACvB,AAED,yDACE,kBAAoB,CACrB,AAED,oCACE,yDACE,kBAAoB,CACrB,CACF,AAED,oCACE,oEACE,eAAiB,CAClB,CACF,AAED,+EACE,eAAiB,CAClB,AAED,uCACE,iBAAmB,CACpB,AAED,qDACE,YAAc,CACf,AAED,YACE,WAAY,AACZ,YAAc,CACf,AAED,oCACE,YACE,+BAAiC,CAClC,CACF,AAED,cACE,kBAAoB,CACrB,AAED,wBACE,oBAAsB,CACvB,AAED,oCACE,wBACE,YAAa,AACb,gBAAiB,AACjB,iBAAmB,CACpB,CACF,AAED,UACE,WAAY,AACZ,iBAAkB,AAClB,kBAAoB,CACrB,AAED,oCACE,UACE,mBAAoB,AACpB,aAAe,CAChB,CACF,AAED,YACE,cAAe,AACf,oBAAsB,CACvB,AAED,aACE,YAAc,CACf,AAED,oCACE,aACE,aAAe,CAChB,CACF,AAED,eACE,cAAe,AACf,iBAAkB,AAClB,kBAAmB,AACnB,gBAAiB,AACjB,QAAU,CACX,AAED,oCACE,eACE,cAAe,AACf,iBAAkB,AAClB,eAAiB,CAClB,CACF,AAED,cAEE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AACjB,SAAU,AACV,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,yBAA0B,AAC1B,WAAe,AACf,eAAgB,AAChB,YAAa,AACb,iBAAkB,AAClB,YAAa,AACb,iBAAkB,AAClB,kBAAmB,AACnB,qBAAsB,AACtB,yBAA0B,AAC1B,YAAc,CAEf,AAED,oBACE,4BAA8B,CAC/B,AAED,oCACE,cACE,YAAc,CACf,CACF,AAED,oBACE,WAAe,AACf,wBAA0B,CAC3B,AAED,sBACE,UAAe,CAChB,AAED,aACE,eAAgB,AAChB,MAAO,AACP,QAAS,AACT,SAAU,AACV,OAAQ,AACR,gBAAoB,AACpB,UAAW,AACX,+BAAiC,AACjC,kBAAmB,AACnB,YAAc,CACf,AAED,wBACE,WAAa,AACb,kBAAoB,CACrB,AAED,oCACE,4BACE,cAAe,AACf,iBAAmB,CACpB,CACF,AAED,oCACE,8BACE,kBAAmB,AACnB,SAAW,CACZ,CACF,AAED,oCACE,iCACE,kBAAoB,CACrB,CACF,AAED,oCACE,+BACE,gBAAiB,AACjB,kBAAoB,CACrB,CACF,AAED,oCACE,wBACE,iBAAkB,AAClB,aAAe,CAChB,CACF,AAED,oCACE,iCACE,iBAAkB,AAClB,iBAAkB,AAClB,kBAAmB,AACnB,mBAAoB,AACpB,kBAAmB,AACnB,cAAe,AACf,YAAa,AACb,gBAAkB,CACnB,AACD,uCACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,CACF,AAED,oCACE,8BACE,6BAA8B,AAC9B,WAAY,AACZ,UAAW,AACX,UAAY,CACb,CACF,AAED,oCACE,oCACE,iBAAkB,AAClB,iBAAkB,AAClB,kBAAmB,AACnB,mBAAoB,AACpB,kBAAmB,AACnB,gBAAiB,AACjB,iBAAkB,AAClB,iBAAmB,CACpB,AACD,0CACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,CACF,AAED,oCACE,4CACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,CACF,AAMD,oCACE,mIAEE,wCAA0C,CAC3C,CACF,AAED,oCACE,mCACE,kBAAoB,CACrB,CACF,AAED,oCACE,qDACE,mBAAqB,CACtB,CACF,AAED,oCACE,mCACE,iBAAmB,CACpB,CACF,AAED,UACE,iBAAkB,AAClB,oBAAqB,AACrB,sCAAyC,AACzC,wBAA4B,AAC5B,qBAAuB,CACxB,AAED,sBACE,UAAe,CAChB,AAED,iCACE,aAAe,CAChB,AAED,kBACE,yBAA0B,AAC1B,YAAc,CACf,AAED,oCACE,kBACE,eAAiB,CAClB,CACF,AAED,+BACE,aAAc,AACd,kBAAoB,CACrB,AAED,8BACE,iBAAkB,AAClB,gBAAiB,AACjB,UAAY,CACb,AAED,sBACE,WAAe,AACf,aAAe,CAChB,AAED,iBACE,oBAAqB,AACrB,oBAAqB,AACrB,aAAc,AACd,4BAA6B,AAC7B,6BAA8B,AAC9B,0BAA2B,AAC3B,qBAAuB,CACxB,AAED,qCACE,iBACE,eAAiB,CAClB,CACF,AAED,0DACE,YAAc,CACf,AAED,yDACE,eAAiB,CAClB,AAED,yBACE,4BAA6B,AAC7B,iBAAkB,AAClB,OAAS,CACV,AAED,8BACE,mBAAoB,AACpB,4BAA6B,AAC7B,iBAAkB,AAClB,OAAS,CACV,AAED,qCACE,8BACE,eAAiB,CAClB,CACF,AAED,2CACE,YAAc,CACf,AAED,qBACE,WAAY,AACZ,iBAAmB,CACpB,AAED,sBACE,eAAiB,CAClB,AAED,YACE,gCAAiC,AACjC,WAAa,CACd,AAED,oCACE,YACE,mBAAoB,AACpB,qBAAsB,AACtB,cAAgB,CACjB,CACF,AAED,cACE,kCAAmC,AACnC,kCAAoC,CACrC,AAED,oCACE,yBACE,kCAAoC,AACpC,mBAAqB,CACtB,CACF,AAED,oCACE,mBACE,iBAAkB,AAClB,iBAAkB,AAClB,kBAAmB,AACnB,mBAAoB,AACpB,kBAAmB,AACnB,gBAAkB,CACnB,AACD,yBACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,CACF,AAED,SACE,eAAgB,AAChB,MAAO,AACP,QAAS,AACT,SAAU,AACV,UAAW,AACX,gBAAoB,AACpB,8BAA+B,AAC/B,eAAgB,AAChB,oBAAqB,AACrB,oBAAqB,AACrB,aAAc,AACd,4BAA6B,AAC7B,6BAA8B,AAC9B,0BAA2B,AAC3B,sBAAuB,AACvB,gBAAiB,AACjB,aAAc,AACd,oCAAqC,AAErC,4BAA6B,AAC7B,YAAa,AACb,YAAc,CACf,AAED,oCACE,SACE,iBAAkB,AAClB,gBAAiB,AACjB,iBAAkB,AAClB,iBAAkB,AAClB,cAAe,AACf,YAAa,AACb,mBAAoB,AACpB,kBAAmB,AACnB,gCAAiC,AAEjC,wBAAyB,AACzB,UAAY,CACb,CACF,AAED,oBACE,gCAAiC,AAEjC,wBAAyB,AACzB,8BAAiC,CAClC,AAED,aACE,gBAAiB,AACjB,eAAiB,CAClB,AAED,oCACE,aACE,YAAc,CACf,CACF,AAED,sBACE,8BAA+B,AAC/B,cAAe,AACf,gBAAiB,AACjB,mBAAqB,CACtB,AAED,qBACE,UAAY,CACb,AAED,oCACE,qBACE,kBAAoB,CACrB,CACF,AAED,iBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,eAAgB,AAChB,4BAA6B,AAC7B,iBAAkB,AAClB,OAAS,CACV,AAED,oBACE,eAAiB,CAClB,AAED,oBACE,6BAA8B,AAC9B,6BAA8B,AAC9B,gBAAkB,CACnB,AAED,gCACE,eAAiB,CAClB,AAED,mBACE,YAAa,AACb,cAAe,AACf,cAAe,AACf,6EAA6F,AAC7F,gBAAiB,AACjB,kCAAqC,AACrC,oBAAsB,CACvB,AAED,yBACE,yBAA0B,AAC1B,cAAe,AACf,oBAAsB,CACvB,AAED,yBACE,kBAAmB,AACnB,SAAW,CACZ,AAED,+BAEE,gCAAkC,AAClC,cAAe,AACf,gBAAiB,AACjB,mBAAqB,CACtB,AAED,oCACE,iBACE,cAAgB,CACjB,CACF,AAED,oCACE,oBACE,eAAiB,CAClB,CACF,AAED,oBACE,UAAY,CACb,AAED,oCACE,oBACE,oBAAsB,CACvB,CACF,AAED,oCACE,sBACE,6BAA8B,AAC9B,cAAe,AACf,iBAAkB,AAClB,gBAAiB,AACjB,eAAiB,CAClB,CACF,AAED,oCACE,4BACE,4BAA8B,CAC/B,CACF,AAED,wBACE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AAEjB,SAAU,AACV,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,kCAAmC,AACnC,mCAAoC,AACpC,gBAAiB,AACjB,iCAAmC,CACpC,AAED,8BACE,4BAA8B,CAC/B,AAED,oCACE,wBACE,mBAAoB,AACpB,sBAAuB,AACvB,oBAAqB,AACrB,cAAe,AACf,iBAAkB,AAClB,gBAAiB,AACjB,UAAe,CAChB,CACF,AAED,6DACE,0CAA6C,CAC9C,AAED,8BACE,yBAA0B,AAC1B,aAAe,CAChB,AAED,oCACE,8BACE,4BAA8B,CAC/B,CACF,AAED,6CAEE,0CAA6C,AAC7C,0CAA6C,AAC7C,4BAA6B,AAC7B,mCAAoC,AACpC,oBAAsB,CACvB,AAED,oCACE,6CACE,kDAAqD,AACrD,kDAAqD,AACrD,wCAA0C,CAC3C,CACF,AAED,4CAEE,2CAA8C,AAC9C,2CAA8C,AAC9C,4BAA6B,AAC7B,mCAAoC,AACpC,oBAAsB,CACvB,AAED,oCACE,4CACE,yBAA0B,AAC1B,WAAe,AACf,wDAA2D,AAC3D,wDAA2D,AAC3D,wCAA0C,CAC3C,AACD,kDACE,wBAA0B,CAC3B,AACD,iDACE,kCAAoC,AACpC,mBAAqB,CACtB,CACF,AAED,oCACE,+BACE,cAAe,AACf,mBAAqB,CACtB,AACD,oCACE,kCAAoC,AACpC,mBAAqB,CACtB,CACF,AAED,oCACE,mBACE,kBAAmB,AACnB,WAAY,AACZ,WAAa,CACd,CACF,AAED,+BACE,gBAAiB,AACjB,kBAAoB,CACrB,AAED,oCACE,+BACE,kBAAoB,AACpB,gBAAiB,AACjB,cAAe,AACf,UAAY,CACb,CACF,AAED,oCACE,yBACE,UAAY,CACb,CACF,AAED,oCACE,4BACE,eAAgB,AAChB,iBAAmB,CACpB,CACF,AAED,oCACE,mDACE,YAAa,AACb,iBAAmB,CACpB,CACF,AAED,8EAEE,cAAe,AACf,qBAAsB,AACtB,iBAAkB,AAClB,oBAAsB,CACvB,AAED,0FAEE,aAAe,CAChB,AAED,mDACE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AACjB,SAAU,AACV,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,YAAc,CACf,AAED,yDACE,4BAA8B,CAC/B,AAED,oCACE,mDACE,4CAA+C,AAC/C,4CAA+C,AAC/C,4BAA6B,AAC7B,sBAAiC,AACjC,uBAAwB,AACxB,qBAAsB,AACtB,mBAAqB,CACtB,CACF,AAED,oCACE,6DACE,YAAc,CACf,CACF,AAED,oCACE,uCACE,cAAe,AACf,cAAgB,CACjB,CACF,AAED,oCACE,iBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,eAAgB,AAChB,oBAAqB,AACrB,uBAAwB,AACxB,yBAA0B,AAC1B,kBAAmB,AACnB,WAAY,AACZ,iBAAmB,CACpB,AACD,oBACE,eAAiB,CAClB,CACF,AAED,mCACE,YAAc,CACf,AAED,oCACE,mBACE,WAAe,AACf,mBAAqB,CACtB,CACF,AAED,oCACE,yBACE,yBAA0B,AAC1B,WAAe,AACf,yBAA2B,CAC5B,CACF,AAED,oBACE,iBAAkB,AAClB,eAAiB,CAClB,AAED,eACE,6BAA8B,AAC9B,SAAU,AACV,gBAAiB,AACjB,gBAAiB,AACjB,SAAU,AACV,UAAW,AACX,UAAW,AACX,gBAAiB,AACjB,4BAA6B,AAC7B,mCAAoC,AACpC,YAAa,AACb,cAAe,AACf,kBAAmB,AACnB,YAAc,CACf,AAED,qBACE,4BAA8B,CAC/B,AAED,oCACE,eACE,YAAc,CACf,CACF,AAED,mBACE,YAAc,CACf,AAED,uBACE,eAAiB,CAClB,AAED,oCACE,cACE,oBAAqB,AACrB,uBAAwB,AACxB,WAAY,AACZ,UAAY,CACb,CACF,AAED,oCACE,qBACE,yBAA0B,AAC1B,WAAY,AACZ,cAAe,AACf,YAAa,AACb,kBAAmB,AACnB,MAAO,AACP,YAAa,AACb,UAAY,CACb,CACF,AAED,oCACE,oBACE,yBAA0B,AAC1B,WAAY,AACZ,cAAe,AACf,YAAa,AACb,kBAAmB,AACnB,MAAO,AACP,YAAa,AACb,SAAW,CACZ,CACF,AAED,oCACE,oCACE,eAAgB,AAChB,cAAe,AACf,UAAY,CACb,CACF,AAED,0CACE,oBAAqB,AACrB,oBAAqB,AACrB,aAAc,AACd,4BAA6B,AAC7B,6BAA8B,AAC9B,0BAA2B,AAC3B,qBAAuB,CACxB,AAED,oCACE,0CACE,cAAe,AACf,YAAa,AACb,kBAAoB,CACrB,CACF,AAED,oCACE,2DACE,mBAAqB,CACtB,CACF,AAED,oCACE,kBACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,6BACE,cAAgB,CACjB,AACD,gCACE,WAAY,AACZ,cAAe,AACf,sBAAuB,AACvB,eAAiB,CAClB,AACD,2CACE,cAAgB,CACjB,AACD,gCACE,cAAgB,CACjB,CACF,AAED,qBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,cAAgB,CACjB,AAED,wBACE,eAAiB,CAClB,AAED,YACE,eAAgB,AAChB,iBAAmB,CACpB,AAED,kBACE,WAAY,AACZ,WAAY,AACZ,aAAe,CAChB,AAED,wDAEE,cAAe,AACf,iBAAkB,AAClB,wBAAyB,AACzB,6BAA8B,AAC9B,kBAAmB,AACnB,0BAA2B,AAC3B,sBAAuB,AACvB,WAAY,AACZ,iBAAkB,AAClB,cAAe,AACf,SAAU,AACV,yBAA2B,CAC5B,AAED,oCACE,wDAEE,yBAA2B,CAC5B,CACF,AAED,yDAEE,wCAA2C,AAC3C,wCAA2C,AAC3C,wBAAyB,AACzB,4BAA6B,AAC7B,4BAA6B,AAC7B,yBAA0B,AAC1B,cAAe,AACf,SAAU,AACV,UAAW,AACX,YAAc,CACf,AAED,oCACE,yDAEE,sBAAuB,AACvB,YAAc,CACf,CACF,AAED,oCACE,YAAc,CACf,AAED,oCACE,oCACE,aAAe,CAChB,CACF,AAED,oCACE,sFAEE,iBAAkB,AAClB,cAAe,AACf,0BAA4B,CAC7B,AACD,uFAEE,eAAgB,AAChB,cAAe,AACf,aAAe,CAChB,CACF,AAED,oCACE,0FAEE,yBAA2B,CAC5B,AACD,2FAEE,wCAA2C,AAC3C,wCAA2C,AAC3C,wBAAyB,AACzB,4BAA6B,AAC7B,YAAc,CACf,CACF,AAED,oCACE,yCACE,UAAW,AACX,iBAAmB,CACpB,CACF,AAED,aACE,iBAAkB,AAClB,mBAAqB,CACtB,AAED,oCACE,aACE,iBAAkB,AAClB,mBAAqB,CACtB,CACF,AAED,mBACE,wBAA0B,CAC3B,AAED,kBACE,yBAA0B,AAC1B,UAAe,CAChB,AAED,8HAME,aAAe,CAChB,AAED,oBACE,UAAe,CAChB,AAED,oBACE,aAAe,CAChB,AAED,0BACE,UAAe,CAChB,AAED,kBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,cAAgB,CACjB,AAED,qBACE,eAAiB,CAClB,AAED,qBACE,6BAA8B,AAC9B,6BAA8B,AAC9B,gBAAkB,CACnB,AAED,iCACE,eAAiB,CAClB,AAED,oBACE,YAAa,AACb,cAAe,AACf,cAAe,AACf,6EAA6F,AAC7F,gBAAiB,AACjB,kCAAqC,AACrC,oBAAsB,CACvB,AAED,0BACE,yBAA0B,AAC1B,cAAe,AACf,oBAAsB,CACvB,AAED,0BACE,kBAAmB,AACnB,SAAW,CACZ,AAED,gCAEE,gCAAkC,AAClC,cAAe,AACf,gBAAiB,AACjB,mBAAqB,CACtB,AAED,sBACE,aAAc,AACd,gBAAiB,AACjB,qBAAsB,AACtB,eAAgB,AAChB,SAAU,AACV,UAAY,CACb,AAED,yBACE,eAAiB,CAClB,AAED,yBACE,YAAa,AACb,gBAAkB,CACnB,AAED,wBACE,oBAAqB,AACrB,eAAiB,CAClB,AAED,kEAEE,YAAa,AACb,mBAAqB,CACtB,AAED,8CACE,mBAAqB,CACtB,AAED,oDACE,mBAAqB,CACtB,AAED,aACE,uBAAwB,AACxB,cAAe,AACf,OAAQ,AACR,oBAAqB,AACrB,kBAAmB,AACnB,YAAa,AACb,+BAAiC,AACjC,WAAa,CACd,AAED,mBACE,gBAAoB,AACpB,OAAQ,AACR,UAAW,AACX,kBAAmB,AACnB,MAAO,AACP,8BAAiC,CAClC","file":"uswds.min.css","sourcesContent":["/*! uswds v1.3.1 */\nhtml {\n box-sizing: border-box;\n}\n\n*, *::after, *::before {\n box-sizing: inherit;\n}\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n * without disabling user zoom.\n */\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n box-sizing: content-box;\n /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n\n/* stylelint-disable at-rule-empty-line-before */\n@font-face {\n font-family: \"Source Sans Pro\";\n font-style: normal;\n font-weight: 300;\n src: url(\"../fonts/sourcesanspro-light-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/sourcesanspro-light-webfont.woff2\") format(\"woff2\"), url(\"../fonts/sourcesanspro-light-webfont.woff\") format(\"woff\"), url(\"../fonts/sourcesanspro-light-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Source Sans Pro\";\n font-style: normal;\n font-weight: 400;\n src: url(\"../fonts/sourcesanspro-regular-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/sourcesanspro-regular-webfont.woff2\") format(\"woff2\"), url(\"../fonts/sourcesanspro-regular-webfont.woff\") format(\"woff\"), url(\"../fonts/sourcesanspro-regular-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Source Sans Pro\";\n font-style: italic;\n font-weight: 400;\n src: url(\"../fonts/sourcesanspro-italic-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/sourcesanspro-italic-webfont.woff2\") format(\"woff2\"), url(\"../fonts/sourcesanspro-italic-webfont.woff\") format(\"woff\"), url(\"../fonts/sourcesanspro-italic-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Source Sans Pro\";\n font-style: normal;\n font-weight: 700;\n src: url(\"../fonts/sourcesanspro-bold-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/sourcesanspro-bold-webfont.woff2\") format(\"woff2\"), url(\"../fonts/sourcesanspro-bold-webfont.woff\") format(\"woff\"), url(\"../fonts/sourcesanspro-bold-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Merriweather\";\n font-style: normal;\n font-weight: 300;\n src: url(\"../fonts/merriweather-light-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/merriweather-light-webfont.woff2\") format(\"woff2\"), url(\"../fonts/merriweather-light-webfont.woff\") format(\"woff\"), url(\"../fonts/merriweather-light-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Merriweather\";\n font-style: normal;\n font-weight: 400;\n src: url(\"../fonts/merriweather-regular-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/merriweather-regular-webfont.woff2\") format(\"woff2\"), url(\"../fonts/merriweather-regular-webfont.woff\") format(\"woff\"), url(\"../fonts/merriweather-regular-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Merriweather\";\n font-style: italic;\n font-weight: 400;\n src: url(\"../fonts/merriweather-italic-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/merriweather-italic-webfont.woff2\") format(\"woff2\"), url(\"../fonts/merriweather-italic-webfont.woff\") format(\"woff\"), url(\"../fonts/merriweather-italic-webfont.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-family: \"Merriweather\";\n font-style: normal;\n font-weight: 700;\n src: url(\"../fonts/merriweather-bold-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/merriweather-bold-webfont.woff2\") format(\"woff2\"), url(\"../fonts/merriweather-bold-webfont.woff\") format(\"woff\"), url(\"../fonts/merriweather-bold-webfont.ttf\") format(\"truetype\");\n}\n\n/* stylelint-enable */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\nbody {\n background-color: #ffffff;\n overflow-x: hidden;\n}\n\n.lt-ie9 * {\n -webkit-filter: none !important;\n filter: none !important;\n /* stylelint-disable-line declaration-no-important */\n}\n\n[hidden] {\n display: none !important;\n /* stylelint-disable-line declaration-no-important */\n}\n\n.usa-grid,\n.usa-grid-full {\n max-width: 1200px;\n margin-left: auto;\n margin-right: auto;\n max-width: 1040px;\n}\n\n.usa-grid::after,\n.usa-grid-full::after {\n clear: both;\n content: \"\";\n display: block;\n}\n\n.usa-grid {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-grid {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n}\n\n.usa-grid-full {\n padding: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-width-one-whole {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 100%;\n }\n .usa-width-one-whole:last-child {\n margin-right: 0;\n }\n .usa-width-one-half {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 47.58542%;\n }\n .usa-width-one-half:last-child {\n margin-right: 0;\n }\n .usa-width-one-third {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 30.11389%;\n }\n .usa-width-one-third:last-child {\n margin-right: 0;\n }\n .usa-width-two-thirds {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 65.05695%;\n }\n .usa-width-two-thirds:last-child {\n margin-right: 0;\n }\n .usa-width-one-fourth {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 47.58542%;\n }\n .usa-width-one-fourth:last-child {\n margin-right: 0;\n }\n .usa-width-one-fourth:nth-child(2n) {\n margin-right: 0;\n }\n .usa-width-three-fourths {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 100%;\n }\n .usa-width-three-fourths:last-child {\n margin-right: 0;\n }\n .usa-width-one-sixth {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 30.11389%;\n }\n .usa-width-one-sixth:last-child {\n margin-right: 0;\n }\n .usa-width-one-sixth:nth-child(3n) {\n margin-right: 0;\n }\n .usa-width-five-sixths {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 65.05695%;\n }\n .usa-width-five-sixths:last-child {\n margin-right: 0;\n }\n .usa-width-one-twelfth {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 30.11389%;\n }\n .usa-width-one-twelfth:last-child {\n margin-right: 0;\n }\n .usa-width-one-twelfth:nth-child(3n) {\n margin-right: 0;\n }\n .usa-width-five-twelfths {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 30.11389%;\n }\n .usa-width-five-twelfths:last-child {\n margin-right: 0;\n }\n .usa-width-seven-twelfths {\n float: left;\n display: block;\n margin-right: 4.82916%;\n width: 65.05695%;\n }\n .usa-width-seven-twelfths:last-child {\n margin-right: 0;\n }\n}\n\n@media screen and (min-width: 1201px) {\n .usa-width-one-whole {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 100%;\n }\n .usa-width-one-whole:last-child {\n margin-right: 0;\n }\n .usa-width-one-half {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 48.82117%;\n }\n .usa-width-one-half:last-child {\n margin-right: 0;\n }\n .usa-width-one-third {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 31.76157%;\n }\n .usa-width-one-third:last-child {\n margin-right: 0;\n }\n .usa-width-two-thirds {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 65.88078%;\n }\n .usa-width-two-thirds:last-child {\n margin-right: 0;\n }\n .usa-width-one-fourth {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 23.23176%;\n }\n .usa-width-one-fourth:last-child {\n margin-right: 0;\n }\n .usa-width-one-fourth:nth-child(2n) {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 23.23176%;\n }\n .usa-width-one-fourth:nth-child(2n):last-child {\n margin-right: 0;\n }\n .usa-width-one-fourth:nth-child(4n) {\n margin-right: 0;\n }\n .usa-width-three-fourths {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 74.41059%;\n }\n .usa-width-three-fourths:last-child {\n margin-right: 0;\n }\n .usa-width-one-sixth {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 14.70196%;\n }\n .usa-width-one-sixth:last-child {\n margin-right: 0;\n }\n .usa-width-one-sixth:nth-child(3n) {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 14.70196%;\n }\n .usa-width-one-sixth:nth-child(3n):last-child {\n margin-right: 0;\n }\n .usa-width-one-sixth:nth-child(6n) {\n margin-right: 0;\n }\n .usa-width-five-sixths {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 82.94039%;\n }\n .usa-width-five-sixths:last-child {\n margin-right: 0;\n }\n .usa-width-one-twelfth {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 6.17215%;\n }\n .usa-width-one-twelfth:last-child {\n margin-right: 0;\n }\n .usa-width-one-twelfth:nth-child(3n) {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 6.17215%;\n }\n .usa-width-one-twelfth:nth-child(3n):last-child {\n margin-right: 0;\n }\n .usa-width-one-twelfth:nth-child(12n) {\n margin-right: 0;\n }\n .usa-width-five-twelfths {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 40.29137%;\n }\n .usa-width-five-twelfths:last-child {\n margin-right: 0;\n }\n .usa-width-seven-twelfths {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 57.35098%;\n }\n .usa-width-seven-twelfths:last-child {\n margin-right: 0;\n }\n}\n\n.usa-end-row {\n margin-right: 0;\n}\n\n.usa-offset-one-twelfth {\n margin-left: 8.5298%;\n}\n\n.usa-offset-one-sixth {\n margin-left: 17.05961%;\n}\n\n.usa-offset-one-fourth {\n margin-left: 25.58941%;\n}\n\n.usa-offset-one-third {\n margin-left: 34.11922%;\n}\n\n.usa-offset-five-twelfths {\n margin-left: 42.64902%;\n}\n\n.usa-offset-one-half {\n margin-left: 51.17883%;\n}\n\n.usa-offset-seven-twelfths {\n margin-left: 59.70863%;\n}\n\n.usa-offset-two-thirds {\n margin-left: 68.23843%;\n}\n\n.usa-offset-three-fourths {\n margin-left: 76.76824%;\n}\n\n.usa-offset-five-sixths {\n margin-left: 85.29804%;\n}\n\n.usa-offset-eleven-twelfths {\n margin-left: 93.82785%;\n}\n\n.usa-sr-only {\n position: absolute;\n left: -999em;\n}\n\n/* stylelint-disable selector-no-qualifying-type */\n.usa-button,\n.usa-button-primary,\n.usa-button:visited,\n.usa-button-primary:visited,\nbutton,\n[type=button],\n[type=submit],\n[type=reset],\n[type=image] {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n margin-top: 0.5em;\n margin-right: 0.5em;\n margin-bottom: 0.5em;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: #0071bc;\n border: 0;\n border-radius: 3px;\n color: #ffffff;\n cursor: pointer;\n display: inline-block;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-size: 1.7rem;\n font-weight: 700;\n line-height: 1;\n outline: none;\n padding: 1rem 2rem;\n text-align: center;\n text-decoration: none;\n width: 100%;\n}\n\n@media screen and (min-width: 481px) {\n .usa-button,\n .usa-button-primary,\n .usa-button:visited,\n .usa-button-primary:visited,\n button,\n [type=button],\n [type=submit],\n [type=reset],\n [type=image] {\n width: auto;\n }\n}\n\n.usa-button:hover, .usa-button.usa-button-hover,\n.usa-button-primary:hover,\n.usa-button-primary.usa-button-hover,\n.usa-button:visited:hover,\n.usa-button:visited.usa-button-hover,\n.usa-button-primary:visited:hover,\n.usa-button-primary:visited.usa-button-hover,\nbutton:hover,\nbutton.usa-button-hover,\n[type=button]:hover,\n[type=button].usa-button-hover,\n[type=submit]:hover,\n[type=submit].usa-button-hover,\n[type=reset]:hover,\n[type=reset].usa-button-hover,\n[type=image]:hover,\n[type=image].usa-button-hover {\n background-color: #205493;\n border-bottom: 0;\n color: #ffffff;\n text-decoration: none;\n}\n\n.usa-button:focus, .usa-button.usa-button-focus,\n.usa-button-primary:focus,\n.usa-button-primary.usa-button-focus,\n.usa-button:visited:focus,\n.usa-button:visited.usa-button-focus,\n.usa-button-primary:visited:focus,\n.usa-button-primary:visited.usa-button-focus,\nbutton:focus,\nbutton.usa-button-focus,\n[type=button]:focus,\n[type=button].usa-button-focus,\n[type=submit]:focus,\n[type=submit].usa-button-focus,\n[type=reset]:focus,\n[type=reset].usa-button-focus,\n[type=image]:focus,\n[type=image].usa-button-focus {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-button:active, .usa-button.usa-button-active,\n.usa-button-primary:active,\n.usa-button-primary.usa-button-active,\n.usa-button:visited:active,\n.usa-button:visited.usa-button-active,\n.usa-button-primary:visited:active,\n.usa-button-primary:visited.usa-button-active,\nbutton:active,\nbutton.usa-button-active,\n[type=button]:active,\n[type=button].usa-button-active,\n[type=submit]:active,\n[type=submit].usa-button-active,\n[type=reset]:active,\n[type=reset].usa-button-active,\n[type=image]:active,\n[type=image].usa-button-active {\n background-color: #112e51;\n}\n\n.usa-button.usa-button-primary-alt,\n.usa-button-primary.usa-button-primary-alt,\n.usa-button:visited.usa-button-primary-alt,\n.usa-button-primary:visited.usa-button-primary-alt,\nbutton.usa-button-primary-alt,\n[type=button].usa-button-primary-alt,\n[type=submit].usa-button-primary-alt,\n[type=reset].usa-button-primary-alt,\n[type=image].usa-button-primary-alt {\n background-color: #02bfe7;\n color: #212121;\n}\n\n.usa-button.usa-button-primary-alt:hover, .usa-button.usa-button-primary-alt.usa-button-hover,\n.usa-button-primary.usa-button-primary-alt:hover,\n.usa-button-primary.usa-button-primary-alt.usa-button-hover,\n.usa-button:visited.usa-button-primary-alt:hover,\n.usa-button:visited.usa-button-primary-alt.usa-button-hover,\n.usa-button-primary:visited.usa-button-primary-alt:hover,\n.usa-button-primary:visited.usa-button-primary-alt.usa-button-hover,\nbutton.usa-button-primary-alt:hover,\nbutton.usa-button-primary-alt.usa-button-hover,\n[type=button].usa-button-primary-alt:hover,\n[type=button].usa-button-primary-alt.usa-button-hover,\n[type=submit].usa-button-primary-alt:hover,\n[type=submit].usa-button-primary-alt.usa-button-hover,\n[type=reset].usa-button-primary-alt:hover,\n[type=reset].usa-button-primary-alt.usa-button-hover,\n[type=image].usa-button-primary-alt:hover,\n[type=image].usa-button-primary-alt.usa-button-hover {\n background-color: #00a6d2;\n}\n\n.usa-button.usa-button-primary-alt:active, .usa-button.usa-button-primary-alt.usa-button-active,\n.usa-button-primary.usa-button-primary-alt:active,\n.usa-button-primary.usa-button-primary-alt.usa-button-active,\n.usa-button:visited.usa-button-primary-alt:active,\n.usa-button:visited.usa-button-primary-alt.usa-button-active,\n.usa-button-primary:visited.usa-button-primary-alt:active,\n.usa-button-primary:visited.usa-button-primary-alt.usa-button-active,\nbutton.usa-button-primary-alt:active,\nbutton.usa-button-primary-alt.usa-button-active,\n[type=button].usa-button-primary-alt:active,\n[type=button].usa-button-primary-alt.usa-button-active,\n[type=submit].usa-button-primary-alt:active,\n[type=submit].usa-button-primary-alt.usa-button-active,\n[type=reset].usa-button-primary-alt:active,\n[type=reset].usa-button-primary-alt.usa-button-active,\n[type=image].usa-button-primary-alt:active,\n[type=image].usa-button-primary-alt.usa-button-active {\n background-color: #046b99;\n color: #ffffff;\n}\n\n.usa-button.usa-button-secondary,\n.usa-button-primary.usa-button-secondary,\n.usa-button:visited.usa-button-secondary,\n.usa-button-primary:visited.usa-button-secondary,\nbutton.usa-button-secondary,\n[type=button].usa-button-secondary,\n[type=submit].usa-button-secondary,\n[type=reset].usa-button-secondary,\n[type=image].usa-button-secondary {\n background-color: #e31c3d;\n}\n\n.usa-button.usa-button-secondary:hover, .usa-button.usa-button-secondary.usa-button-hover,\n.usa-button-primary.usa-button-secondary:hover,\n.usa-button-primary.usa-button-secondary.usa-button-hover,\n.usa-button:visited.usa-button-secondary:hover,\n.usa-button:visited.usa-button-secondary.usa-button-hover,\n.usa-button-primary:visited.usa-button-secondary:hover,\n.usa-button-primary:visited.usa-button-secondary.usa-button-hover,\nbutton.usa-button-secondary:hover,\nbutton.usa-button-secondary.usa-button-hover,\n[type=button].usa-button-secondary:hover,\n[type=button].usa-button-secondary.usa-button-hover,\n[type=submit].usa-button-secondary:hover,\n[type=submit].usa-button-secondary.usa-button-hover,\n[type=reset].usa-button-secondary:hover,\n[type=reset].usa-button-secondary.usa-button-hover,\n[type=image].usa-button-secondary:hover,\n[type=image].usa-button-secondary.usa-button-hover {\n background-color: #cd2026;\n}\n\n.usa-button.usa-button-secondary:active, .usa-button.usa-button-secondary.usa-button-active,\n.usa-button-primary.usa-button-secondary:active,\n.usa-button-primary.usa-button-secondary.usa-button-active,\n.usa-button:visited.usa-button-secondary:active,\n.usa-button:visited.usa-button-secondary.usa-button-active,\n.usa-button-primary:visited.usa-button-secondary:active,\n.usa-button-primary:visited.usa-button-secondary.usa-button-active,\nbutton.usa-button-secondary:active,\nbutton.usa-button-secondary.usa-button-active,\n[type=button].usa-button-secondary:active,\n[type=button].usa-button-secondary.usa-button-active,\n[type=submit].usa-button-secondary:active,\n[type=submit].usa-button-secondary.usa-button-active,\n[type=reset].usa-button-secondary:active,\n[type=reset].usa-button-secondary.usa-button-active,\n[type=image].usa-button-secondary:active,\n[type=image].usa-button-secondary.usa-button-active {\n background-color: #981b1e;\n}\n\n.usa-button.usa-button-gray,\n.usa-button-primary.usa-button-gray,\n.usa-button:visited.usa-button-gray,\n.usa-button-primary:visited.usa-button-gray,\nbutton.usa-button-gray,\n[type=button].usa-button-gray,\n[type=submit].usa-button-gray,\n[type=reset].usa-button-gray,\n[type=image].usa-button-gray {\n background-color: #5b616b;\n}\n\n.usa-button.usa-button-gray:hover, .usa-button.usa-button-gray.usa-button-hover,\n.usa-button-primary.usa-button-gray:hover,\n.usa-button-primary.usa-button-gray.usa-button-hover,\n.usa-button:visited.usa-button-gray:hover,\n.usa-button:visited.usa-button-gray.usa-button-hover,\n.usa-button-primary:visited.usa-button-gray:hover,\n.usa-button-primary:visited.usa-button-gray.usa-button-hover,\nbutton.usa-button-gray:hover,\nbutton.usa-button-gray.usa-button-hover,\n[type=button].usa-button-gray:hover,\n[type=button].usa-button-gray.usa-button-hover,\n[type=submit].usa-button-gray:hover,\n[type=submit].usa-button-gray.usa-button-hover,\n[type=reset].usa-button-gray:hover,\n[type=reset].usa-button-gray.usa-button-hover,\n[type=image].usa-button-gray:hover,\n[type=image].usa-button-gray.usa-button-hover {\n background-color: #323a45;\n}\n\n.usa-button.usa-button-gray:active, .usa-button.usa-button-gray.usa-button-active,\n.usa-button-primary.usa-button-gray:active,\n.usa-button-primary.usa-button-gray.usa-button-active,\n.usa-button:visited.usa-button-gray:active,\n.usa-button:visited.usa-button-gray.usa-button-active,\n.usa-button-primary:visited.usa-button-gray:active,\n.usa-button-primary:visited.usa-button-gray.usa-button-active,\nbutton.usa-button-gray:active,\nbutton.usa-button-gray.usa-button-active,\n[type=button].usa-button-gray:active,\n[type=button].usa-button-gray.usa-button-active,\n[type=submit].usa-button-gray:active,\n[type=submit].usa-button-gray.usa-button-active,\n[type=reset].usa-button-gray:active,\n[type=reset].usa-button-gray.usa-button-active,\n[type=image].usa-button-gray:active,\n[type=image].usa-button-gray.usa-button-active {\n background-color: #212121;\n}\n\n.usa-button.usa-button-outline,\n.usa-button-primary.usa-button-outline,\n.usa-button:visited.usa-button-outline,\n.usa-button-primary:visited.usa-button-outline,\nbutton.usa-button-outline,\n[type=button].usa-button-outline,\n[type=submit].usa-button-outline,\n[type=reset].usa-button-outline,\n[type=image].usa-button-outline {\n background-color: #ffffff;\n box-shadow: inset 0 0 0 2px #0071bc;\n color: #0071bc;\n}\n\n.usa-button.usa-button-outline:hover, .usa-button.usa-button-outline.usa-button-hover,\n.usa-button-primary.usa-button-outline:hover,\n.usa-button-primary.usa-button-outline.usa-button-hover,\n.usa-button:visited.usa-button-outline:hover,\n.usa-button:visited.usa-button-outline.usa-button-hover,\n.usa-button-primary:visited.usa-button-outline:hover,\n.usa-button-primary:visited.usa-button-outline.usa-button-hover,\nbutton.usa-button-outline:hover,\nbutton.usa-button-outline.usa-button-hover,\n[type=button].usa-button-outline:hover,\n[type=button].usa-button-outline.usa-button-hover,\n[type=submit].usa-button-outline:hover,\n[type=submit].usa-button-outline.usa-button-hover,\n[type=reset].usa-button-outline:hover,\n[type=reset].usa-button-outline.usa-button-hover,\n[type=image].usa-button-outline:hover,\n[type=image].usa-button-outline.usa-button-hover {\n box-shadow: inset 0 0 0 2px #205493;\n color: #205493;\n}\n\n.usa-button.usa-button-outline:active, .usa-button.usa-button-outline.usa-button-active,\n.usa-button-primary.usa-button-outline:active,\n.usa-button-primary.usa-button-outline.usa-button-active,\n.usa-button:visited.usa-button-outline:active,\n.usa-button:visited.usa-button-outline.usa-button-active,\n.usa-button-primary:visited.usa-button-outline:active,\n.usa-button-primary:visited.usa-button-outline.usa-button-active,\nbutton.usa-button-outline:active,\nbutton.usa-button-outline.usa-button-active,\n[type=button].usa-button-outline:active,\n[type=button].usa-button-outline.usa-button-active,\n[type=submit].usa-button-outline:active,\n[type=submit].usa-button-outline.usa-button-active,\n[type=reset].usa-button-outline:active,\n[type=reset].usa-button-outline.usa-button-active,\n[type=image].usa-button-outline:active,\n[type=image].usa-button-outline.usa-button-active {\n box-shadow: inset 0 0 0 2px #112e51;\n color: #112e51;\n}\n\n.usa-button.usa-button-outline:focus, .usa-button.usa-button-outline.usa-button-focus,\n.usa-button-primary.usa-button-outline:focus,\n.usa-button-primary.usa-button-outline.usa-button-focus,\n.usa-button:visited.usa-button-outline:focus,\n.usa-button:visited.usa-button-outline.usa-button-focus,\n.usa-button-primary:visited.usa-button-outline:focus,\n.usa-button-primary:visited.usa-button-outline.usa-button-focus,\nbutton.usa-button-outline:focus,\nbutton.usa-button-outline.usa-button-focus,\n[type=button].usa-button-outline:focus,\n[type=button].usa-button-outline.usa-button-focus,\n[type=submit].usa-button-outline:focus,\n[type=submit].usa-button-outline.usa-button-focus,\n[type=reset].usa-button-outline:focus,\n[type=reset].usa-button-outline.usa-button-focus,\n[type=image].usa-button-outline:focus,\n[type=image].usa-button-outline.usa-button-focus {\n box-shadow: inset 0 0 0 2px #112e51, 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-button.usa-button-outline-inverse,\n.usa-button-primary.usa-button-outline-inverse,\n.usa-button:visited.usa-button-outline-inverse,\n.usa-button-primary:visited.usa-button-outline-inverse,\nbutton.usa-button-outline-inverse,\n[type=button].usa-button-outline-inverse,\n[type=submit].usa-button-outline-inverse,\n[type=reset].usa-button-outline-inverse,\n[type=image].usa-button-outline-inverse {\n background: transparent;\n box-shadow: inset 0 0 0 2px #ffffff;\n color: #ffffff;\n}\n\n.usa-button.usa-button-outline-inverse:hover, .usa-button.usa-button-outline-inverse.usa-button-hover,\n.usa-button-primary.usa-button-outline-inverse:hover,\n.usa-button-primary.usa-button-outline-inverse.usa-button-hover,\n.usa-button:visited.usa-button-outline-inverse:hover,\n.usa-button:visited.usa-button-outline-inverse.usa-button-hover,\n.usa-button-primary:visited.usa-button-outline-inverse:hover,\n.usa-button-primary:visited.usa-button-outline-inverse.usa-button-hover,\nbutton.usa-button-outline-inverse:hover,\nbutton.usa-button-outline-inverse.usa-button-hover,\n[type=button].usa-button-outline-inverse:hover,\n[type=button].usa-button-outline-inverse.usa-button-hover,\n[type=submit].usa-button-outline-inverse:hover,\n[type=submit].usa-button-outline-inverse.usa-button-hover,\n[type=reset].usa-button-outline-inverse:hover,\n[type=reset].usa-button-outline-inverse.usa-button-hover,\n[type=image].usa-button-outline-inverse:hover,\n[type=image].usa-button-outline-inverse.usa-button-hover {\n box-shadow: inset 0 0 0 2px #d6d7d9;\n color: #d6d7d9;\n}\n\n.usa-button.usa-button-outline-inverse:active, .usa-button.usa-button-outline-inverse.usa-button-active,\n.usa-button-primary.usa-button-outline-inverse:active,\n.usa-button-primary.usa-button-outline-inverse.usa-button-active,\n.usa-button:visited.usa-button-outline-inverse:active,\n.usa-button:visited.usa-button-outline-inverse.usa-button-active,\n.usa-button-primary:visited.usa-button-outline-inverse:active,\n.usa-button-primary:visited.usa-button-outline-inverse.usa-button-active,\nbutton.usa-button-outline-inverse:active,\nbutton.usa-button-outline-inverse.usa-button-active,\n[type=button].usa-button-outline-inverse:active,\n[type=button].usa-button-outline-inverse.usa-button-active,\n[type=submit].usa-button-outline-inverse:active,\n[type=submit].usa-button-outline-inverse.usa-button-active,\n[type=reset].usa-button-outline-inverse:active,\n[type=reset].usa-button-outline-inverse.usa-button-active,\n[type=image].usa-button-outline-inverse:active,\n[type=image].usa-button-outline-inverse.usa-button-active {\n box-shadow: inset 0 0 0 2px #aeb0b5;\n color: #d6d7d9;\n}\n\n.usa-button.usa-button-outline-inverse:focus, .usa-button.usa-button-outline-inverse.usa-button-focus,\n.usa-button-primary.usa-button-outline-inverse:focus,\n.usa-button-primary.usa-button-outline-inverse.usa-button-focus,\n.usa-button:visited.usa-button-outline-inverse:focus,\n.usa-button:visited.usa-button-outline-inverse.usa-button-focus,\n.usa-button-primary:visited.usa-button-outline-inverse:focus,\n.usa-button-primary:visited.usa-button-outline-inverse.usa-button-focus,\nbutton.usa-button-outline-inverse:focus,\nbutton.usa-button-outline-inverse.usa-button-focus,\n[type=button].usa-button-outline-inverse:focus,\n[type=button].usa-button-outline-inverse.usa-button-focus,\n[type=submit].usa-button-outline-inverse:focus,\n[type=submit].usa-button-outline-inverse.usa-button-focus,\n[type=reset].usa-button-outline-inverse:focus,\n[type=reset].usa-button-outline-inverse.usa-button-focus,\n[type=image].usa-button-outline-inverse:focus,\n[type=image].usa-button-outline-inverse.usa-button-focus {\n box-shadow: inset 0 0 0 2px #aeb0b5, 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-button.usa-button-big,\n.usa-button-primary.usa-button-big,\n.usa-button:visited.usa-button-big,\n.usa-button-primary:visited.usa-button-big,\nbutton.usa-button-big,\n[type=button].usa-button-big,\n[type=submit].usa-button-big,\n[type=reset].usa-button-big,\n[type=image].usa-button-big {\n font-size: 1.9rem;\n padding: 1.5rem 3rem;\n}\n\n/* stylelint-disable */\n.usa-button:disabled,\n.usa-button-disabled {\n background-color: #d6d7d9;\n color: #323a45;\n pointer-events: none;\n}\n\n.usa-button:disabled:hover, .usa-button:disabled.usa-button-hover, .usa-button:disabled:active, .usa-button:disabled.usa-button-active, .usa-button:disabled:focus,\n.usa-button-disabled:hover,\n.usa-button-disabled.usa-button-hover,\n.usa-button-disabled:active,\n.usa-button-disabled.usa-button-active,\n.usa-button-disabled:focus {\n background-color: #d6d7d9;\n border: 0;\n box-shadow: none;\n color: #323a45;\n}\n\n.usa-button-unstyled {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n}\n\n.usa-button-unstyled:hover {\n background-color: transparent;\n}\n\n.usa-embed-container iframe,\n.usa-embed-container object,\n.usa-embed-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.usa-embed-container {\n padding-bottom: 56.25%;\n position: relative;\n height: 0;\n overflow: hidden;\n max-width: 100%;\n}\n\nimg {\n max-width: 100%;\n}\n\n.media_link {\n display: inline-block;\n line-height: 0;\n}\n\n/* stylelint-disable selector-no-qualifying-type */\ninput,\ntextarea,\nselect {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: 0.1rem solid #5b616b;\n border-radius: 0;\n box-sizing: border-box;\n color: #212121;\n display: block;\n font-size: 1.7rem;\n height: 4.4rem;\n line-height: 1.3;\n margin: 0.2em 0;\n max-width: 46rem;\n outline: none;\n padding: 1rem 0.7em;\n width: 100%;\n}\n\ninput:focus, input.usa-input-focus,\ntextarea:focus,\ntextarea.usa-input-focus,\nselect:focus,\nselect.usa-input-focus {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\ninput.usa-input-success,\ntextarea.usa-input-success,\nselect.usa-input-success {\n border: 3px solid #4aa564;\n}\n\n/* stylelint-enable */\n.usa-input-error {\n border-left: 4px solid #cd2026;\n margin-top: 3rem;\n padding-bottom: 0.8rem;\n padding-left: 1.5rem;\n padding-top: 0.8rem;\n position: relative;\n right: 1.9rem;\n}\n\n.usa-input-error input,\n.usa-input-error textarea,\n.usa-input-error select {\n border: 3px solid #cd2026;\n width: calc(100% + 1.9rem);\n}\n\n.usa-input-error label {\n margin-top: 0;\n}\n\n.usa-input-error .usa-input-inline {\n border: 0.1rem solid #5b616b;\n width: inherit;\n}\n\n.usa-input-error .usa-input-inline-error {\n border: 3px solid #cd2026;\n}\n\n.usa-input-error-label {\n display: block;\n font-size: 1.7rem;\n font-weight: 700;\n}\n\n.usa-input-error-message {\n color: #cd2026;\n display: block;\n font-size: 1.7rem;\n font-weight: 700;\n padding-bottom: 3px;\n padding-top: 3px;\n}\n\n.usa-input-required:after {\n color: #981b1e;\n content: ' (*Required)';\n}\n\nlabel {\n display: block;\n margin-top: 3rem;\n max-width: 46rem;\n}\n\ntextarea {\n height: 16rem;\n}\n\nselect {\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background-color: #ffffff;\n background-image: url(\"../img/arrow-down.png\");\n background-image: url(\"../img/arrow-down.svg\");\n background-position: right 1.3rem center;\n background-repeat: no-repeat;\n background-size: 1.3rem;\n}\n\nlegend {\n font-size: 3rem;\n font-weight: 700;\n}\n\n.usa-fieldset-inputs label {\n margin-top: 0;\n}\n\n.usa-form-hint {\n color: #757575;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n margin-bottom: 0;\n}\n\n[type=checkbox],\n[type=radio] {\n position: absolute;\n left: -999em;\n}\n\n.lt-ie9 [type=checkbox], .lt-ie9\n[type=radio] {\n border: 0;\n float: left;\n margin: 0.4em 0.4em 0 0;\n position: static;\n width: auto;\n}\n\n[type=checkbox] + label,\n[type=radio] + label {\n cursor: pointer;\n font-weight: 400;\n margin-bottom: 0.5em;\n}\n\n[type=checkbox] + label::before,\n[type=radio] + label::before {\n background: #ffffff;\n border-radius: 3px;\n box-shadow: 0 0 0 1px #757575;\n content: '\\a0';\n display: inline-block;\n height: 1.8rem;\n line-height: 1.8rem;\n margin-right: 0.6em;\n text-indent: 0.15em;\n vertical-align: middle\\0;\n width: 1.8rem;\n}\n\n[type=radio] + label::before {\n box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px #757575;\n height: 1.6rem;\n line-height: 1.6rem;\n width: 1.6rem;\n border-radius: 100%;\n}\n\n[type=checkbox]:checked + label::before,\n[type=radio]:checked + label::before {\n background-color: #0071bc;\n box-shadow: 0 0 0 1px #0071bc;\n}\n\n[type=radio]:checked + label::before {\n box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0071bc;\n}\n\n[type=radio]:focus + label::before {\n box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0071bc, 0 0 3px 4px #3e94cf, 0 0 7px 4px #3e94cf;\n}\n\n[type=checkbox]:checked + label::before,\n[type=checkbox]:checked:disabled + label::before {\n background-image: url(\"../img/correct8.png\");\n background-image: url(\"../img/correct8.svg\");\n background-position: 50%;\n background-repeat: no-repeat;\n}\n\n[type=checkbox]:focus + label::before {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 3px #0071bc;\n}\n\n[type=checkbox]:disabled + label {\n color: #5b616b;\n}\n\n[type=checkbox]:disabled + label::before,\n[type=radio]:disabled + label::before {\n background: #d6d7d9;\n box-shadow: 0 0 0 1px #aeb0b5;\n cursor: not-allowed;\n}\n\n[type=range] {\n -webkit-appearance: none;\n border: none;\n padding-left: 0;\n width: 100%;\n}\n\n[type=range]:focus {\n box-shadow: none;\n outline: none;\n}\n\n[type=range]::-webkit-slider-runnable-track {\n background: #aeb0b5;\n border: 1px solid #757575;\n cursor: pointer;\n height: 1.2rem;\n width: 100%;\n}\n\n[type=range]::-moz-range-track {\n background: #0071bc;\n border: 1px solid #757575;\n cursor: pointer;\n height: 1.2rem;\n width: 100%;\n}\n\n[type=range]::-ms-track {\n background: transparent;\n color: transparent;\n cursor: pointer;\n height: 1.2rem;\n width: 100%;\n}\n\n[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: 1px solid #757575;\n height: 2.2rem;\n border-radius: 1.5rem;\n background: #f1f1f1;\n cursor: pointer;\n margin-top: -.65rem;\n width: 2.2rem;\n}\n\n[type=range]::-moz-range-thumb {\n background: #f1f1f1;\n border: 1px solid #757575;\n border-radius: 1.5rem;\n cursor: pointer;\n height: 2.2rem;\n width: 2.2rem;\n}\n\n[type=range]::-ms-thumb {\n background: #f1f1f1;\n border: 1px solid #757575;\n border-radius: 1.5rem;\n cursor: pointer;\n height: 2.2rem;\n width: 2.2rem;\n}\n\n[type=range]::-ms-fill-lower {\n background: #aeb0b5;\n border: 1px solid #757575;\n border-radius: 2rem;\n}\n\n[type=range]::-ms-fill-upper {\n background: #aeb0b5;\n border: 1px solid #757575;\n border-radius: 2rem;\n}\n\n[type=range]:focus::-webkit-slider-thumb {\n border: 2px solid #3e94cf;\n}\n\n[type=range]:focus::-moz-range-thumb {\n border: 2px solid #3e94cf;\n}\n\n[type=range]:focus::-ms-thumb {\n border: 2px solid #3e94cf;\n}\n\n.usa-date-of-birth label {\n margin-top: 0;\n}\n\n.usa-date-of-birth [type=number]::-webkit-inner-spin-button,\n.usa-date-of-birth [type=number]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n.usa-date-of-birth [type=number] {\n -moz-appearance: textfield;\n}\n\n.usa-form-group-day,\n.usa-form-group-month,\n.usa-form-group-year {\n clear: none;\n float: left;\n margin-right: 1.5rem;\n width: 5rem;\n}\n\n.usa-form-group-year {\n width: 7rem;\n}\n\n.usa-label, .usa-label-big {\n background-color: #0071bc;\n border-radius: 3px;\n color: #ffffff;\n font-size: 1.5rem;\n margin-right: 0.5rem;\n padding: 0.1rem 0.7rem;\n text-transform: uppercase;\n}\n\n.usa-label:only-of-type, .usa-label-big:only-of-type {\n margin-right: 0;\n}\n\n.usa-label-big {\n font-size: 1.7rem;\n padding-left: 0.9rem;\n padding-right: 0.9rem;\n}\n\nul,\nol {\n margin-top: 1em;\n margin-bottom: 1em;\n padding-left: 1.94em;\n}\n\nli {\n line-height: 1.5;\n margin-bottom: 0.5em;\n}\n\nli:last-child {\n margin-bottom: 0;\n}\n\nh1 + ul,\nh1 + ol,\nh2 + ul,\nh2 + ol,\nh3 + ul,\nh3 + ol,\nh4 + ul,\nh4 + ol,\nh5 + ul,\nh5 + ol,\nh6 + ul,\nh6 + ol,\np + ul,\np + ol {\n margin-top: 0;\n}\n\n.usa-unstyled-list {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n}\n\n.usa-unstyled-list > li {\n margin-bottom: 0;\n}\n\ntable {\n border-spacing: 0;\n margin: 2em 0;\n min-width: 100%;\n}\n\ntable thead th,\ntable thead td {\n background-color: #f1f1f1;\n}\n\ntable th {\n text-align: left;\n}\n\ntable tbody th {\n font-weight: 400;\n}\n\ntable th,\ntable td {\n background-color: #ffffff;\n border: 1px solid #5b616b;\n padding: 1.5rem;\n}\n\n.usa-table-borderless thead tr {\n background-color: transparent;\n}\n\n.usa-table-borderless thead th {\n border-top: 0;\n}\n\n.usa-table-borderless th,\n.usa-table-borderless td {\n border-left: 0;\n border-right: 0;\n}\n\nhtml {\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-size: 10px;\n}\n\nbody {\n font-size: 1.7rem;\n}\n\np {\n line-height: 1.5;\n margin-bottom: 1em;\n margin-top: 1em;\n}\n\na {\n color: #0071bc;\n text-decoration: underline;\n}\n\na:hover, a:active {\n color: #205493;\n}\n\na:visited {\n color: #4c2c92;\n}\n\na:focus {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n outline: 0;\n}\n\n.usa-external_link::after {\n background: url(\"../img/external-link.png\") no-repeat 0 0;\n background: url(\"../img/external-link.svg\") no-repeat 0 0;\n background-size: 100%;\n content: '';\n display: inline-block;\n height: 0.65em;\n margin-bottom: -1px;\n margin-left: 4px;\n width: 0.65em;\n}\n\n.usa-external_link:hover::after {\n background-image: url(\"../img/external-link-hover.png\");\n background-image: url(\"../img/external-link-hover.svg\");\n}\n\n.usa-external_link-alt::after {\n background: url(\"../img/external-link-alt.png\") no-repeat 0 0;\n background: url(\"../img/external-link-alt.svg\") no-repeat 0 0;\n background-size: 100%;\n content: '';\n display: inline-block;\n height: 0.65em;\n margin-bottom: -1px;\n margin-left: 4px;\n width: 0.65em;\n}\n\n.usa-external_link-alt:hover::after {\n background-image: url(\"../img/external-link-alt-hover.png\");\n background-image: url(\"../img/external-link-alt-hover.svg\");\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n clear: both;\n font-family: \"Merriweather\", \"Georgia\", \"Cambria\", \"Times New Roman\", \"Times\", serif;\n line-height: 1.3;\n margin-bottom: .5em;\n margin-top: 1.5em;\n}\n\nh1 {\n font-size: 4rem;\n font-weight: 700;\n}\n\nh2 {\n font-size: 3rem;\n font-weight: 700;\n}\n\nh3 {\n font-size: 2rem;\n font-weight: 700;\n}\n\nh4 {\n font-size: 1.7rem;\n font-weight: 700;\n}\n\nh5 {\n font-size: 1.5rem;\n font-weight: 700;\n}\n\nh6 {\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-size: 1.3rem;\n font-weight: 400;\n text-transform: uppercase;\n}\n\ncite,\nvar,\naddress,\ndfn {\n font-style: normal;\n}\n\n.usa-content p:not(.usa-font-lead),\n.usa-content ul:not(.usa-accordion):not(.usa-accordion-bordered),\n.usa-content ol:not(.usa-accordion):not(.usa-accordion-bordered) {\n max-width: 53rem;\n}\n\n.usa-content-list {\n max-width: 53rem;\n}\n\n.usa-sans p,\n.usa-sans a,\n.usa-sans li,\n.usa-sans span {\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n}\n\n.usa-sans a {\n border-bottom: none;\n font-weight: 700;\n}\n\n.usa-serif p,\n.usa-serif a,\n.usa-serif li,\n.usa-serif span {\n font-family: \"Merriweather\", \"Georgia\", \"Cambria\", \"Times New Roman\", \"Times\", serif;\n}\n\n.usa-display {\n font-size: 2rem;\n font-weight: 700;\n margin-bottom: 0;\n}\n\n@media screen and (min-width: 481px) {\n .usa-display {\n font-size: 4rem;\n font-weight: 700;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-display {\n font-size: 5.2rem;\n font-weight: 700;\n }\n}\n\n.usa-font-lead {\n font-family: \"Merriweather\", \"Georgia\", \"Cambria\", \"Times New Roman\", \"Times\", serif;\n font-size: 2rem;\n line-height: 1.7;\n max-width: 77rem;\n}\n\n.usa-image-block {\n position: relative;\n}\n\n.usa-image-text-block {\n color: #ffffff;\n left: 0;\n margin-left: 8%;\n position: absolute;\n top: 0;\n}\n\n.usa-image-text {\n margin-top: 0;\n}\n\n.usa-drop_text {\n margin-bottom: 0;\n}\n\n.usa-background-dark {\n background-color: #323a45;\n}\n\n.usa-background-dark p,\n.usa-background-dark span {\n color: #ffffff;\n}\n\n.usa-background-dark a {\n color: #d6d7d9;\n}\n\n.usa-background-dark a:hover {\n color: #ffffff;\n}\n\n.usa-text-small {\n font-size: 1.3rem;\n margin-top: 0;\n}\n\n.usa-section > :first-child,\n.usa-grid > :first-child,\n.usa-grid-full > :first-child {\n margin-top: 0;\n}\n\n.usa-section > :last-child,\n.usa-grid > :last-child,\n.usa-grid-full > :last-child {\n margin-bottom: 0;\n}\n\n.usa-width-one-whole:first-child > :first-child,\n.usa-width-one-half:first-child > :first-child,\n.usa-width-one-third:first-child > :first-child,\n.usa-width-two-thirds:first-child > :first-child,\n.usa-width-one-fourth:first-child > :first-child,\n.usa-width-three-fourths:first-child > :first-child,\n.usa-width-one-sixth:first-child > :first-child,\n.usa-width-five-sixths:first-child > :first-child,\n.usa-width-one-twelfth:first-child > :first-child {\n margin-top: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-width-one-whole > :first-child,\n .usa-width-one-half > :first-child,\n .usa-width-one-third > :first-child,\n .usa-width-two-thirds > :first-child,\n .usa-width-one-fourth > :first-child,\n .usa-width-three-fourths > :first-child,\n .usa-width-one-sixth > :first-child,\n .usa-width-five-sixths > :first-child,\n .usa-width-one-twelfth > :first-child {\n margin-top: 0;\n }\n}\n\n.usa-width-one-whole:last-child > :last-child,\n.usa-width-one-half:last-child > :last-child,\n.usa-width-one-third:last-child > :last-child,\n.usa-width-two-thirds:last-child > :last-child,\n.usa-width-one-fourth:last-child > :last-child,\n.usa-width-three-fourths:last-child > :last-child,\n.usa-width-one-sixth:last-child > :last-child,\n.usa-width-five-sixths:last-child > :last-child,\n.usa-width-one-twelfth:last-child > :last-child {\n margin-bottom: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-width-one-whole > :last-child,\n .usa-width-one-half > :last-child,\n .usa-width-one-third > :last-child,\n .usa-width-two-thirds > :last-child,\n .usa-width-one-fourth > :last-child,\n .usa-width-three-fourths > :last-child,\n .usa-width-one-sixth > :last-child,\n .usa-width-five-sixths > :last-child,\n .usa-width-one-twelfth > :last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-accordion,\n.usa-accordion-bordered {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n color: #212121;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n\n.usa-accordion > li,\n.usa-accordion-bordered > li {\n margin-bottom: 0;\n}\n\n.usa-accordion > ul li ul,\n.usa-accordion-bordered > ul li ul {\n list-style: disc;\n}\n\n.usa-accordion > ul li ul > li > ul,\n.usa-accordion-bordered > ul li ul > li > ul {\n list-style: circle;\n}\n\n.usa-accordion > ul li ul > li > ul > li > ul,\n.usa-accordion-bordered > ul li ul > li > ul > li > ul {\n list-style: square;\n}\n\n.usa-accordion + .usa-accordion,\n.usa-accordion + .usa-accordion-bordered,\n.usa-accordion-bordered + .usa-accordion,\n.usa-accordion-bordered + .usa-accordion-bordered {\n margin-top: 1rem;\n}\n\n.usa-accordion > ul,\n.usa-accordion-bordered > ul {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n color: #212121;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n\n.usa-accordion > ul > li,\n.usa-accordion-bordered > ul > li {\n margin-bottom: 0;\n}\n\n.usa-accordion > ul > li,\n.usa-accordion-bordered > ul > li {\n background-color: #f1f1f1;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n list-style: none;\n margin-bottom: 6px;\n width: 100%;\n}\n\n.usa-accordion > ul button,\n.usa-accordion-bordered > ul button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n background-color: #f1f1f1;\n background-image: url(\"../img/minus.png\");\n background-image: url(\"../img/minus.svg\");\n background-position: right 3rem center;\n background-repeat: no-repeat;\n background-size: 13px;\n color: #212121;\n cursor: pointer;\n display: inline-block;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-weight: 700;\n margin: 0;\n padding: 1.5rem 5.5rem 1.5rem 3rem;\n width: 100%;\n}\n\n.usa-accordion > ul button:hover,\n.usa-accordion-bordered > ul button:hover {\n background-color: transparent;\n}\n\n.usa-accordion > ul button:focus,\n.usa-accordion-bordered > ul button:focus {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-accordion > ul button:hover,\n.usa-accordion-bordered > ul button:hover {\n background-color: #d6d7d9;\n color: #212121;\n}\n\n.usa-accordion > ul button h1,\n.usa-accordion > ul button h2,\n.usa-accordion > ul button h3,\n.usa-accordion > ul button h4,\n.usa-accordion > ul button h5,\n.usa-accordion > ul button h6,\n.usa-accordion-bordered > ul button h1,\n.usa-accordion-bordered > ul button h2,\n.usa-accordion-bordered > ul button h3,\n.usa-accordion-bordered > ul button h4,\n.usa-accordion-bordered > ul button h5,\n.usa-accordion-bordered > ul button h6 {\n margin: 0;\n}\n\n.usa-accordion > ul [aria-expanded=false],\n.usa-accordion-bordered > ul [aria-expanded=false] {\n background-image: url(\"../img/plus.png\");\n background-image: url(\"../img/plus.svg\");\n background-repeat: no-repeat;\n background-size: 1.3rem;\n}\n\n.usa-accordion > li,\n.usa-accordion-bordered > li {\n background-color: #f1f1f1;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n list-style: none;\n margin-bottom: 6px;\n width: 100%;\n}\n\n.usa-accordion-bordered .usa-accordion-content {\n border-bottom: 3px solid #f1f1f1;\n border-left: 3px solid #f1f1f1;\n border-right: 3px solid #f1f1f1;\n}\n\n.usa-accordion-content {\n background-color: #ffffff;\n overflow: auto;\n padding: 3rem;\n}\n\n.usa-accordion-content > *:first-child {\n margin-top: 0;\n}\n\n.usa-accordion-content > *:last-child {\n margin-bottom: 0;\n}\n\n.usa-accordion-content:not([aria-hidden]) {\n position: absolute;\n left: -999em;\n}\n\n.usa-accordion-content[aria-hidden=true] {\n display: none;\n}\n\n.usa-accordion-button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n background-color: #f1f1f1;\n background-image: url(\"../img/minus.png\");\n background-image: url(\"../img/minus.svg\");\n background-position: right 3rem center;\n background-repeat: no-repeat;\n background-size: 13px;\n color: #212121;\n cursor: pointer;\n display: inline-block;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-weight: 700;\n margin: 0;\n padding: 1.5rem 5.5rem 1.5rem 3rem;\n width: 100%;\n}\n\n.usa-accordion-button:hover {\n background-color: transparent;\n}\n\n.usa-accordion-button:focus {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-accordion-button:hover {\n background-color: #d6d7d9;\n color: #212121;\n}\n\n.usa-accordion-button h1,\n.usa-accordion-button h2,\n.usa-accordion-button h3,\n.usa-accordion-button h4,\n.usa-accordion-button h5,\n.usa-accordion-button h6 {\n margin: 0;\n}\n\n.usa-accordion-button[aria-expanded=false] {\n background-image: url(\"../img/plus.png\");\n background-image: url(\"../img/plus.svg\");\n background-repeat: no-repeat;\n background-size: 1.3rem;\n}\n\n.usa-alert {\n background-color: #f1f1f1;\n background-position: 1rem 2rem;\n background-repeat: no-repeat;\n background-size: 4rem;\n margin-top: 1.5em;\n padding: 1em;\n}\n\n@media screen and (min-width: 600px) {\n .usa-alert {\n background-size: 5.2rem;\n }\n}\n\n.usa-alert a {\n color: #205493;\n}\n\n.usa-alert a:focus, .usa-alert a:hover {\n color: #112e51;\n}\n\n.usa-alert ul {\n margin-bottom: 0;\n margin-top: 1em;\n padding-left: 1em;\n}\n\n.usa-alert-icon {\n display: table-cell;\n padding-right: 1rem;\n}\n\n.usa-alert-body {\n display: table-cell;\n padding-left: 3.5rem;\n vertical-align: top;\n}\n\n@media screen and (min-width: 600px) {\n .usa-alert-body {\n padding-left: 5rem;\n }\n}\n\n.usa-alert-body p:first-child {\n margin-top: 0.8rem;\n}\n\n.usa-alert-body p:last-child {\n margin-bottom: 0.8rem;\n}\n\n.usa-alert-heading {\n margin-bottom: .3rem;\n margin-top: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-alert-heading {\n margin-top: .3rem;\n }\n}\n\n.usa-alert-text {\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n margin-bottom: 0;\n margin-top: 0;\n}\n\n.usa-alert-success {\n background-color: #e7f4e4;\n background-image: url(\"../img/alerts/success.png\");\n background-image: url(\"../img/alerts/success.svg\");\n}\n\n.usa-alert-warning {\n background-color: #fff1d2;\n background-image: url(\"../img/alerts/warning.png\");\n background-image: url(\"../img/alerts/warning.svg\");\n}\n\n.usa-alert-error {\n background-color: #f9dede;\n background-image: url(\"../img/alerts/error.png\");\n background-image: url(\"../img/alerts/error.svg\");\n}\n\n.usa-alert-info {\n background-color: #e1f3f8;\n background-image: url(\"../img/alerts/info.png\");\n background-image: url(\"../img/alerts/info.svg\");\n}\n\n.usa-alert-no_icon {\n background-image: none;\n}\n\n.usa-alert-paragraph {\n width: 53rem;\n padding: 1em 3em 1em 1em;\n}\n\n.usa-banner {\n background-color: #f1f1f1;\n padding-bottom: 0.7rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner {\n font-size: 1.3rem;\n padding-bottom: 0;\n }\n}\n\n.usa-banner-content {\n padding-right: 1.5rem;\n padding-bottom: 3px;\n padding-left: 1.5rem;\n background-color: transparent;\n font-size: 1.5rem;\n padding-top: 2rem;\n width: 100%;\n}\n\n@media screen and (min-width: 600px) {\n .usa-banner-content {\n padding-bottom: 2.3rem;\n padding-top: 4rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-banner-content {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n}\n\n.usa-banner-content p:first-child {\n margin-top: 1rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-banner-content p:first-child {\n margin-top: 0;\n }\n}\n\n.usa-banner-inner {\n max-width: 1200px;\n margin-left: auto;\n margin-right: auto;\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n max-width: 1040px;\n}\n\n.usa-banner-inner::after {\n clear: both;\n content: \"\";\n display: block;\n}\n\n@media screen and (min-width: 951px) {\n .usa-banner-inner {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n}\n\n.usa-banner-header {\n padding-top: 0.55rem;\n padding-bottom: 0.55rem;\n font-size: 1.2rem;\n font-weight: 400;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header {\n padding-top: 0;\n padding-bottom: 0;\n }\n}\n\n.usa-banner-header p {\n margin-top: 0;\n margin-bottom: 0;\n display: inline;\n overflow: hidden;\n vertical-align: middle;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header p {\n margin-top: 2px;\n margin-bottom: 2px;\n display: inline-block;\n }\n}\n\n.usa-banner-header img {\n float: left;\n margin-right: 1rem;\n margin-top: 1px;\n width: 2.4rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header img {\n margin-right: 0.7rem;\n width: 2rem;\n }\n}\n\n.usa-banner-header-expanded {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n border-bottom: 1px solid #aeb0b5;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-size: 1.5rem;\n min-height: 5.6rem;\n padding-right: 3rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header-expanded {\n border-bottom: none;\n display: block;\n font-size: 1.2rem;\n font-weight: 400;\n min-height: 0;\n padding-right: 0;\n }\n}\n\n.usa-banner-header-expanded > .usa-banner-inner {\n margin-left: 0;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header-expanded > .usa-banner-inner {\n margin-left: auto;\n }\n}\n\n.usa-banner-header-expanded img {\n margin-right: 2.4rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header-expanded img {\n margin-right: 0.7rem;\n }\n}\n\n.usa-banner-header-expanded p {\n line-height: 1.3;\n vertical-align: top;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-header-expanded p {\n line-height: 1.5;\n vertical-align: middle;\n }\n}\n\n.usa-banner-button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n padding-top: 1.3rem;\n padding-left: 4.8rem;\n background-position-x: right;\n color: #0071bc;\n display: block;\n font-size: 1.2rem;\n height: 4.3rem;\n left: 0;\n position: absolute;\n text-decoration: underline;\n top: 0;\n width: 100%;\n}\n\n.usa-banner-button:hover {\n background-color: transparent;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-button {\n padding-top: 0;\n padding-left: 0;\n /* stylelint-disable declaration-block-no-ignored-properties */\n display: inline;\n height: initial;\n margin-left: 3px;\n position: relative;\n vertical-align: middle;\n width: initial;\n /* stylelint-enable */\n }\n}\n\n.usa-banner-button:hover {\n color: #205493;\n text-decoration: underline;\n}\n\n.usa-banner-button[aria-expanded=false] {\n background-image: none;\n}\n\n.usa-banner-button[aria-expanded=false]::after {\n background-image: url(../img/angle-arrow-down-primary.png);\n background-image: url(../img/angle-arrow-down-primary.svg);\n background-size: 100%;\n content: '';\n display: inline-block;\n height: 1rem;\n width: 1rem;\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n margin-left: 0;\n /* stylelint-enable */\n}\n\n.usa-banner-button[aria-expanded=false]:hover::after {\n background-image: url(../img/angle-arrow-down-primary-hover.png);\n background-image: url(../img/angle-arrow-down-primary-hover.svg);\n}\n\n.usa-banner-button[aria-expanded=false]::after {\n background-position-y: 1px;\n}\n\n.usa-banner-button[aria-expanded=true] {\n background-image: none;\n height: 5.6rem;\n}\n\n.usa-banner-button[aria-expanded=true]::after {\n background-image: url(../img/close.png);\n background-image: url(../img/close.svg);\n background-size: 100%;\n content: '';\n display: inline-block;\n height: 1.3rem;\n width: 1.3rem;\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n margin-left: 0;\n /* stylelint-enable */\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-button[aria-expanded=true] {\n height: initial;\n padding: 0;\n position: relative;\n }\n .usa-banner-button[aria-expanded=true]::after {\n background-image: url(../img/angle-arrow-up-primary.png);\n background-image: url(../img/angle-arrow-up-primary.svg);\n background-size: 100%;\n content: '';\n display: inline-block;\n height: 1rem;\n width: 1rem;\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n margin-left: 0;\n /* stylelint-enable */\n }\n .usa-banner-button[aria-expanded=true]:hover::after {\n background-image: url(../img/angle-arrow-up-primary-hover.png);\n background-image: url(../img/angle-arrow-up-primary-hover.svg);\n }\n .usa-banner-button[aria-expanded=true]::after {\n background-position-y: 1px;\n }\n}\n\n.usa-banner-button[aria-expanded=true]::after {\n position: absolute;\n right: 1.5rem;\n top: 2.15rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-button[aria-expanded=true]::after {\n position: static;\n }\n}\n\n.usa-banner-button[aria-expanded=true] .usa-banner-button-text {\n display: none;\n}\n\n@media screen and (min-width: 481px) {\n .usa-banner-button[aria-expanded=true] .usa-banner-button-text {\n display: inline;\n }\n}\n\n.usa-banner-icon {\n width: 3.8rem;\n}\n\n.usa-footer .usa-unstyled-list {\n display: block;\n}\n\n.usa-footer .usa-footer-primary-link {\n color: #212121;\n display: block;\n font-weight: 700;\n margin-top: 0;\n padding-bottom: 2rem;\n padding-top: 2rem;\n text-decoration: none;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer .usa-footer-primary-link {\n border-top: none;\n }\n}\n\n.usa-footer .usa-footer-primary-link:hover {\n text-decoration: underline;\n}\n\n.usa-footer a {\n font-weight: normal;\n}\n\n.usa-footer-return-to-top {\n padding-bottom: 2rem;\n padding-top: 2rem;\n}\n\n.usa-footer-primary-section {\n background-color: #f1f1f1;\n}\n\n.usa-footer-primary-section .usa-footer-primary-content {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-primary-section .usa-footer-primary-content {\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n.usa-footer-primary-section .usa-footer-primary-content li {\n margin-left: 1rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-primary-section .usa-footer-primary-content li {\n margin-left: 0;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-primary-section .usa-grid-full {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n }\n}\n\n.usa-footer-medium .usa-footer-primary-section {\n padding: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-medium .usa-footer-primary-section {\n padding-bottom: 1rem;\n padding-top: 1rem;\n }\n}\n\n@media screen and (min-width: 1201px) {\n .usa-footer-medium .usa-footer-primary-section .usa-footer-primary-content {\n margin-right: 6%;\n width: inherit;\n }\n}\n\n@media screen and (min-width: 1201px) {\n .usa-footer-medium .usa-footer-primary-section .usa-footer-primary-content:last-child {\n margin-right: 0;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-medium .usa-footer-nav ul {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n }\n}\n\n.usa-footer-slim .usa-footer-nav a {\n display: block;\n}\n\n@media screen and (min-width: 1201px) {\n .usa-footer-slim .usa-footer-nav .usa-footer-primary-content {\n margin-right: 9%;\n width: inherit;\n }\n}\n\n@media screen and (min-width: 1201px) {\n .usa-footer-slim .usa-footer-nav .usa-footer-primary-content:last-child {\n margin-right: 0;\n }\n}\n\n.usa-footer-slim .usa-footer-primary-section {\n padding-bottom: 2rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-slim .usa-footer-primary-section {\n padding-bottom: 1rem;\n padding-top: 1rem;\n }\n .usa-footer-slim .usa-footer-primary-section .usa-grid-full {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-slim .usa-footer-contact_info > * {\n margin: 0;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-slim .usa-footer-contact_info {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-slim .usa-footer-contact_info {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 1201px) {\n .usa-footer-slim .usa-footer-contact_info {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 48.82117%;\n }\n .usa-footer-slim .usa-footer-contact_info:last-child {\n margin-right: 0;\n }\n}\n\n/* stylelint-disable selector-no-qualifying-type */\nul.usa-footer-primary-content,\nli.usa-footer-primary-content,\nli.usa-footer-primary-content {\n border-top: 1px solid #212121;\n}\n\n@media screen and (min-width: 600px) {\n ul.usa-footer-primary-content,\n li.usa-footer-primary-content,\n li.usa-footer-primary-content {\n border: none;\n }\n}\n\nul.usa-footer-primary-content:last-child,\nli.usa-footer-primary-content:last-child,\nli.usa-footer-primary-content:last-child {\n border-bottom: 1px solid #212121;\n}\n\n@media screen and (min-width: 600px) {\n ul.usa-footer-primary-content:last-child,\n li.usa-footer-primary-content:last-child,\n li.usa-footer-primary-content:last-child {\n border-bottom: none;\n }\n}\n\n/* stylelint-enable */\n.usa-sign_up-block {\n padding-bottom: 2rem;\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-sign_up-block {\n float: right;\n padding: 0;\n }\n}\n\n.usa-sign_up-block label:first-of-type {\n margin-top: 0;\n}\n\n.usa-sign_up-block button {\n float: none;\n margin-right: 0;\n margin-top: 1.5rem;\n}\n\n.usa-sign_up-block input {\n width: 100%;\n}\n\n.usa-footer-secondary_section {\n background-color: #d6d7d9;\n padding-bottom: 3rem;\n padding-top: 3rem;\n}\n\n.usa-footer-secondary_section a {\n color: #212121;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big-secondary-section {\n padding-top: 5rem;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-contact-links {\n text-align: right;\n }\n}\n\n.usa-social-links a {\n text-decoration: none;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big .usa-footer-primary-section {\n padding-bottom: 4rem;\n padding-top: 3rem;\n }\n}\n\n.usa-footer-big ul {\n padding-bottom: 2.5rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big ul {\n padding-bottom: 0;\n }\n}\n\n.usa-footer-big ul:last-child {\n border-bottom: 1px solid #212121;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big ul:last-child {\n border-bottom: none;\n }\n}\n\n.usa-footer-big ul li {\n line-height: 2em;\n}\n\n.usa-footer-big ul .usa-footer-primary-link {\n background-image: url(\"../img/arrow-down.png\");\n background-image: url(\"../img/arrow-down.svg\");\n background-position: 1.5rem center;\n background-repeat: no-repeat;\n background-size: 1.3rem;\n margin-left: 0;\n padding-left: 3.5rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big ul .usa-footer-primary-link {\n background: none;\n margin-bottom: .8rem;\n padding-bottom: 0;\n padding-left: 0;\n }\n}\n\n.usa-footer-big ul .usa-footer-primary-link > * {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.usa-footer-big ul.hidden {\n /* stylelint-disable-line selector-no-qualifying-type */\n padding-bottom: 0;\n}\n\n.usa-footer-big ul.hidden li {\n display: none;\n}\n\n.usa-footer-big ul.hidden .usa-footer-primary-link {\n /* stylelint-disable-line selector-no-qualifying-type */\n background-image: url(\"../img/arrow-right.png\");\n background-image: url(\"../img/arrow-right.svg\");\n cursor: pointer;\n display: block;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-big ul.hidden .usa-footer-primary-link {\n background: none;\n padding-left: 0;\n }\n}\n\n.usa-footer-topic {\n margin: 0;\n padding: 2rem 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-sign_up-header {\n margin: 0;\n padding: 2rem 0;\n }\n}\n\n.usa-footer-logo-img {\n max-width: 14rem;\n}\n\n.usa-footer-slim-logo-img {\n float: left;\n max-width: 10rem;\n}\n\n.usa-footer-logo-heading {\n margin-top: 2rem;\n}\n\n.usa-footer-contact-heading {\n margin-top: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-contact-heading {\n margin-top: 1rem;\n }\n}\n\n.usa-footer-slim-logo-heading {\n display: block;\n padding-top: 1rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-footer-slim-logo-heading {\n display: inline-block;\n padding-left: 1em;\n }\n}\n\n.usa-social_link, .usa-link-facebook, .usa-link-twitter, .usa-link-youtube, .usa-link-rss {\n margin: 2.5rem 1rem 1.5rem 0;\n background-position: center center;\n background-repeat: no-repeat;\n background-size: auto 3rem;\n display: inline-block;\n height: 4.4rem;\n left: -1.6rem;\n position: relative;\n text-align: center;\n width: 4.4rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-social_link, .usa-link-facebook, .usa-link-twitter, .usa-link-youtube, .usa-link-rss {\n margin: 0 0 0 1rem;\n left: 1.2rem;\n }\n}\n\n.usa-social_link span, .usa-link-facebook span, .usa-link-twitter span, .usa-link-youtube span, .usa-link-rss span {\n position: absolute;\n left: -999em;\n}\n\n.usa-link-facebook {\n background-image: url(\"../img/social-icons/png/facebook25.png\");\n background-image: url(\"../img/social-icons/svg/facebook25.svg\");\n}\n\n.usa-link-twitter {\n background-image: url(\"../img/social-icons/png/twitter16.png\");\n background-image: url(\"../img/social-icons/svg/twitter16.svg\");\n}\n\n.usa-link-youtube {\n background-image: url(\"../img/social-icons/png/youtube15.png\");\n background-image: url(\"../img/social-icons/svg/youtube15.svg\");\n}\n\n.usa-link-rss {\n background-image: url(\"../img/social-icons/png/rss25.png\");\n background-image: url(\"../img/social-icons/svg/rss25.svg\");\n}\n\nform a {\n border-bottom: 0;\n}\n\nform [type=submit],\nform [type=submit] {\n display: block;\n margin-bottom: 1.5em;\n margin-top: 2.5rem;\n}\n\n@media screen and (min-width: 600px) {\n form [type=submit],\n form [type=submit] {\n padding-left: 2.7em;\n padding-right: 2.7em;\n width: auto;\n }\n}\n\nform [name=password],\nform [name=confirmPassword] {\n margin-bottom: 1.1rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-form {\n max-width: 32rem;\n }\n}\n\n.usa-form-note {\n float: right;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n font-size: 1.5rem;\n margin: 0 0 1.5rem;\n}\n\n.usa-form-note + * {\n clear: both;\n}\n\nfieldset {\n border: none;\n margin: 0;\n padding: 0;\n}\n\n@media screen and (min-width: 600px) {\n .usa-form-large {\n max-width: 46rem;\n }\n}\n\ninput.usa-input-tiny {\n /* stylelint-disable-line selector-no-qualifying-type */\n}\n\n@media screen and (min-width: 600px) {\n input.usa-input-tiny {\n max-width: 6rem;\n }\n}\n\ninput.usa-input-medium {\n /* stylelint-disable-line selector-no-qualifying-type */\n}\n\n@media screen and (min-width: 600px) {\n input.usa-input-medium {\n max-width: 12rem;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-input-grid {\n padding-right: 5%;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-input-grid:last-of-type {\n padding-right: 0;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-input-grid-small {\n float: left;\n width: 35%;\n }\n}\n\n.usa-input-grid-small input {\n margin-bottom: 3rem;\n}\n\n.usa-input-grid-small select {\n margin-bottom: 3rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-input-grid-medium {\n float: left;\n width: 65%;\n }\n}\n\n.usa-input-grid-medium input {\n margin-bottom: 3rem;\n}\n\n.usa-input-grid-medium select {\n margin-bottom: 3rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-input-grid-large {\n float: left;\n width: 100%;\n }\n}\n\n.usa-input-grid-large input {\n margin-bottom: 3rem;\n}\n\n.usa-input-grid-large select {\n margin-bottom: 3rem;\n}\n\n.usa-additional_text {\n font-weight: normal;\n}\n\n.usa-checklist {\n list-style: none;\n margin-left: 0;\n padding-left: 0;\n}\n\n.usa-checklist li {\n display: inline-block;\n list-style: none;\n margin-bottom: 0;\n margin-top: 0;\n padding-left: 3em;\n text-indent: -2em;\n}\n\n.usa-checklist li::before {\n content: ' ';\n display: inline-block;\n height: .8em;\n margin-right: .2em;\n width: 1.8em;\n}\n\n.usa-checklist-checked::before {\n background-image: url(\"../img/correct9.png\");\n background-image: url(\"../img/correct9.svg\");\n background-position: 100%;\n background-repeat: no-repeat;\n background-size: 100%;\n}\n\n.usa-graphic_list .usa-graphic_list-row .usa-media_block {\n margin-bottom: 3rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-graphic_list .usa-graphic_list-row .usa-media_block {\n margin-bottom: 6rem;\n }\n}\n\n@media screen and (min-width: 600px) {\n .usa-graphic_list .usa-graphic_list-row:last-child .usa-media_block {\n margin-bottom: 0;\n }\n}\n\n.usa-graphic_list .usa-graphic_list-row:last-child .usa-media_block:last-child {\n margin-bottom: 0;\n}\n\n.usa-graphic_list .usa-media_block-img {\n margin-right: 3rem;\n}\n\n.usa-graphic_list .usa-media_block-body > :first-child {\n margin-top: 0;\n}\n\n.usa-header {\n width: 100%;\n z-index: 7000;\n}\n\n@media screen and (min-width: 951px) {\n .usa-header {\n border-bottom: 1px solid #aeb0b5;\n }\n}\n\n.usa-header a {\n border-bottom: none;\n}\n\n.usa-header .usa-search {\n margin-bottom: 1.5rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-header .usa-search {\n float: right;\n margin-bottom: 0;\n max-width: 21.5rem;\n }\n}\n\n.usa-logo {\n float: left;\n line-height: 4rem;\n margin-left: 1.5rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-logo {\n line-height: 7.5rem;\n margin-left: 0;\n }\n}\n\n.usa-logo a {\n color: #212121;\n text-decoration: none;\n}\n\n.usa-logo br {\n display: none;\n}\n\n@media screen and (min-width: 951px) {\n .usa-logo br {\n display: block;\n }\n}\n\n.usa-logo-text {\n display: block;\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 700;\n margin: 0;\n}\n\n@media screen and (min-width: 951px) {\n .usa-logo-text {\n display: block;\n font-size: 2.4rem;\n line-height: 1.3;\n }\n}\n\n.usa-menu-btn {\n /* stylelint-disable declaration-block-no-ignored-properties */\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n background-color: #0071bc;\n color: #ffffff;\n display: inline;\n float: right;\n font-size: 1.3rem;\n height: 4rem;\n line-height: 4rem;\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n width: 5.8rem;\n /* stylelint-enable */\n}\n\n.usa-menu-btn:hover {\n background-color: transparent;\n}\n\n@media screen and (min-width: 951px) {\n .usa-menu-btn {\n display: none;\n }\n}\n\n.usa-menu-btn:hover {\n color: #ffffff;\n background-color: #205493;\n}\n\n.usa-menu-btn:visited {\n color: #ffffff;\n}\n\n.usa-overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #000000;\n opacity: 0;\n transition: all 0.2s ease-in-out;\n visibility: hidden;\n z-index: 8000;\n}\n\n.usa-overlay.is-visible {\n opacity: 0.1;\n visibility: visible;\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-basic .usa-logo {\n bottom: 1.9rem;\n position: absolute;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-basic .usa-navbar {\n position: relative;\n width: 18%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-header {\n border-bottom: none;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-logo {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended em {\n font-size: 3.2rem;\n line-height: 1;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-navbar {\n max-width: 1200px;\n margin-left: auto;\n margin-right: auto;\n padding-right: 3rem;\n padding-left: 3rem;\n display: block;\n height: auto;\n max-width: 1040px;\n }\n .usa-header-extended .usa-navbar::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav {\n border-top: 1px solid #aeb0b5;\n float: none;\n padding: 0;\n width: 100%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav-inner {\n max-width: 1200px;\n margin-left: auto;\n margin-right: auto;\n padding-right: 3rem;\n padding-left: 2rem;\n margin-top: -1px;\n max-width: 1040px;\n position: relative;\n }\n .usa-header-extended .usa-nav-inner::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav-primary::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.usa-header-extended .usa-nav-primary button[aria-expanded=false], .usa-header-extended .usa-nav-primary button[aria-expanded=true] {\n /* stylelint-disable-line selector-no-qualifying-type */\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav-primary button[aria-expanded=false], .usa-header-extended .usa-nav-primary button[aria-expanded=true] {\n /* stylelint-disable-line selector-no-qualifying-type */\n background-position: right 1.5rem top 50%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav-link {\n padding-top: 1.9rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-nav-submenu .usa-grid-full {\n padding-left: 1.2rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-extended .usa-megamenu {\n padding-left: 3rem;\n }\n}\n\n.usa-hero {\n padding-top: 3rem;\n padding-bottom: 3rem;\n background-image: url(\"../img/hero.png\");\n background-position: center;\n background-size: cover;\n}\n\n.usa-hero .usa-button {\n color: #ffffff;\n}\n\n.usa-section-dark .usa-hero-link {\n color: #02bfe7;\n}\n\n.usa-hero-callout {\n background-color: #112e51;\n padding: 3rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-hero-callout {\n max-width: 30rem;\n }\n}\n\n.usa-hero-callout > *:first-child {\n margin-top: 0;\n margin-bottom: 3rem;\n}\n\n.usa-hero-callout .usa-button {\n font-size: 1.4rem;\n margin-top: 7rem;\n width: 100%;\n}\n\n.usa-hero-callout-alt {\n color: #ffffff;\n display: block;\n}\n\n.usa-layout-docs {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n@media screen and (min-width: 1201px) {\n .usa-layout-docs {\n display: inherit;\n }\n}\n\n.usa-layout-docs .usa-grid > :first-child:not(.usa-width-*) {\n margin-top: 0;\n}\n\n.usa-layout-docs .usa-grid > :last-child:not(.usa-width-*) {\n margin-bottom: 0;\n}\n\n.usa-layout-docs-sidenav {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.usa-layout-docs-main_content {\n margin-bottom: 3rem;\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n}\n\n@media screen and (min-width: 1201px) {\n .usa-layout-docs-main_content {\n margin-bottom: 0;\n }\n}\n\n.usa-layout-docs-main_content > :first-child {\n margin-top: 0;\n}\n\n.usa-media_block-img {\n float: left;\n margin-right: 1rem;\n}\n\n.usa-media_block-body {\n overflow: hidden;\n}\n\n.usa-navbar {\n border-bottom: 1px solid #aeb0b5;\n height: 4rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-navbar {\n border-bottom: none;\n display: inline-block;\n height: 10.3rem;\n }\n}\n\n.usa-nav-link {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-link:hover span {\n border-bottom: 0.7rem solid #0071bc;\n padding-bottom: 1rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-container {\n max-width: 1200px;\n margin-left: auto;\n margin-right: auto;\n padding-right: 3rem;\n padding-left: 3rem;\n max-width: 1040px;\n }\n .usa-nav-container::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.usa-nav {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: auto;\n background: #ffffff;\n border-left: 1px solid #aeb0b5;\n border-right: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n overflow-y: auto;\n padding: 2rem;\n -webkit-transform: translateX(26rem);\n -ms-transform: translateX(26rem);\n transform: translateX(26rem);\n width: 26rem;\n z-index: 9000;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav {\n padding-top: 5rem;\n padding-right: 0;\n padding-bottom: 0;\n border-left: none;\n display: block;\n float: right;\n overflow-y: visible;\n position: relative;\n -webkit-transform: translateX(0);\n -ms-transform: translateX(0);\n transform: translateX(0);\n width: auto;\n }\n}\n\n.usa-nav.is-visible {\n -webkit-transform: translateX(0);\n -ms-transform: translateX(0);\n transform: translateX(0);\n transition: all 0.3s ease-in-out;\n}\n\n.usa-nav nav {\n margin-top: 6rem;\n min-height: 100%;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav nav {\n margin-top: 0;\n }\n}\n\n.usa-nav .usa-current {\n border-left: 4px solid #0071bc;\n color: #0071bc;\n font-weight: 700;\n padding-left: 1.4rem;\n}\n\n.usa-nav .usa-button {\n width: 100%;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav .usa-search {\n margin-left: 1.5rem;\n }\n}\n\n.usa-nav-primary {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.usa-nav-primary > li {\n margin-bottom: 0;\n}\n\n.usa-nav-primary > li {\n background-color: transparent;\n border-top: 1px solid #5b616b;\n font-size: 1.7rem;\n}\n\n.usa-nav-primary > li:first-child {\n border-top: none;\n}\n\n.usa-nav-primary a {\n border: none;\n color: #212121;\n display: block;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n line-height: 1.3;\n padding: 0.85rem 1rem 0.85rem 1.8rem;\n text-decoration: none;\n}\n\n.usa-nav-primary a:hover {\n background-color: #f1f1f1;\n color: #0071bc;\n text-decoration: none;\n}\n\n.usa-nav-primary a:focus {\n position: relative;\n z-index: 1;\n}\n\n.usa-nav-primary a.usa-current {\n /* stylelint-disable-line selector-no-qualifying-type */\n border-left: 0.4rem solid #0071bc;\n color: #0071bc;\n font-weight: 700;\n padding-left: 1.4rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary {\n display: inline;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary li {\n border-top: none;\n }\n}\n\n.usa-nav-primary > li {\n width: auto;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary > li {\n display: inline-block;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary > li > a {\n padding: 1.3rem 1.5rem 1.7rem;\n color: #5b616b;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1.2;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary > li > a:hover {\n background-color: transparent;\n }\n}\n\n.usa-nav-primary button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-weight: 400;\n padding: 1.4rem 1.5rem 1rem 1.8rem;\n}\n\n.usa-nav-primary button:hover {\n background-color: transparent;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary button {\n padding-right: 3rem;\n padding-bottom: 1.9rem;\n padding-left: 1.5rem;\n color: #5b616b;\n font-size: 1.5rem;\n font-weight: 700;\n width: initial;\n }\n}\n\n.usa-nav-primary button:focus, .usa-nav-primary button:active {\n box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;\n}\n\n.usa-nav-primary button:hover {\n background-color: #f1f1f1;\n color: #0071bc;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary button:hover {\n background-color: transparent;\n }\n}\n\n.usa-nav-primary button[aria-expanded=false] {\n /* stylelint-disable-line selector-no-qualifying-type */\n background-image: url(\"../img/plus-alt.png\");\n background-image: url(\"../img/plus-alt.svg\");\n background-repeat: no-repeat;\n background-position: right 0 center;\n background-size: 1rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary button[aria-expanded=false] {\n background-image: url(\"../img/angle-arrow-down.png\");\n background-image: url(\"../img/angle-arrow-down.svg\");\n background-position: right 1.5rem top 44%;\n }\n}\n\n.usa-nav-primary button[aria-expanded=true] {\n /* stylelint-disable-line selector-no-qualifying-type */\n background-image: url(\"../img/minus-alt.png\");\n background-image: url(\"../img/minus-alt.svg\");\n background-repeat: no-repeat;\n background-position: right 0 center;\n background-size: 1rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary button[aria-expanded=true] {\n background-color: #112e51;\n color: #ffffff;\n background-image: url(\"../img/angle-arrow-down-hover.png\");\n background-image: url(\"../img/angle-arrow-down-hover.svg\");\n background-position: right 1.5rem top 44%;\n }\n .usa-nav-primary button[aria-expanded=true]:hover {\n background-color: #112e51;\n }\n .usa-nav-primary button[aria-expanded=true] span {\n border-bottom: 0.7rem solid #0071bc;\n padding-bottom: 1rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-primary a.usa-current {\n border-left: 0;\n padding-left: 1.5rem;\n }\n .usa-nav-primary a.usa-current span {\n border-bottom: 0.7rem solid #0071bc;\n padding-bottom: 1rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary {\n position: absolute;\n right: 3rem;\n top: -5.7rem;\n }\n}\n\n.usa-nav-secondary .usa-search {\n margin-top: 3rem;\n margin-bottom: 3rem;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary .usa-search {\n margin-top: -0.2rem;\n margin-bottom: 0;\n margin-left: 0;\n float: left;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links {\n float: left;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links li {\n display: inline;\n padding-left: 1rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links li:not(:last-child)::after {\n content: '|';\n padding-left: 1rem;\n }\n}\n\n.usa-nav-secondary-links a,\n.usa-nav-secondary-links .usa-header-search-button {\n color: #5b616b;\n display: inline-block;\n font-size: 1.5rem;\n text-decoration: none;\n}\n\n.usa-nav-secondary-links a:hover,\n.usa-nav-secondary-links .usa-header-search-button:hover {\n color: #0071bc;\n}\n\n.usa-nav-secondary-links .usa-header-search-button {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n display: none;\n}\n\n.usa-nav-secondary-links .usa-header-search-button:hover {\n background-color: transparent;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links .usa-header-search-button {\n background-image: url(\"../img/search-alt.png\");\n background-image: url(\"../img/search-alt.svg\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: 2.2rem;\n display: inline-block;\n padding-left: 2.3rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links .usa-header-search-button.is-hidden {\n display: none;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-secondary-links a.usa-current {\n border-left: 0;\n padding-left: 0;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-submenu {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n padding-top: 1.15rem;\n padding-bottom: 1.15rem;\n background-color: #112e51;\n min-width: 21.5rem;\n width: auto;\n position: absolute;\n }\n .usa-nav-submenu > li {\n margin-bottom: 0;\n }\n}\n\n.usa-nav-submenu[aria-hidden=true] {\n display: none;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-submenu a {\n color: #ffffff;\n padding-left: 1.5rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-submenu a:hover {\n background-color: #112e51;\n color: #ffffff;\n text-decoration: underline;\n }\n}\n\n.usa-nav-submenu li {\n font-size: 1.5rem;\n margin-bottom: 0;\n}\n\n.usa-nav-close {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n font-weight: 400;\n margin: 0;\n outline: 0;\n padding: 0;\n text-align: left;\n -webkit-font-smoothing: auto;\n margin: -1.2rem -1.5rem 2.4rem auto;\n float: right;\n height: 4.4rem;\n text-align: center;\n width: 4.4rem;\n}\n\n.usa-nav-close:hover {\n background-color: transparent;\n}\n\n@media screen and (min-width: 951px) {\n .usa-nav-close {\n display: none;\n }\n}\n\n.usa-nav-close img {\n width: 1.3rem;\n}\n\n.usa-mobile_nav-active {\n overflow: hidden;\n}\n\n@media screen and (min-width: 951px) {\n .usa-megamenu {\n padding-top: 3.15rem;\n padding-bottom: 3.15rem;\n left: -1rem;\n width: 100%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-megamenu::before {\n background-color: #112e51;\n content: '';\n display: block;\n height: 100%;\n position: absolute;\n top: 0;\n width: 1000%;\n right: 100%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-megamenu::after {\n background-color: #112e51;\n content: '';\n display: block;\n height: 100%;\n position: absolute;\n top: 0;\n width: 1000%;\n left: 100%;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-basic-megamenu .usa-nav {\n padding-left: 0;\n padding-top: 0;\n width: 100%;\n }\n}\n\n.usa-header-basic-megamenu .usa-nav-inner {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-basic-megamenu .usa-nav-inner {\n display: block;\n float: right;\n margin-top: -4.8rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-header-basic-megamenu .usa-nav-submenu .usa-grid-full {\n margin-left: -1.8rem;\n }\n}\n\n@media screen and (min-width: 951px) {\n .usa-megamenu-col {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 23.23176%;\n }\n .usa-megamenu-col:last-child {\n margin-right: 0;\n }\n .usa-megamenu-col:nth-child(2n) {\n float: left;\n display: block;\n margin-right: 2.35765%;\n width: 23.23176%;\n }\n .usa-megamenu-col:nth-child(2n):last-child {\n margin-right: 0;\n }\n .usa-megamenu-col:nth-child(4n) {\n margin-right: 0;\n }\n}\n\n.usa-megamenu-col > ul {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n}\n\n.usa-megamenu-col > ul > li {\n margin-bottom: 0;\n}\n\n.usa-search {\n max-width: none;\n position: relative;\n}\n\n.usa-search::after {\n clear: both;\n content: \"\";\n display: block;\n}\n\n.usa-search [type=search],\n.usa-search .usa-search-input {\n padding-top: 0;\n padding-bottom: 0;\n -webkit-appearance: none;\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: 1.4rem;\n height: 3.3rem;\n margin: 0;\n width: calc(100% - 4.5rem);\n}\n\n@media screen and (min-width: 481px) {\n .usa-search [type=search],\n .usa-search .usa-search-input {\n width: calc(100% - 8.5rem);\n }\n}\n\n.usa-search [type=submit],\n.usa-search .usa-search-submit {\n background-image: url(\"../img/search.png\");\n background-image: url(\"../img/search.svg\");\n background-position: 50%;\n background-repeat: no-repeat;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: 3.3rem;\n margin: 0;\n padding: 0;\n width: 4.5rem;\n}\n\n@media screen and (min-width: 481px) {\n .usa-search [type=submit],\n .usa-search .usa-search-submit {\n background-image: none;\n width: 8.5rem;\n }\n}\n\n.usa-search .usa-search-submit-text {\n display: none;\n}\n\n@media screen and (min-width: 481px) {\n .usa-search .usa-search-submit-text {\n display: block;\n }\n}\n\n@media screen and (min-width: 481px) {\n .usa-search.usa-search-big [type=search],\n .usa-search.usa-search-big .usa-search-input {\n font-size: 1.7rem;\n height: 4.4rem;\n width: calc(100% - 11.6rem);\n }\n .usa-search.usa-search-big [type=submit],\n .usa-search.usa-search-big .usa-search-submit {\n font-size: 2rem;\n height: 4.4rem;\n width: 11.6rem;\n }\n}\n\n@media screen and (min-width: 481px) {\n .usa-search.usa-search-small [type=search],\n .usa-search.usa-search-small .usa-search-input {\n width: calc(100% - 4.5rem);\n }\n .usa-search.usa-search-small [type=submit],\n .usa-search.usa-search-small .usa-search-submit {\n background-image: url(\"../img/search.png\");\n background-image: url(\"../img/search.svg\");\n background-position: 50%;\n background-repeat: no-repeat;\n width: 4.5rem;\n }\n}\n\n@media screen and (max-width: 950px) {\n .usa-search.usa-search-small.usa-sr-only {\n left: auto;\n position: relative;\n }\n}\n\n.usa-section {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n@media screen and (min-width: 600px) {\n .usa-section {\n padding-top: 6rem;\n padding-bottom: 6rem;\n }\n}\n\n.usa-section-light {\n background-color: #f1f1f1;\n}\n\n.usa-section-dark {\n background-color: #112e51;\n color: #ffffff;\n}\n\n.usa-section-dark h1,\n.usa-section-dark h2,\n.usa-section-dark h3,\n.usa-section-dark h4,\n.usa-section-dark h5,\n.usa-section-dark h6 {\n color: #02bfe7;\n}\n\n.usa-section-dark p {\n color: #ffffff;\n}\n\n.usa-section-dark a {\n color: #d6d7d9;\n}\n\n.usa-section-dark a:hover {\n color: #ffffff;\n}\n\n.usa-sidenav-list {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n}\n\n.usa-sidenav-list > li {\n margin-bottom: 0;\n}\n\n.usa-sidenav-list > li {\n background-color: transparent;\n border-top: 1px solid #5b616b;\n font-size: 1.7rem;\n}\n\n.usa-sidenav-list > li:first-child {\n border-top: none;\n}\n\n.usa-sidenav-list a {\n border: none;\n color: #212121;\n display: block;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", \"Helvetica\", \"Roboto\", \"Arial\", sans-serif;\n line-height: 1.3;\n padding: 0.85rem 1rem 0.85rem 1.8rem;\n text-decoration: none;\n}\n\n.usa-sidenav-list a:hover {\n background-color: #f1f1f1;\n color: #0071bc;\n text-decoration: none;\n}\n\n.usa-sidenav-list a:focus {\n position: relative;\n z-index: 1;\n}\n\n.usa-sidenav-list a.usa-current {\n /* stylelint-disable-line selector-no-qualifying-type */\n border-left: 0.4rem solid #0071bc;\n color: #0071bc;\n font-weight: 700;\n padding-left: 1.4rem;\n}\n\n.usa-sidenav-sub_list {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n padding-left: 0;\n margin: 0;\n width: 100%;\n}\n\n.usa-sidenav-sub_list > li {\n margin-bottom: 0;\n}\n\n.usa-sidenav-sub_list li {\n border: none;\n font-size: 1.5rem;\n}\n\n.usa-sidenav-sub_list a {\n padding-left: 2.8rem;\n line-height: 1.3;\n}\n\n.usa-sidenav-sub_list a:hover, .usa-sidenav-sub_list a.usa-current {\n /* stylelint-disable-line selector-no-qualifying-type */\n border: none;\n padding-left: 2.8rem;\n}\n\n.usa-sidenav-sub_list .usa-sidenav-sub_list a {\n padding-left: 3.8rem;\n}\n\n.usa-sidenav-sub_list .usa-sidenav-sub_list a:hover {\n padding-left: 3.8rem;\n}\n\n.usa-skipnav {\n background: transparent;\n color: #212121;\n left: 0;\n padding: 1rem 1.5rem;\n position: absolute;\n top: -4.2rem;\n transition: all 0.2s ease-in-out;\n z-index: 100;\n}\n\n.usa-skipnav:focus {\n background: #ffffff;\n left: 0;\n outline: 0;\n position: absolute;\n top: 0;\n transition: all 0.2s ease-in-out;\n}\n"]}
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="216px" height="146px" viewBox="0 0 216 146" enable-background="new 0 0 216 146" xml:space="preserve">
6
+ <path d="M162.18,41.592c-5.595-9.586-13.185-17.176-22.771-22.771c-9.588-5.595-20.055-8.392-31.408-8.392
7
+ c-11.352,0-21.821,2.797-31.408,8.392c-9.587,5.594-17.177,13.184-22.772,22.771C48.225,51.179,45.428,61.649,45.428,73
8
+ c0,11.351,2.798,21.82,8.392,31.408c5.595,9.584,13.185,17.176,22.772,22.771c9.587,5.595,20.056,8.392,31.408,8.392
9
+ c11.352,0,21.822-2.797,31.408-8.392c9.586-5.594,17.176-13.185,22.771-22.771c5.594-9.588,8.391-20.058,8.391-31.408
10
+ C170.57,61.649,167.773,51.178,162.18,41.592z M118.43,112.025c0,0.761-0.246,1.398-0.734,1.914s-1.086,0.773-1.793,0.773H100.26
11
+ c-0.706,0-1.331-0.271-1.874-0.814c-0.543-0.543-0.814-1.168-0.814-1.873V96.546c0-0.706,0.271-1.331,0.814-1.874
12
+ c0.543-0.543,1.168-0.814,1.874-0.814h15.643c0.707,0,1.306,0.258,1.793,0.773c0.488,0.518,0.734,1.154,0.734,1.915V112.025z
13
+ M118.266,83.999c-0.055,0.543-0.339,1.019-0.854,1.426c-0.517,0.407-1.154,0.61-1.914,0.61h-15.073
14
+ c-0.761,0-1.413-0.203-1.956-0.61c-0.543-0.407-0.815-0.883-0.815-1.426l-1.385-50.595c0-0.653,0.271-1.141,0.814-1.467
15
+ c0.544-0.434,1.196-0.652,1.956-0.652h17.926c0.761,0,1.412,0.217,1.955,0.652c0.543,0.326,0.813,0.815,0.813,1.467L118.266,83.999z
16
+ "/>
17
+ </svg>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="216px" height="146px" viewBox="0 0 216 146" enable-background="new 0 0 216 146" xml:space="preserve">
6
+ <path d="M162.18,41.592c-5.595-9.586-13.185-17.176-22.771-22.771c-9.588-5.595-20.055-8.392-31.408-8.392
7
+ c-11.352,0-21.822,2.797-31.408,8.392c-9.587,5.594-17.177,13.184-22.772,22.771C48.225,51.179,45.428,61.649,45.428,73
8
+ c0,11.352,2.798,21.82,8.392,31.408c5.595,9.585,13.185,17.176,22.772,22.771c9.587,5.595,20.056,8.392,31.408,8.392
9
+ c11.352,0,21.822-2.797,31.408-8.392c9.586-5.594,17.176-13.185,22.771-22.771c5.594-9.587,8.391-20.057,8.391-31.408
10
+ C170.57,61.648,167.773,51.178,162.18,41.592z M97.572,26.071c0-0.761,0.244-1.385,0.733-1.874c0.489-0.488,1.114-0.733,1.874-0.733
11
+ h15.644c0.76,0,1.385,0.245,1.872,0.733c0.488,0.489,0.734,1.113,0.734,1.874v13.036c0,0.76-0.246,1.385-0.734,1.873
12
+ c-0.487,0.489-1.112,0.733-1.872,0.733h-15.644c-0.76,0-1.385-0.244-1.874-0.733c-0.489-0.488-0.733-1.113-0.733-1.873V26.071z
13
+ M128.857,112.107c0,0.76-0.246,1.385-0.733,1.872c-0.487,0.489-1.112,0.733-1.874,0.733h-36.5c-0.761,0-1.385-0.244-1.874-0.733
14
+ c-0.489-0.488-0.733-1.113-0.733-1.873V99.07c0-0.762,0.244-1.385,0.733-1.874c0.489-0.488,1.114-0.733,1.874-0.733h7.822V70.392
15
+ H89.75c-0.761,0-1.385-0.244-1.874-0.733c-0.489-0.488-0.733-1.113-0.733-1.874V54.75c0-0.761,0.244-1.385,0.733-1.874
16
+ c0.489-0.489,1.114-0.733,1.874-0.733h26.073c0.76,0,1.385,0.244,1.872,0.733c0.488,0.489,0.734,1.113,0.734,1.874v41.714h7.82
17
+ c0.761,0,1.386,0.245,1.874,0.733c0.487,0.488,0.733,1.113,0.733,1.874V112.107z"/>
18
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2
+ width="216px" height="216px" viewBox="0 0 216 216" xml:space="preserve">
3
+ <path d="M162.18,41.592c-5.595-9.586-13.185-17.176-22.771-22.771c-9.588-5.595-20.055-8.392-31.408-8.392
4
+ c-11.352,0-21.822,2.797-31.408,8.392c-9.587,5.594-17.177,13.184-22.772,22.771C48.225,51.179,45.428,61.649,45.428,73
5
+ c0,11.352,2.798,21.82,8.392,31.408c5.595,9.585,13.185,17.176,22.772,22.771c9.587,5.595,20.056,8.392,31.408,8.392
6
+ c11.352,0,21.822-2.797,31.408-8.392c9.586-5.594,17.176-13.185,22.771-22.771c5.594-9.587,8.391-20.057,8.391-31.408
7
+ C170.57,61.648,167.773,51.178,162.18,41.592z M148.572,63.468l-44.239,44.239c-1.032,1.032-2.281,1.549-3.748,1.549
8
+ c-1.412,0-2.634-0.517-3.666-1.549L67.425,78.215c-0.977-0.979-1.466-2.199-1.466-3.666c0-1.521,0.488-2.771,1.466-3.749
9
+ l7.414-7.332c1.033-1.032,2.254-1.548,3.667-1.548s2.635,0.516,3.667,1.548l18.413,18.413l33.241-33.16
10
+ c1.032-1.032,2.254-1.548,3.666-1.548c1.411,0,2.635,0.516,3.666,1.548l7.414,7.333c0.979,0.977,1.467,2.226,1.467,3.747
11
+ C150.04,61.268,149.552,62.49,148.572,63.468z"/>
12
+ </svg>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="216px" height="146px" viewBox="0 0 216 146" enable-background="new 0 0 216 146" xml:space="preserve">
6
+ <path d="M179.695,125.388L117.126,10.673c-0.924-1.684-2.2-3.015-3.832-3.992c-1.628-0.978-3.394-1.467-5.295-1.467
7
+ c-1.901,0-3.667,0.49-5.296,1.467s-2.906,2.308-3.829,3.992L36.303,125.388c-1.901,3.423-1.847,6.845,0.163,10.267
8
+ c0.924,1.574,2.187,2.824,3.789,3.746c1.603,0.924,3.327,1.387,5.174,1.387H170.57c1.849,0,3.572-0.463,5.175-1.387
9
+ c1.603-0.922,2.864-2.172,3.789-3.746C181.544,132.232,181.598,128.811,179.695,125.388z M118.43,117.24
10
+ c0,0.76-0.259,1.398-0.773,1.914c-0.516,0.516-1.127,0.773-1.834,0.773H100.18c-0.706,0-1.317-0.257-1.833-0.773
11
+ c-0.516-0.517-0.774-1.154-0.774-1.914v-15.48c0-0.76,0.258-1.397,0.774-1.914c0.516-0.516,1.126-0.773,1.833-0.773h15.642
12
+ c0.707,0,1.318,0.257,1.834,0.773c0.515,0.517,0.773,1.154,0.773,1.914V117.24z M118.268,86.77
13
+ c-0.056,0.543-0.341,0.991-0.856,1.344c-0.517,0.354-1.154,0.529-1.915,0.529h-15.073c-0.76,0-1.412-0.176-1.955-0.529
14
+ c-0.544-0.354-0.815-0.801-0.815-1.346l-1.385-37.231c0-0.761,0.272-1.331,0.815-1.711c0.706-0.597,1.358-0.896,1.956-0.896h17.924
15
+ c0.598,0,1.25,0.298,1.956,0.896c0.543,0.38,0.813,0.896,0.813,1.548L118.268,86.77z"/>
16
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 76.51L267.808 62.24c-1.902-1.906-4.093-2.856-6.57-2.856-2.47 0-4.66.95-6.563 2.856L142.465 174.44 30.263 62.24c-1.903-1.905-4.093-2.855-6.567-2.855-2.475 0-4.665.95-6.567 2.856L2.856 76.516C.95 78.417 0 80.607 0 83.082c0 2.473.953 4.663 2.856 6.565L135.9 222.693c1.9 1.903 4.092 2.854 6.566 2.854s4.66-.95 6.562-2.854L282.082 89.647c1.902-1.903 2.847-4.093 2.847-6.565 0-2.475-.946-4.665-2.848-6.57z" fill="#ffffff"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 76.51L267.808 62.24c-1.902-1.906-4.093-2.856-6.57-2.856-2.47 0-4.66.95-6.563 2.856L142.465 174.44 30.263 62.24c-1.903-1.905-4.093-2.855-6.567-2.855-2.475 0-4.665.95-6.567 2.856L2.856 76.516C.95 78.417 0 80.607 0 83.082c0 2.473.953 4.663 2.856 6.565L135.9 222.693c1.9 1.903 4.092 2.854 6.566 2.854s4.66-.95 6.562-2.854L282.082 89.647c1.902-1.903 2.847-4.093 2.847-6.565 0-2.475-.946-4.665-2.848-6.57z" fill="#205493"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 76.51L267.808 62.24c-1.902-1.906-4.093-2.856-6.57-2.856-2.47 0-4.66.95-6.563 2.856L142.465 174.44 30.263 62.24c-1.903-1.905-4.093-2.855-6.567-2.855-2.475 0-4.665.95-6.567 2.856L2.856 76.516C.95 78.417 0 80.607 0 83.082c0 2.473.953 4.663 2.856 6.565L135.9 222.693c1.9 1.903 4.092 2.854 6.566 2.854s4.66-.95 6.562-2.854L282.082 89.647c1.902-1.903 2.847-4.093 2.847-6.565 0-2.475-.946-4.665-2.848-6.57z" fill="#0071bc"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 76.51L267.808 62.24c-1.902-1.906-4.093-2.856-6.57-2.856-2.47 0-4.66.95-6.563 2.856L142.465 174.44 30.263 62.24c-1.903-1.905-4.093-2.855-6.567-2.855-2.475 0-4.665.95-6.567 2.856L2.856 76.516C.95 78.417 0 80.607 0 83.082c0 2.473.953 4.663 2.856 6.565L135.9 222.693c1.9 1.903 4.092 2.854 6.566 2.854s4.66-.95 6.562-2.854L282.082 89.647c1.902-1.903 2.847-4.093 2.847-6.565 0-2.475-.946-4.665-2.848-6.57z" fill="#5b616b"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 195.285L149.028 62.24c-1.9-1.903-4.088-2.856-6.562-2.856s-4.665.953-6.567 2.856L2.855 195.285C.95 197.19 0 199.378 0 201.853c0 2.474.953 4.664 2.856 6.566l14.272 14.27c1.903 1.903 4.093 2.854 6.567 2.854s4.664-.95 6.567-2.854l112.204-112.202 112.208 112.21c1.902 1.902 4.093 2.847 6.563 2.847 2.478 0 4.668-.95 6.57-2.848l14.274-14.277c1.903-1.902 2.848-4.093 2.848-6.566 0-2.476-.944-4.666-2.846-6.57z" fill="#205493"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 284.929 284.929"><path d="M282.082 195.285L149.028 62.24c-1.9-1.903-4.088-2.856-6.562-2.856s-4.665.953-6.567 2.856L2.855 195.285C.95 197.19 0 199.378 0 201.853c0 2.474.953 4.664 2.856 6.566l14.272 14.27c1.903 1.903 4.093 2.854 6.567 2.854s4.664-.95 6.567-2.854l112.204-112.202 112.208 112.21c1.902 1.902 4.093 2.847 6.563 2.847 2.478 0 4.668-.95 6.57-2.848l14.274-14.277c1.903-1.902 2.848-4.093 2.848-6.566 0-2.476-.944-4.666-2.846-6.57z" fill="#0071bc"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 444.8 444.8"><path d="M248.1 352L434 165.9c7.2-6.9 10.8-15.4 10.8-25.7 0-10.3-3.6-18.8-10.8-25.7l-21.4-21.7c-7-7-15.6-10.6-25.7-10.6-9.9 0-18.6 3.5-26 10.6L222.4 231.5 83.7 92.8c-7-7-15.6-10.6-25.7-10.6-9.9 0-18.6 3.5-26 10.6l-21.4 21.7c-7 7-10.6 15.6-10.6 25.7s3.5 18.7 10.6 25.7L196.4 352c7.4 7 16.1 10.6 26 10.6 10.1 0 18.7-3.5 25.7-10.6z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="444.819" height="444.819" viewBox="0 0 444.819 444.819"><path d="M352.025 196.712L165.885 10.848C159.028 3.615 150.468 0 140.185 0s-18.84 3.62-25.696 10.848l-21.7 21.416c-7.045 7.043-10.567 15.604-10.567 25.692 0 9.897 3.52 18.56 10.566 25.98L231.544 222.41 92.785 361.168c-7.04 7.043-10.563 15.604-10.563 25.693 0 9.9 3.52 18.566 10.564 25.98l21.7 21.417c7.043 7.043 15.612 10.564 25.697 10.564 10.09 0 18.656-3.52 25.697-10.564L352.025 248.39c7.046-7.423 10.57-16.084 10.57-25.98.002-10.09-3.524-18.655-10.57-25.698z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 339.177 339.177"><path d="M247.244 169.59l83.938-83.938c5.332-5.327 7.994-11.798 7.994-19.414 0-7.614-2.67-14.084-7.994-19.414l-38.827-38.83c-5.33-5.33-11.8-7.994-19.41-7.994-7.618 0-14.086 2.665-19.418 7.993L169.59 91.93 85.65 7.994C80.326 2.665 73.855 0 66.238 0c-7.61 0-14.083 2.665-19.414 7.993l-38.83 38.83C2.668 52.15 0 58.624 0 66.24c0 7.616 2.664 14.084 7.994 19.414L91.93 169.59 7.995 253.528C2.667 258.858 0 265.328 0 272.945c0 7.61 2.664 14.082 7.994 19.41l38.83 38.828c5.33 5.332 11.803 7.994 19.414 7.994 7.616 0 14.084-2.67 19.414-7.994l83.94-83.938 83.943 83.938c5.328 5.332 11.793 7.994 19.417 7.994 7.61 0 14.082-2.67 19.41-7.994l38.82-38.828c5.333-5.324 7.995-11.8 7.995-19.41 0-7.618-2.662-14.086-7.994-19.417l-83.94-83.938z" fill="#5b616b"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 216 146"><path fill="#fff" d="M168.86 37.966l-11.08-11.08c-1.52-1.52-3.367-2.28-5.54-2.28-2.172 0-4.02.76-5.54 2.28L93.254 80.414 69.3 56.38c-1.52-1.522-3.367-2.282-5.54-2.282-2.172 0-4.02.76-5.54 2.28L47.14 67.46c-1.52 1.522-2.28 3.37-2.28 5.542 0 2.172.76 4.02 2.28 5.54l29.493 29.493 11.08 11.08c1.52 1.52 3.368 2.28 5.54 2.28 2.173 0 4.02-.76 5.54-2.28l11.082-11.08L168.86 49.05c1.52-1.52 2.283-3.37 2.283-5.54 0-2.174-.76-4.02-2.28-5.54z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 216 146"><path fill="#0071bc" d="M168.86 37.966l-11.08-11.08c-1.52-1.52-3.367-2.28-5.54-2.28-2.172 0-4.02.76-5.54 2.28L93.254 80.414 69.3 56.38c-1.52-1.522-3.367-2.282-5.54-2.282-2.172 0-4.02.76-5.54 2.28L47.14 67.46c-1.52 1.522-2.28 3.37-2.28 5.542 0 2.172.76 4.02 2.28 5.54l29.493 29.493 11.08 11.08c1.52 1.52 3.368 2.28 5.54 2.28 2.173 0 4.02-.76 5.54-2.28l11.082-11.08L168.86 49.05c1.52-1.52 2.283-3.37 2.283-5.54 0-2.174-.76-4.02-2.28-5.54z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="511.626" height="511.627" viewBox="0 0 511.626 511.627"><g fill="#ffffff"><path d="M392.857 292.354h-18.274c-2.67 0-4.86.855-6.563 2.573-1.718 1.708-2.573 3.897-2.573 6.563v91.36c0 12.564-4.47 23.316-13.415 32.263-8.945 8.945-19.7 13.414-32.264 13.414H82.224c-12.562 0-23.317-4.47-32.264-13.414-8.945-8.946-13.417-19.698-13.417-32.262V155.31c0-12.562 4.47-23.313 13.417-32.26 8.947-8.946 19.702-13.417 32.264-13.417h200.994c2.67 0 4.86-.86 6.57-2.57 1.71-1.713 2.566-3.9 2.566-6.567V82.22c0-2.66-.855-4.852-2.566-6.562-1.71-1.713-3.9-2.568-6.57-2.568H82.224c-22.648 0-42.016 8.042-58.102 24.125C8.042 113.297 0 132.665 0 155.313v237.542c0 22.647 8.042 42.018 24.123 58.095 16.086 16.084 35.454 24.13 58.102 24.13h237.543c22.647 0 42.017-8.046 58.1-24.13 16.086-16.077 24.128-35.447 24.128-58.095v-91.358c0-2.67-.856-4.86-2.574-6.57-1.713-1.718-3.903-2.573-6.565-2.573z"/><path d="M506.2 41.97c-3.618-3.616-7.906-5.423-12.85-5.423H347.17c-4.947 0-9.232 1.807-12.846 5.424-3.617 3.616-5.428 7.9-5.428 12.848s1.81 9.233 5.428 12.85l50.247 50.248-186.146 186.15c-1.906 1.904-2.856 4.094-2.856 6.564 0 2.48.953 4.668 2.856 6.57l32.548 32.545c1.903 1.903 4.093 2.852 6.567 2.852s4.664-.948 6.566-2.852l186.148-186.148 50.25 50.248c3.615 3.617 7.9 5.426 12.848 5.426s9.233-1.808 12.85-5.425c3.618-3.616 5.425-7.898 5.425-12.847V54.818c0-4.952-1.814-9.232-5.428-12.847z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="511.626" height="511.627" viewBox="0 0 511.626 511.627"><g fill="#d6d7d9"><path d="M392.857 292.354h-18.274c-2.67 0-4.86.855-6.563 2.573-1.718 1.708-2.573 3.897-2.573 6.563v91.36c0 12.564-4.47 23.316-13.415 32.263-8.945 8.945-19.7 13.414-32.264 13.414H82.224c-12.562 0-23.317-4.47-32.264-13.414-8.945-8.946-13.417-19.698-13.417-32.262V155.31c0-12.562 4.47-23.313 13.417-32.26 8.947-8.946 19.702-13.417 32.264-13.417h200.994c2.67 0 4.86-.86 6.57-2.57 1.71-1.713 2.566-3.9 2.566-6.567V82.22c0-2.66-.855-4.852-2.566-6.562-1.71-1.713-3.9-2.568-6.57-2.568H82.224c-22.648 0-42.016 8.042-58.102 24.125C8.042 113.297 0 132.665 0 155.313v237.542c0 22.647 8.042 42.018 24.123 58.095 16.086 16.084 35.454 24.13 58.102 24.13h237.543c22.647 0 42.017-8.046 58.1-24.13 16.086-16.077 24.128-35.447 24.128-58.095v-91.358c0-2.67-.856-4.86-2.574-6.57-1.713-1.718-3.903-2.573-6.565-2.573z"/><path d="M506.2 41.97c-3.618-3.616-7.906-5.423-12.85-5.423H347.17c-4.947 0-9.232 1.807-12.846 5.424-3.617 3.616-5.428 7.9-5.428 12.848s1.81 9.233 5.428 12.85l50.247 50.248-186.146 186.15c-1.906 1.904-2.856 4.094-2.856 6.564 0 2.48.953 4.668 2.856 6.57l32.548 32.545c1.903 1.903 4.093 2.852 6.567 2.852s4.664-.948 6.566-2.852l186.148-186.148 50.25 50.248c3.615 3.617 7.9 5.426 12.848 5.426s9.233-1.808 12.85-5.425c3.618-3.616 5.425-7.898 5.425-12.847V54.818c0-4.952-1.814-9.232-5.428-12.847z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="511.626" height="511.627" viewBox="0 0 511.626 511.627"><g fill="#205493"><path d="M392.857 292.354h-18.274c-2.67 0-4.86.855-6.563 2.573-1.718 1.708-2.573 3.897-2.573 6.563v91.36c0 12.564-4.47 23.316-13.415 32.263-8.945 8.945-19.7 13.414-32.264 13.414H82.224c-12.562 0-23.317-4.47-32.264-13.414-8.945-8.946-13.417-19.698-13.417-32.262V155.31c0-12.562 4.47-23.313 13.417-32.26 8.947-8.946 19.702-13.417 32.264-13.417h200.994c2.67 0 4.86-.86 6.57-2.57 1.71-1.713 2.566-3.9 2.566-6.567V82.22c0-2.66-.855-4.852-2.566-6.562-1.71-1.713-3.9-2.568-6.57-2.568H82.224c-22.648 0-42.016 8.042-58.102 24.125C8.042 113.297 0 132.665 0 155.313v237.542c0 22.647 8.042 42.018 24.123 58.095 16.086 16.084 35.454 24.13 58.102 24.13h237.543c22.647 0 42.017-8.046 58.1-24.13 16.086-16.077 24.128-35.447 24.128-58.095v-91.358c0-2.67-.856-4.86-2.574-6.57-1.713-1.718-3.903-2.573-6.565-2.573z"/><path d="M506.2 41.97c-3.618-3.616-7.906-5.423-12.85-5.423H347.17c-4.947 0-9.232 1.807-12.846 5.424-3.617 3.616-5.428 7.9-5.428 12.848s1.81 9.233 5.428 12.85l50.247 50.248-186.146 186.15c-1.906 1.904-2.856 4.094-2.856 6.564 0 2.48.953 4.668 2.856 6.57l32.548 32.545c1.903 1.903 4.093 2.852 6.567 2.852s4.664-.948 6.566-2.852l186.148-186.148 50.25 50.248c3.615 3.617 7.9 5.426 12.848 5.426s9.233-1.808 12.85-5.425c3.618-3.616 5.425-7.898 5.425-12.847V54.818c0-4.952-1.814-9.232-5.428-12.847z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="511.626" height="511.627" viewBox="0 0 511.626 511.627"><g fill="#0071bc"><path d="M392.857 292.354h-18.274c-2.67 0-4.86.855-6.563 2.573-1.718 1.708-2.573 3.897-2.573 6.563v91.36c0 12.564-4.47 23.316-13.415 32.263-8.945 8.945-19.7 13.414-32.264 13.414H82.224c-12.562 0-23.317-4.47-32.264-13.414-8.945-8.946-13.417-19.698-13.417-32.262V155.31c0-12.562 4.47-23.313 13.417-32.26 8.947-8.946 19.702-13.417 32.264-13.417h200.994c2.67 0 4.86-.86 6.57-2.57 1.71-1.713 2.566-3.9 2.566-6.567V82.22c0-2.66-.855-4.852-2.566-6.562-1.71-1.713-3.9-2.568-6.57-2.568H82.224c-22.648 0-42.016 8.042-58.102 24.125C8.042 113.297 0 132.665 0 155.313v237.542c0 22.647 8.042 42.018 24.123 58.095 16.086 16.084 35.454 24.13 58.102 24.13h237.543c22.647 0 42.017-8.046 58.1-24.13 16.086-16.077 24.128-35.447 24.128-58.095v-91.358c0-2.67-.856-4.86-2.574-6.57-1.713-1.718-3.903-2.573-6.565-2.573z"/><path d="M506.2 41.97c-3.618-3.616-7.906-5.423-12.85-5.423H347.17c-4.947 0-9.232 1.807-12.846 5.424-3.617 3.616-5.428 7.9-5.428 12.848s1.81 9.233 5.428 12.85l50.247 50.248-186.146 186.15c-1.906 1.904-2.856 4.094-2.856 6.564 0 2.48.953 4.668 2.856 6.57l32.548 32.545c1.903 1.903 4.093 2.852 6.567 2.852s4.664-.948 6.566-2.852l186.148-186.148 50.25 50.248c3.615 3.617 7.9 5.426 12.848 5.426s9.233-1.808 12.85-5.425c3.618-3.616 5.425-7.898 5.425-12.847V54.818c0-4.952-1.814-9.232-5.428-12.847z"/></g></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"><defs><style>.cls-1{fill:#007faa;}.cls-2{fill:none;stroke:#046b99;stroke-miterlimit:10;}</style></defs><title>dot gov icon</title><path class="cls-1" d="M36.5,20.91v1.36H35.15a0.71,0.71,0,0,1-.73.68H18.23a0.71,0.71,0,0,1-.73-0.68H16.14V20.91l10.18-4.07Zm0,13.57v1.36H16.14V34.48a0.71,0.71,0,0,1,.73-0.68h18.9A0.71,0.71,0,0,1,36.5,34.48ZM21.57,23.62v8.14h1.36V23.62h2.71v8.14H27V23.62h2.71v8.14h1.36V23.62h2.71v8.14h0.63a0.71,0.71,0,0,1,.73.68v0.68H17.5V32.45a0.71,0.71,0,0,1,.73-0.68h0.63V23.62h2.71Z"/><circle class="cls-2" cx="27" cy="27.12" r="26"/></svg>
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"><defs><style>.cls-1{fill:#549500;}.cls-2{fill:none;stroke:#458600;stroke-miterlimit:10;}</style></defs><title>https icon</title><path class="cls-1" d="M34.72,34.84a1.29,1.29,0,0,1-1.29,1.29H20.57a1.29,1.29,0,0,1-1.29-1.29V27.12a1.29,1.29,0,0,1,1.29-1.29H21V23.26a6,6,0,0,1,12,0v2.57h0.43a1.29,1.29,0,0,1,1.29,1.29v7.72Zm-4.29-9V23.26a3.43,3.43,0,0,0-6.86,0v2.57h6.86Z"/><circle class="cls-2" cx="27" cy="27.12" r="26"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="401.991" height="401.991" viewBox="0 0 401.991 401.991"><path fill="#5B616B" d="M394 154.174c-5.33-5.33-11.806-7.995-19.417-7.995H27.406c-7.61 0-14.084 2.66-19.414 7.99C2.662 159.5 0 165.97 0 173.586v54.82c0 7.617 2.662 14.086 7.992 19.41 5.33 5.332 11.803 7.994 19.414 7.994h347.176c7.61 0 14.086-2.66 19.417-7.993 5.32-5.324 7.99-11.793 7.99-19.41v-54.82c0-7.615-2.66-14.087-7.99-19.413z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="401.991" height="401.991" viewBox="0 0 401.991 401.991"><path d="M394 154.174c-5.33-5.33-11.806-7.995-19.417-7.995H27.406c-7.61 0-14.084 2.66-19.414 7.99C2.662 159.5 0 165.97 0 173.586v54.82c0 7.617 2.662 14.086 7.992 19.41 5.33 5.332 11.803 7.994 19.414 7.994h347.176c7.61 0 14.086-2.66 19.417-7.993 5.32-5.324 7.99-11.793 7.99-19.41v-54.82c0-7.615-2.66-14.087-7.99-19.413z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="401.994" height="401.994" viewBox="0 0 401.994 401.994"><path fill="#5B616B" d="M394 154.175c-5.33-5.33-11.806-7.994-19.417-7.994H255.81V27.41c0-7.61-2.665-14.084-7.993-19.414C242.487 2.666 236.02 0 228.397 0h-54.81c-7.613 0-14.085 2.663-19.415 7.993-5.33 5.33-7.994 11.803-7.994 19.414v118.775H27.408c-7.612 0-14.085 2.664-19.415 7.994S0 165.973 0 173.59v54.818c0 7.618 2.662 14.086 7.992 19.41 5.33 5.333 11.803 7.995 19.414 7.995h118.77V374.59c0 7.61 2.665 14.09 7.995 19.417 5.33 5.325 11.806 7.987 19.418 7.987H228.4c7.618 0 14.087-2.662 19.418-7.987 5.332-5.33 7.994-11.806 7.994-19.417V255.813h118.77c7.618 0 14.09-2.662 19.417-7.994 5.325-5.33 7.99-11.797 7.99-19.415v-54.82c0-7.615-2.66-14.086-7.993-19.413z"/></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="401.994" height="401.994" viewBox="0 0 401.994 401.994"><path d="M394 154.175c-5.33-5.33-11.806-7.994-19.417-7.994H255.81V27.41c0-7.61-2.665-14.084-7.993-19.414C242.487 2.666 236.02 0 228.397 0h-54.81c-7.613 0-14.085 2.663-19.415 7.993-5.33 5.33-7.994 11.803-7.994 19.414v118.775H27.408c-7.612 0-14.085 2.664-19.415 7.994S0 165.973 0 173.59v54.818c0 7.618 2.662 14.086 7.992 19.41 5.33 5.333 11.803 7.995 19.414 7.995h118.77V374.59c0 7.61 2.665 14.09 7.995 19.417 5.33 5.325 11.806 7.987 19.418 7.987H228.4c7.618 0 14.087-2.662 19.418-7.987 5.332-5.33 7.994-11.806 7.994-19.417V255.813h118.77c7.618 0 14.09-2.662 19.417-7.994 5.325-5.33 7.99-11.797 7.99-19.415v-54.82c0-7.615-2.66-14.086-7.993-19.413z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 216 146"><path fill="#5b616b" d="M172.77 123.025L144.825 95.08c6.735-9.722 10.104-20.56 10.104-32.508 0-7.767-1.51-15.195-4.527-22.283-3.014-7.09-7.088-13.2-12.22-18.336s-11.243-9.207-18.33-12.22c-7.09-3.016-14.52-4.523-22.286-4.523-7.768 0-15.196 1.508-22.284 4.523-7.09 3.014-13.2 7.088-18.332 12.22-5.132 5.134-9.206 11.245-12.22 18.333-3.015 7.088-4.522 14.515-4.522 22.282 0 7.766 1.507 15.192 4.522 22.282 3.014 7.088 7.088 13.197 12.22 18.33 5.134 5.134 11.245 9.207 18.333 12.222 7.09 3.015 14.516 4.522 22.283 4.522 11.95 0 22.786-3.37 32.51-10.105l27.943 27.863c1.955 2.064 4.397 3.096 7.332 3.096 2.824 0 5.27-1.03 7.332-3.096 2.064-2.063 3.096-4.508 3.096-7.332 0-2.877-1.002-5.322-3.013-7.33zm-49.413-34.668C116.214 95.5 107.62 99.07 97.57 99.07c-10.048 0-18.643-3.57-25.786-10.713C64.64 81.214 61.07 72.62 61.07 62.57c0-10.047 3.572-18.643 10.714-25.785C78.926 29.642 87.522 26.07 97.57 26.07c10.048 0 18.643 3.573 25.787 10.715 7.143 7.142 10.715 15.738 10.715 25.786 0 10.05-3.573 18.647-10.715 25.79z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 216 146"><path fill="#fff" d="M172.77 123.025L144.825 95.08c6.735-9.722 10.104-20.56 10.104-32.508 0-7.767-1.51-15.195-4.527-22.283-3.014-7.09-7.088-13.2-12.22-18.336s-11.243-9.207-18.33-12.22c-7.09-3.016-14.52-4.523-22.286-4.523-7.768 0-15.196 1.508-22.284 4.523-7.09 3.014-13.2 7.088-18.332 12.22-5.132 5.134-9.206 11.245-12.22 18.333-3.015 7.088-4.522 14.515-4.522 22.282 0 7.766 1.507 15.192 4.522 22.282 3.014 7.088 7.088 13.197 12.22 18.33 5.134 5.134 11.245 9.207 18.333 12.222 7.09 3.015 14.516 4.522 22.283 4.522 11.95 0 22.786-3.37 32.51-10.105l27.943 27.863c1.955 2.064 4.397 3.096 7.332 3.096 2.824 0 5.27-1.03 7.332-3.096 2.064-2.063 3.096-4.508 3.096-7.332 0-2.877-1.002-5.322-3.013-7.33zm-49.413-34.668C116.214 95.5 107.62 99.07 97.57 99.07c-10.048 0-18.643-3.57-25.786-10.713C64.64 81.214 61.07 72.62 61.07 62.57c0-10.047 3.572-18.643 10.714-25.785C78.926 29.642 87.522 26.07 97.57 26.07c10.048 0 18.643 3.573 25.787 10.715 7.143 7.142 10.715 15.738 10.715 25.786 0 10.05-3.573 18.647-10.715 25.79z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="216" height="146" viewBox="0 0 216 146"><path d="M118.348 49.86V38.293c0-1.737.08-3.082.243-4.032.165-.95.53-1.886 1.104-2.81.57-.923 1.494-1.56 2.77-1.914 1.277-.354 2.975-.53 5.094-.53h11.568V5.866H120.63c-10.702 0-18.387 2.54-23.058 7.617-4.67 5.08-7.006 12.56-7.006 22.446v13.93H76.714V73h13.85v67.134h27.784V73h18.494l2.444-23.14h-20.938z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="216" height="146" viewBox="0 0 216 146"><path d="M66.28 99.072c-4.347 0-8.04 1.52-11.082 4.562-3.04 3.042-4.562 6.735-4.562 11.08 0 4.347 1.52 8.04 4.562 11.08 3.042 3.042 6.736 4.563 11.08 4.563 4.346 0 8.04-1.52 11.08-4.562 3.042-3.042 4.563-6.734 4.563-11.08s-1.52-8.04-4.56-11.08c-3.04-3.042-6.733-4.563-11.08-4.563zm36.01-20.37c-6.138-6.19-13.172-11.12-21.102-14.786-7.93-3.667-16.24-5.853-24.93-6.56h-.408c-1.412 0-2.58.463-3.503 1.386-1.14.977-1.71 2.254-1.71 3.83V73.57c0 1.357.447 2.525 1.343 3.503.896.98 2.023 1.522 3.38 1.63 12.44 1.195 23.07 6.206 31.897 15.032 8.826 8.825 13.837 19.458 15.032 31.896.106 1.36.65 2.488 1.63 3.384.975.897 2.142 1.346 3.5 1.346h11c1.574 0 2.85-.57 3.83-1.71 1.03-1.09 1.492-2.393 1.385-3.914-.707-8.69-2.894-17-6.56-24.93-3.666-7.93-8.595-14.964-14.787-21.102z"/><path d="M155.573 84.04c-5.812-13.01-13.796-24.565-23.953-34.668-10.103-10.157-21.658-18.14-34.667-23.953-13.008-5.814-26.628-9.074-40.86-9.78h-.243c-1.412 0-2.607.49-3.585 1.467-1.086.976-1.63 2.226-1.63 3.747v11.65c0 1.358.477 2.54 1.427 3.544s2.104 1.534 3.462 1.59c11.678.706 22.772 3.477 33.282 8.31 10.51 4.835 19.635 11.12 27.375 18.86 7.74 7.74 14.03 16.866 18.86 27.376 4.837 10.512 7.58 21.604 8.23 33.282.057 1.357.586 2.512 1.59 3.462 1.006.95 2.215 1.427 3.627 1.427h11.65c1.52 0 2.768-.544 3.747-1.632 1.087-1.086 1.574-2.36 1.468-3.828-.704-14.232-3.964-27.852-9.776-40.86z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="216" height="146" viewBox="0 0 216 146"><path d="M172.2 33.24c-5.05 2.174-10.103 3.53-15.152 4.076 5.703-3.422 9.56-8.256 11.57-14.502-5.216 3.095-10.783 5.213-16.703 6.354-5.215-5.54-11.623-8.31-19.228-8.31-7.278 0-13.483 2.565-18.617 7.698-5.133 5.133-7.7 11.338-7.7 18.616 0 1.955.218 3.965.653 6.03-10.755-.544-20.844-3.246-30.268-8.107-9.424-4.862-17.422-11.34-23.994-19.432-2.39 4.073-3.582 8.5-3.582 13.28 0 4.508 1.06 8.69 3.178 12.547 2.118 3.856 4.97 6.98 8.555 9.37-4.237-.164-8.202-1.278-11.895-3.342v.326c0 6.355 1.996 11.935 5.988 16.743 3.992 4.808 9.03 7.835 15.113 9.084-2.28.6-4.59.9-6.925.9-1.52 0-3.177-.137-4.97-.407 1.685 5.27 4.78 9.6 9.29 12.995 4.507 3.396 9.613 5.146 15.316 5.256-9.56 7.495-20.45 11.243-32.67 11.243-2.336 0-4.454-.107-6.355-.325 12.22 7.876 25.69 11.813 40.41 11.813 9.344 0 18.116-1.48 26.316-4.44 8.203-2.96 15.21-6.924 21.02-11.895 5.812-4.97 10.823-10.686 15.032-17.15 4.21-6.463 7.345-13.21 9.41-20.245 2.064-7.035 3.096-14.08 3.096-21.143 0-1.52-.027-2.66-.082-3.422 5.163-3.746 9.563-8.282 13.2-13.604z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="216" height="146" viewBox="0 0 216 146"><path d="M166.254 75.443c-.705-3.205-2.268-5.893-4.684-8.065-2.418-2.172-5.202-3.45-8.353-3.83-9.993-1.085-25.065-1.628-45.218-1.628-20.155 0-35.2.543-45.14 1.63-3.204.38-6 1.656-8.39 3.828-2.39 2.173-3.967 4.86-4.728 8.065-1.412 6.302-2.118 15.807-2.118 28.517 0 12.927.706 22.433 2.118 28.517.707 3.203 2.27 5.893 4.686 8.064 2.416 2.176 5.2 3.425 8.35 3.75C72.776 145.43 87.85 146 108 146s35.225-.57 45.217-1.71c3.15-.327 5.92-1.576 8.31-3.75 2.392-2.17 3.967-4.86 4.727-8.063 1.412-6.302 2.12-15.807 2.12-28.517-.002-12.927-.71-22.433-2.12-28.517zm-84.162 8.23h-8.718v46.358h-8.147V83.677h-8.555v-7.66h25.42v7.66zm21.997 46.358h-7.254v-4.4c-2.933 3.317-5.704 4.97-8.31 4.97-2.5 0-4.075-1.002-4.726-3.01-.433-1.305-.65-3.288-.65-5.95V89.783h7.25v29.656c0 1.737.027 2.688.082 2.85.163 1.142.733 1.712 1.71 1.712 1.467 0 3.016-1.14 4.645-3.422V89.783h7.25v40.248zm27.7-12.055c0 3.965-.246 6.682-.73 8.15-.928 2.984-2.855 4.478-5.788 4.478-2.607 0-5.133-1.493-7.578-4.478v3.91h-7.25v-54.02h7.25v17.68c2.337-2.93 4.86-4.4 7.578-4.4 2.933 0 4.86 1.523 5.785 4.564.486 1.41.73 4.1.73 8.063v16.048zm27.536-6.68h-14.583v7.088c0 3.75 1.248 5.622 3.747 5.622 1.793 0 2.88-.977 3.26-2.934.108-.542.163-2.2.163-4.97h7.414v1.06c0 2.663-.055 4.237-.163 4.728-.162 1.465-.73 2.932-1.71 4.398-1.956 2.88-4.89 4.318-8.8 4.318-3.748 0-6.68-1.384-8.8-4.153-1.574-2.01-2.362-5.16-2.362-9.45v-14.1c0-4.29.76-7.44 2.28-9.45 2.12-2.77 5.025-4.154 8.72-4.154 3.64 0 6.52 1.384 8.635 4.154 1.468 2.01 2.2 5.16 2.2 9.45v8.392z"/><path d="M121.36 95.895c-1.25 0-2.47.6-3.665 1.793v24.522c1.195 1.194 2.416 1.792 3.666 1.792 2.12 0 3.18-1.818 3.18-5.46v-17.188c0-3.64-1.06-5.46-3.18-5.46zm27.05 0c-2.443 0-3.665 1.847-3.665 5.54v3.747h7.332v-3.748c0-3.694-1.223-5.54-3.666-5.54zM77.368 32.508v22.08h8.147v-22.08L95.372 0h-8.31l-5.54 21.428L75.74 0h-8.636c1.52 4.563 3.286 9.64 5.296 15.236 2.553 7.495 4.21 13.253 4.97 17.272zm28.922 22.65c3.747 0 6.625-1.385 8.635-4.155 1.52-2.01 2.28-5.215 2.28-9.614V27.13c0-4.344-.76-7.522-2.28-9.532-2.01-2.77-4.888-4.155-8.636-4.155-3.64 0-6.495 1.385-8.558 4.155-1.52 2.01-2.28 5.188-2.28 9.533v14.26c0 4.346.76 7.55 2.28 9.615 2.064 2.77 4.915 4.155 8.555 4.155zm-3.505-29.494c0-3.748 1.168-5.622 3.504-5.622s3.5 1.874 3.5 5.622v17.11c0 3.802-1.167 5.702-3.503 5.702s-3.505-1.9-3.505-5.703v-17.11zm25.908 29.494c2.717 0 5.515-1.684 8.393-5.052v4.48h7.414V13.933h-7.414v31.04c-1.63 2.337-3.177 3.504-4.645 3.504-.976 0-1.546-.597-1.71-1.792-.053-.11-.08-1.06-.08-2.852v-29.9h-7.414v32.1c0 2.77.218 4.807.652 6.11.707 2.01 2.31 3.016 4.807 3.016z"/></svg>
@@ -0,0 +1,1831 @@
1
+ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
+ 'use strict';
3
+
4
+ /**
5
+ * Array#filter.
6
+ *
7
+ * @param {Array} arr
8
+ * @param {Function} fn
9
+ * @param {Object=} self
10
+ * @return {Array}
11
+ * @throw TypeError
12
+ */
13
+
14
+ module.exports = function (arr, fn, self) {
15
+ if (arr.filter) return arr.filter(fn, self);
16
+ if (void 0 === arr || null === arr) throw new TypeError();
17
+ if ('function' != typeof fn) throw new TypeError();
18
+ var ret = [];
19
+ for (var i = 0; i < arr.length; i++) {
20
+ if (!hasOwn.call(arr, i)) continue;
21
+ var val = arr[i];
22
+ if (fn.call(self, val, i, arr)) ret.push(val);
23
+ }
24
+ return ret;
25
+ };
26
+
27
+ var hasOwn = Object.prototype.hasOwnProperty;
28
+
29
+ },{}],2:[function(require,module,exports){
30
+ /**
31
+ * array-foreach
32
+ * Array#forEach ponyfill for older browsers
33
+ * (Ponyfill: A polyfill that doesn't overwrite the native method)
34
+ *
35
+ * https://github.com/twada/array-foreach
36
+ *
37
+ * Copyright (c) 2015-2016 Takuto Wada
38
+ * Licensed under the MIT license.
39
+ * https://github.com/twada/array-foreach/blob/master/MIT-LICENSE
40
+ */
41
+ 'use strict';
42
+
43
+ module.exports = function forEach(ary, callback, thisArg) {
44
+ if (ary.forEach) {
45
+ ary.forEach(callback, thisArg);
46
+ return;
47
+ }
48
+ for (var i = 0; i < ary.length; i += 1) {
49
+ callback.call(thisArg, ary[i], i, ary);
50
+ }
51
+ };
52
+
53
+ },{}],3:[function(require,module,exports){
54
+ "use strict";
55
+
56
+ /*
57
+ * classList.js: Cross-browser full element.classList implementation.
58
+ * 1.1.20170427
59
+ *
60
+ * By Eli Grey, http://eligrey.com
61
+ * License: Dedicated to the public domain.
62
+ * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md
63
+ */
64
+
65
+ /*global self, document, DOMException */
66
+
67
+ /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */
68
+
69
+ if ("document" in window.self) {
70
+
71
+ // Full polyfill for browsers with no classList support
72
+ // Including IE < Edge missing SVGElement.classList
73
+ if (!("classList" in document.createElement("_")) || document.createElementNS && !("classList" in document.createElementNS("http://www.w3.org/2000/svg", "g"))) {
74
+
75
+ (function (view) {
76
+
77
+ "use strict";
78
+
79
+ if (!('Element' in view)) return;
80
+
81
+ var classListProp = "classList",
82
+ protoProp = "prototype",
83
+ elemCtrProto = view.Element[protoProp],
84
+ objCtr = Object,
85
+ strTrim = String[protoProp].trim || function () {
86
+ return this.replace(/^\s+|\s+$/g, "");
87
+ },
88
+ arrIndexOf = Array[protoProp].indexOf || function (item) {
89
+ var i = 0,
90
+ len = this.length;
91
+ for (; i < len; i++) {
92
+ if (i in this && this[i] === item) {
93
+ return i;
94
+ }
95
+ }
96
+ return -1;
97
+ }
98
+ // Vendors: please allow content code to instantiate DOMExceptions
99
+ ,
100
+ DOMEx = function DOMEx(type, message) {
101
+ this.name = type;
102
+ this.code = DOMException[type];
103
+ this.message = message;
104
+ },
105
+ checkTokenAndGetIndex = function checkTokenAndGetIndex(classList, token) {
106
+ if (token === "") {
107
+ throw new DOMEx("SYNTAX_ERR", "An invalid or illegal string was specified");
108
+ }
109
+ if (/\s/.test(token)) {
110
+ throw new DOMEx("INVALID_CHARACTER_ERR", "String contains an invalid character");
111
+ }
112
+ return arrIndexOf.call(classList, token);
113
+ },
114
+ ClassList = function ClassList(elem) {
115
+ var trimmedClasses = strTrim.call(elem.getAttribute("class") || ""),
116
+ classes = trimmedClasses ? trimmedClasses.split(/\s+/) : [],
117
+ i = 0,
118
+ len = classes.length;
119
+ for (; i < len; i++) {
120
+ this.push(classes[i]);
121
+ }
122
+ this._updateClassName = function () {
123
+ elem.setAttribute("class", this.toString());
124
+ };
125
+ },
126
+ classListProto = ClassList[protoProp] = [],
127
+ classListGetter = function classListGetter() {
128
+ return new ClassList(this);
129
+ };
130
+ // Most DOMException implementations don't allow calling DOMException's toString()
131
+ // on non-DOMExceptions. Error's toString() is sufficient here.
132
+ DOMEx[protoProp] = Error[protoProp];
133
+ classListProto.item = function (i) {
134
+ return this[i] || null;
135
+ };
136
+ classListProto.contains = function (token) {
137
+ token += "";
138
+ return checkTokenAndGetIndex(this, token) !== -1;
139
+ };
140
+ classListProto.add = function () {
141
+ var tokens = arguments,
142
+ i = 0,
143
+ l = tokens.length,
144
+ token,
145
+ updated = false;
146
+ do {
147
+ token = tokens[i] + "";
148
+ if (checkTokenAndGetIndex(this, token) === -1) {
149
+ this.push(token);
150
+ updated = true;
151
+ }
152
+ } while (++i < l);
153
+
154
+ if (updated) {
155
+ this._updateClassName();
156
+ }
157
+ };
158
+ classListProto.remove = function () {
159
+ var tokens = arguments,
160
+ i = 0,
161
+ l = tokens.length,
162
+ token,
163
+ updated = false,
164
+ index;
165
+ do {
166
+ token = tokens[i] + "";
167
+ index = checkTokenAndGetIndex(this, token);
168
+ while (index !== -1) {
169
+ this.splice(index, 1);
170
+ updated = true;
171
+ index = checkTokenAndGetIndex(this, token);
172
+ }
173
+ } while (++i < l);
174
+
175
+ if (updated) {
176
+ this._updateClassName();
177
+ }
178
+ };
179
+ classListProto.toggle = function (token, force) {
180
+ token += "";
181
+
182
+ var result = this.contains(token),
183
+ method = result ? force !== true && "remove" : force !== false && "add";
184
+
185
+ if (method) {
186
+ this[method](token);
187
+ }
188
+
189
+ if (force === true || force === false) {
190
+ return force;
191
+ } else {
192
+ return !result;
193
+ }
194
+ };
195
+ classListProto.toString = function () {
196
+ return this.join(" ");
197
+ };
198
+
199
+ if (objCtr.defineProperty) {
200
+ var classListPropDesc = {
201
+ get: classListGetter,
202
+ enumerable: true,
203
+ configurable: true
204
+ };
205
+ try {
206
+ objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
207
+ } catch (ex) {
208
+ // IE 8 doesn't support enumerable:true
209
+ // adding undefined to fight this issue https://github.com/eligrey/classList.js/issues/36
210
+ // modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affected
211
+ if (ex.number === undefined || ex.number === -0x7FF5EC54) {
212
+ classListPropDesc.enumerable = false;
213
+ objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
214
+ }
215
+ }
216
+ } else if (objCtr[protoProp].__defineGetter__) {
217
+ elemCtrProto.__defineGetter__(classListProp, classListGetter);
218
+ }
219
+ })(window.self);
220
+ }
221
+
222
+ // There is full or partial native classList support, so just check if we need
223
+ // to normalize the add/remove and toggle APIs.
224
+
225
+ (function () {
226
+ "use strict";
227
+
228
+ var testElement = document.createElement("_");
229
+
230
+ testElement.classList.add("c1", "c2");
231
+
232
+ // Polyfill for IE 10/11 and Firefox <26, where classList.add and
233
+ // classList.remove exist but support only one argument at a time.
234
+ if (!testElement.classList.contains("c2")) {
235
+ var createMethod = function createMethod(method) {
236
+ var original = DOMTokenList.prototype[method];
237
+
238
+ DOMTokenList.prototype[method] = function (token) {
239
+ var i,
240
+ len = arguments.length;
241
+
242
+ for (i = 0; i < len; i++) {
243
+ token = arguments[i];
244
+ original.call(this, token);
245
+ }
246
+ };
247
+ };
248
+ createMethod('add');
249
+ createMethod('remove');
250
+ }
251
+
252
+ testElement.classList.toggle("c3", false);
253
+
254
+ // Polyfill for IE 10 and Firefox <24, where classList.toggle does not
255
+ // support the second argument.
256
+ if (testElement.classList.contains("c3")) {
257
+ var _toggle = DOMTokenList.prototype.toggle;
258
+
259
+ DOMTokenList.prototype.toggle = function (token, force) {
260
+ if (1 in arguments && !this.contains(token) === !force) {
261
+ return force;
262
+ } else {
263
+ return _toggle.call(this, token);
264
+ }
265
+ };
266
+ }
267
+
268
+ testElement = null;
269
+ })();
270
+ }
271
+
272
+ },{}],4:[function(require,module,exports){
273
+ 'use strict';
274
+
275
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
276
+
277
+ /*!
278
+ * domready (c) Dustin Diaz 2014 - License MIT
279
+ */
280
+ !function (name, definition) {
281
+
282
+ if (typeof module != 'undefined') module.exports = definition();else if (typeof define == 'function' && _typeof(define.amd) == 'object') define(definition);else this[name] = definition();
283
+ }('domready', function () {
284
+
285
+ var fns = [],
286
+ _listener,
287
+ doc = document,
288
+ hack = doc.documentElement.doScroll,
289
+ domContentLoaded = 'DOMContentLoaded',
290
+ loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);
291
+
292
+ if (!loaded) doc.addEventListener(domContentLoaded, _listener = function listener() {
293
+ doc.removeEventListener(domContentLoaded, _listener);
294
+ loaded = 1;
295
+ while (_listener = fns.shift()) {
296
+ _listener();
297
+ }
298
+ });
299
+
300
+ return function (fn) {
301
+ loaded ? setTimeout(fn, 0) : fns.push(fn);
302
+ };
303
+ });
304
+
305
+ },{}],5:[function(require,module,exports){
306
+ 'use strict';
307
+
308
+ // <3 Modernizr
309
+ // https://raw.githubusercontent.com/Modernizr/Modernizr/master/feature-detects/dom/dataset.js
310
+
311
+ function useNative() {
312
+ var elem = document.createElement('div');
313
+ elem.setAttribute('data-a-b', 'c');
314
+
315
+ return Boolean(elem.dataset && elem.dataset.aB === 'c');
316
+ }
317
+
318
+ function nativeDataset(element) {
319
+ return element.dataset;
320
+ }
321
+
322
+ module.exports = useNative() ? nativeDataset : function (element) {
323
+ var map = {};
324
+ var attributes = element.attributes;
325
+
326
+ function getter() {
327
+ return this.value;
328
+ }
329
+
330
+ function setter(name, value) {
331
+ if (typeof value === 'undefined') {
332
+ this.removeAttribute(name);
333
+ } else {
334
+ this.setAttribute(name, value);
335
+ }
336
+ }
337
+
338
+ for (var i = 0, j = attributes.length; i < j; i++) {
339
+ var attribute = attributes[i];
340
+
341
+ if (attribute) {
342
+ var name = attribute.name;
343
+
344
+ if (name.indexOf('data-') === 0) {
345
+ var prop = name.slice(5).replace(/-./g, function (u) {
346
+ return u.charAt(1).toUpperCase();
347
+ });
348
+
349
+ var value = attribute.value;
350
+
351
+ Object.defineProperty(map, prop, {
352
+ enumerable: true,
353
+ get: getter.bind({ value: value || '' }),
354
+ set: setter.bind(element, name)
355
+ });
356
+ }
357
+ }
358
+ }
359
+
360
+ return map;
361
+ };
362
+
363
+ },{}],6:[function(require,module,exports){
364
+ 'use strict';
365
+
366
+ // element-closest | CC0-1.0 | github.com/jonathantneal/closest
367
+
368
+ (function (ElementProto) {
369
+ if (typeof ElementProto.matches !== 'function') {
370
+ ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {
371
+ var element = this;
372
+ var elements = (element.document || element.ownerDocument).querySelectorAll(selector);
373
+ var index = 0;
374
+
375
+ while (elements[index] && elements[index] !== element) {
376
+ ++index;
377
+ }
378
+
379
+ return Boolean(elements[index]);
380
+ };
381
+ }
382
+
383
+ if (typeof ElementProto.closest !== 'function') {
384
+ ElementProto.closest = function closest(selector) {
385
+ var element = this;
386
+
387
+ while (element && element.nodeType === 1) {
388
+ if (element.matches(selector)) {
389
+ return element;
390
+ }
391
+
392
+ element = element.parentNode;
393
+ }
394
+
395
+ return null;
396
+ };
397
+ }
398
+ })(window.Element.prototype);
399
+
400
+ },{}],7:[function(require,module,exports){
401
+ (function (global){
402
+ 'use strict';
403
+
404
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
405
+
406
+ /**
407
+ * lodash (Custom Build) <https://lodash.com/>
408
+ * Build: `lodash modularize exports="npm" -o ./`
409
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
410
+ * Released under MIT license <https://lodash.com/license>
411
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
412
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
413
+ */
414
+
415
+ /** Used as the `TypeError` message for "Functions" methods. */
416
+ var FUNC_ERROR_TEXT = 'Expected a function';
417
+
418
+ /** Used as references for various `Number` constants. */
419
+ var NAN = 0 / 0;
420
+
421
+ /** `Object#toString` result references. */
422
+ var symbolTag = '[object Symbol]';
423
+
424
+ /** Used to match leading and trailing whitespace. */
425
+ var reTrim = /^\s+|\s+$/g;
426
+
427
+ /** Used to detect bad signed hexadecimal string values. */
428
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
429
+
430
+ /** Used to detect binary string values. */
431
+ var reIsBinary = /^0b[01]+$/i;
432
+
433
+ /** Used to detect octal string values. */
434
+ var reIsOctal = /^0o[0-7]+$/i;
435
+
436
+ /** Built-in method references without a dependency on `root`. */
437
+ var freeParseInt = parseInt;
438
+
439
+ /** Detect free variable `global` from Node.js. */
440
+ var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global;
441
+
442
+ /** Detect free variable `self`. */
443
+ var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self;
444
+
445
+ /** Used as a reference to the global object. */
446
+ var root = freeGlobal || freeSelf || Function('return this')();
447
+
448
+ /** Used for built-in method references. */
449
+ var objectProto = Object.prototype;
450
+
451
+ /**
452
+ * Used to resolve the
453
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
454
+ * of values.
455
+ */
456
+ var objectToString = objectProto.toString;
457
+
458
+ /* Built-in method references for those with the same name as other `lodash` methods. */
459
+ var nativeMax = Math.max,
460
+ nativeMin = Math.min;
461
+
462
+ /**
463
+ * Gets the timestamp of the number of milliseconds that have elapsed since
464
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
465
+ *
466
+ * @static
467
+ * @memberOf _
468
+ * @since 2.4.0
469
+ * @category Date
470
+ * @returns {number} Returns the timestamp.
471
+ * @example
472
+ *
473
+ * _.defer(function(stamp) {
474
+ * console.log(_.now() - stamp);
475
+ * }, _.now());
476
+ * // => Logs the number of milliseconds it took for the deferred invocation.
477
+ */
478
+ var now = function now() {
479
+ return root.Date.now();
480
+ };
481
+
482
+ /**
483
+ * Creates a debounced function that delays invoking `func` until after `wait`
484
+ * milliseconds have elapsed since the last time the debounced function was
485
+ * invoked. The debounced function comes with a `cancel` method to cancel
486
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
487
+ * Provide `options` to indicate whether `func` should be invoked on the
488
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
489
+ * with the last arguments provided to the debounced function. Subsequent
490
+ * calls to the debounced function return the result of the last `func`
491
+ * invocation.
492
+ *
493
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
494
+ * invoked on the trailing edge of the timeout only if the debounced function
495
+ * is invoked more than once during the `wait` timeout.
496
+ *
497
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
498
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
499
+ *
500
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
501
+ * for details over the differences between `_.debounce` and `_.throttle`.
502
+ *
503
+ * @static
504
+ * @memberOf _
505
+ * @since 0.1.0
506
+ * @category Function
507
+ * @param {Function} func The function to debounce.
508
+ * @param {number} [wait=0] The number of milliseconds to delay.
509
+ * @param {Object} [options={}] The options object.
510
+ * @param {boolean} [options.leading=false]
511
+ * Specify invoking on the leading edge of the timeout.
512
+ * @param {number} [options.maxWait]
513
+ * The maximum time `func` is allowed to be delayed before it's invoked.
514
+ * @param {boolean} [options.trailing=true]
515
+ * Specify invoking on the trailing edge of the timeout.
516
+ * @returns {Function} Returns the new debounced function.
517
+ * @example
518
+ *
519
+ * // Avoid costly calculations while the window size is in flux.
520
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
521
+ *
522
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
523
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
524
+ * 'leading': true,
525
+ * 'trailing': false
526
+ * }));
527
+ *
528
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
529
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
530
+ * var source = new EventSource('/stream');
531
+ * jQuery(source).on('message', debounced);
532
+ *
533
+ * // Cancel the trailing debounced invocation.
534
+ * jQuery(window).on('popstate', debounced.cancel);
535
+ */
536
+ function debounce(func, wait, options) {
537
+ var lastArgs,
538
+ lastThis,
539
+ maxWait,
540
+ result,
541
+ timerId,
542
+ lastCallTime,
543
+ lastInvokeTime = 0,
544
+ leading = false,
545
+ maxing = false,
546
+ trailing = true;
547
+
548
+ if (typeof func != 'function') {
549
+ throw new TypeError(FUNC_ERROR_TEXT);
550
+ }
551
+ wait = toNumber(wait) || 0;
552
+ if (isObject(options)) {
553
+ leading = !!options.leading;
554
+ maxing = 'maxWait' in options;
555
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
556
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
557
+ }
558
+
559
+ function invokeFunc(time) {
560
+ var args = lastArgs,
561
+ thisArg = lastThis;
562
+
563
+ lastArgs = lastThis = undefined;
564
+ lastInvokeTime = time;
565
+ result = func.apply(thisArg, args);
566
+ return result;
567
+ }
568
+
569
+ function leadingEdge(time) {
570
+ // Reset any `maxWait` timer.
571
+ lastInvokeTime = time;
572
+ // Start the timer for the trailing edge.
573
+ timerId = setTimeout(timerExpired, wait);
574
+ // Invoke the leading edge.
575
+ return leading ? invokeFunc(time) : result;
576
+ }
577
+
578
+ function remainingWait(time) {
579
+ var timeSinceLastCall = time - lastCallTime,
580
+ timeSinceLastInvoke = time - lastInvokeTime,
581
+ result = wait - timeSinceLastCall;
582
+
583
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
584
+ }
585
+
586
+ function shouldInvoke(time) {
587
+ var timeSinceLastCall = time - lastCallTime,
588
+ timeSinceLastInvoke = time - lastInvokeTime;
589
+
590
+ // Either this is the first call, activity has stopped and we're at the
591
+ // trailing edge, the system time has gone backwards and we're treating
592
+ // it as the trailing edge, or we've hit the `maxWait` limit.
593
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
594
+ }
595
+
596
+ function timerExpired() {
597
+ var time = now();
598
+ if (shouldInvoke(time)) {
599
+ return trailingEdge(time);
600
+ }
601
+ // Restart the timer.
602
+ timerId = setTimeout(timerExpired, remainingWait(time));
603
+ }
604
+
605
+ function trailingEdge(time) {
606
+ timerId = undefined;
607
+
608
+ // Only invoke if we have `lastArgs` which means `func` has been
609
+ // debounced at least once.
610
+ if (trailing && lastArgs) {
611
+ return invokeFunc(time);
612
+ }
613
+ lastArgs = lastThis = undefined;
614
+ return result;
615
+ }
616
+
617
+ function cancel() {
618
+ if (timerId !== undefined) {
619
+ clearTimeout(timerId);
620
+ }
621
+ lastInvokeTime = 0;
622
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
623
+ }
624
+
625
+ function flush() {
626
+ return timerId === undefined ? result : trailingEdge(now());
627
+ }
628
+
629
+ function debounced() {
630
+ var time = now(),
631
+ isInvoking = shouldInvoke(time);
632
+
633
+ lastArgs = arguments;
634
+ lastThis = this;
635
+ lastCallTime = time;
636
+
637
+ if (isInvoking) {
638
+ if (timerId === undefined) {
639
+ return leadingEdge(lastCallTime);
640
+ }
641
+ if (maxing) {
642
+ // Handle invocations in a tight loop.
643
+ timerId = setTimeout(timerExpired, wait);
644
+ return invokeFunc(lastCallTime);
645
+ }
646
+ }
647
+ if (timerId === undefined) {
648
+ timerId = setTimeout(timerExpired, wait);
649
+ }
650
+ return result;
651
+ }
652
+ debounced.cancel = cancel;
653
+ debounced.flush = flush;
654
+ return debounced;
655
+ }
656
+
657
+ /**
658
+ * Checks if `value` is the
659
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
660
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
661
+ *
662
+ * @static
663
+ * @memberOf _
664
+ * @since 0.1.0
665
+ * @category Lang
666
+ * @param {*} value The value to check.
667
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
668
+ * @example
669
+ *
670
+ * _.isObject({});
671
+ * // => true
672
+ *
673
+ * _.isObject([1, 2, 3]);
674
+ * // => true
675
+ *
676
+ * _.isObject(_.noop);
677
+ * // => true
678
+ *
679
+ * _.isObject(null);
680
+ * // => false
681
+ */
682
+ function isObject(value) {
683
+ var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);
684
+ return !!value && (type == 'object' || type == 'function');
685
+ }
686
+
687
+ /**
688
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
689
+ * and has a `typeof` result of "object".
690
+ *
691
+ * @static
692
+ * @memberOf _
693
+ * @since 4.0.0
694
+ * @category Lang
695
+ * @param {*} value The value to check.
696
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
697
+ * @example
698
+ *
699
+ * _.isObjectLike({});
700
+ * // => true
701
+ *
702
+ * _.isObjectLike([1, 2, 3]);
703
+ * // => true
704
+ *
705
+ * _.isObjectLike(_.noop);
706
+ * // => false
707
+ *
708
+ * _.isObjectLike(null);
709
+ * // => false
710
+ */
711
+ function isObjectLike(value) {
712
+ return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object';
713
+ }
714
+
715
+ /**
716
+ * Checks if `value` is classified as a `Symbol` primitive or object.
717
+ *
718
+ * @static
719
+ * @memberOf _
720
+ * @since 4.0.0
721
+ * @category Lang
722
+ * @param {*} value The value to check.
723
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
724
+ * @example
725
+ *
726
+ * _.isSymbol(Symbol.iterator);
727
+ * // => true
728
+ *
729
+ * _.isSymbol('abc');
730
+ * // => false
731
+ */
732
+ function isSymbol(value) {
733
+ return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
734
+ }
735
+
736
+ /**
737
+ * Converts `value` to a number.
738
+ *
739
+ * @static
740
+ * @memberOf _
741
+ * @since 4.0.0
742
+ * @category Lang
743
+ * @param {*} value The value to process.
744
+ * @returns {number} Returns the number.
745
+ * @example
746
+ *
747
+ * _.toNumber(3.2);
748
+ * // => 3.2
749
+ *
750
+ * _.toNumber(Number.MIN_VALUE);
751
+ * // => 5e-324
752
+ *
753
+ * _.toNumber(Infinity);
754
+ * // => Infinity
755
+ *
756
+ * _.toNumber('3.2');
757
+ * // => 3.2
758
+ */
759
+ function toNumber(value) {
760
+ if (typeof value == 'number') {
761
+ return value;
762
+ }
763
+ if (isSymbol(value)) {
764
+ return NAN;
765
+ }
766
+ if (isObject(value)) {
767
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
768
+ value = isObject(other) ? other + '' : other;
769
+ }
770
+ if (typeof value != 'string') {
771
+ return value === 0 ? value : +value;
772
+ }
773
+ value = value.replace(reTrim, '');
774
+ var isBinary = reIsBinary.test(value);
775
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
776
+ }
777
+
778
+ module.exports = debounce;
779
+
780
+ }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
781
+
782
+ },{}],8:[function(require,module,exports){
783
+ /*
784
+ object-assign
785
+ (c) Sindre Sorhus
786
+ @license MIT
787
+ */
788
+
789
+ 'use strict';
790
+ /* eslint-disable no-unused-vars */
791
+
792
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
793
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
794
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
795
+
796
+ function toObject(val) {
797
+ if (val === null || val === undefined) {
798
+ throw new TypeError('Object.assign cannot be called with null or undefined');
799
+ }
800
+
801
+ return Object(val);
802
+ }
803
+
804
+ function shouldUseNative() {
805
+ try {
806
+ if (!Object.assign) {
807
+ return false;
808
+ }
809
+
810
+ // Detect buggy property enumeration order in older V8 versions.
811
+
812
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
813
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
814
+ test1[5] = 'de';
815
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
816
+ return false;
817
+ }
818
+
819
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
820
+ var test2 = {};
821
+ for (var i = 0; i < 10; i++) {
822
+ test2['_' + String.fromCharCode(i)] = i;
823
+ }
824
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
825
+ return test2[n];
826
+ });
827
+ if (order2.join('') !== '0123456789') {
828
+ return false;
829
+ }
830
+
831
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
832
+ var test3 = {};
833
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
834
+ test3[letter] = letter;
835
+ });
836
+ if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
837
+ return false;
838
+ }
839
+
840
+ return true;
841
+ } catch (err) {
842
+ // We don't expect any of the above to throw, but better to be safe.
843
+ return false;
844
+ }
845
+ }
846
+
847
+ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
848
+ var from;
849
+ var to = toObject(target);
850
+ var symbols;
851
+
852
+ for (var s = 1; s < arguments.length; s++) {
853
+ from = Object(arguments[s]);
854
+
855
+ for (var key in from) {
856
+ if (hasOwnProperty.call(from, key)) {
857
+ to[key] = from[key];
858
+ }
859
+ }
860
+
861
+ if (getOwnPropertySymbols) {
862
+ symbols = getOwnPropertySymbols(from);
863
+ for (var i = 0; i < symbols.length; i++) {
864
+ if (propIsEnumerable.call(from, symbols[i])) {
865
+ to[symbols[i]] = from[symbols[i]];
866
+ }
867
+ }
868
+ }
869
+ }
870
+
871
+ return to;
872
+ };
873
+
874
+ },{}],9:[function(require,module,exports){
875
+ 'use strict';
876
+
877
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
878
+
879
+ var assign = require('object-assign');
880
+ var delegate = require('../delegate');
881
+ var delegateAll = require('../delegateAll');
882
+
883
+ var DELEGATE_PATTERN = /^(.+):delegate\((.+)\)$/;
884
+ var SPACE = ' ';
885
+
886
+ var getListeners = function getListeners(type, handler) {
887
+ var match = type.match(DELEGATE_PATTERN);
888
+ var selector;
889
+ if (match) {
890
+ type = match[1];
891
+ selector = match[2];
892
+ }
893
+
894
+ var options;
895
+ if ((typeof handler === 'undefined' ? 'undefined' : _typeof(handler)) === 'object') {
896
+ options = {
897
+ capture: popKey(handler, 'capture'),
898
+ passive: popKey(handler, 'passive')
899
+ };
900
+ }
901
+
902
+ var listener = {
903
+ selector: selector,
904
+ delegate: (typeof handler === 'undefined' ? 'undefined' : _typeof(handler)) === 'object' ? delegateAll(handler) : selector ? delegate(selector, handler) : handler,
905
+ options: options
906
+ };
907
+
908
+ if (type.indexOf(SPACE) > -1) {
909
+ return type.split(SPACE).map(function (_type) {
910
+ return assign({ type: _type }, listener);
911
+ });
912
+ } else {
913
+ listener.type = type;
914
+ return [listener];
915
+ }
916
+ };
917
+
918
+ var popKey = function popKey(obj, key) {
919
+ var value = obj[key];
920
+ delete obj[key];
921
+ return value;
922
+ };
923
+
924
+ module.exports = function behavior(events, props) {
925
+ var listeners = Object.keys(events).reduce(function (memo, type) {
926
+ var listeners = getListeners(type, events[type]);
927
+ return memo.concat(listeners);
928
+ }, []);
929
+
930
+ return assign({
931
+ add: function addBehavior(element) {
932
+ listeners.forEach(function (listener) {
933
+ element.addEventListener(listener.type, listener.delegate, listener.options);
934
+ });
935
+ },
936
+ remove: function removeBehavior(element) {
937
+ listeners.forEach(function (listener) {
938
+ element.removeEventListener(listener.type, listener.delegate, listener.options);
939
+ });
940
+ }
941
+ }, props);
942
+ };
943
+
944
+ },{"../delegate":11,"../delegateAll":12,"object-assign":8}],10:[function(require,module,exports){
945
+ "use strict";
946
+
947
+ module.exports = function compose(functions) {
948
+ return function (e) {
949
+ return functions.some(function (fn) {
950
+ return fn.call(this, e) === false;
951
+ }, this);
952
+ };
953
+ };
954
+
955
+ },{}],11:[function(require,module,exports){
956
+ 'use strict';
957
+
958
+ // polyfill Element.prototype.closest
959
+ require('element-closest');
960
+
961
+ module.exports = function delegate(selector, fn) {
962
+ return function delegation(event) {
963
+ var target = event.target.closest(selector);
964
+ if (target) {
965
+ return fn.call(target, event);
966
+ }
967
+ };
968
+ };
969
+
970
+ },{"element-closest":6}],12:[function(require,module,exports){
971
+ 'use strict';
972
+
973
+ var delegate = require('../delegate');
974
+ var compose = require('../compose');
975
+
976
+ var SPLAT = '*';
977
+
978
+ module.exports = function delegateAll(selectors) {
979
+ var keys = Object.keys(selectors);
980
+
981
+ // XXX optimization: if there is only one handler and it applies to
982
+ // all elements (the "*" CSS selector), then just return that
983
+ // handler
984
+ if (keys.length === 1 && keys[0] === SPLAT) {
985
+ return selectors[SPLAT];
986
+ }
987
+
988
+ var delegates = keys.reduce(function (memo, selector) {
989
+ memo.push(delegate(selector, selectors[selector]));
990
+ return memo;
991
+ }, []);
992
+ return compose(delegates);
993
+ };
994
+
995
+ },{"../compose":10,"../delegate":11}],13:[function(require,module,exports){
996
+ "use strict";
997
+
998
+ module.exports = function ignore(element, fn) {
999
+ return function ignorance(e) {
1000
+ if (element !== e.target && !element.contains(e.target)) {
1001
+ return fn.call(this, e);
1002
+ }
1003
+ };
1004
+ };
1005
+
1006
+ },{}],14:[function(require,module,exports){
1007
+ "use strict";
1008
+
1009
+ module.exports = function once(listener, options) {
1010
+ var wrapped = function wrappedOnce(e) {
1011
+ e.currentTarget.removeEventListener(e.type, wrapped, options);
1012
+ return listener.call(this, e);
1013
+ };
1014
+ return wrapped;
1015
+ };
1016
+
1017
+ },{}],15:[function(require,module,exports){
1018
+ 'use strict';
1019
+
1020
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
1021
+
1022
+ var RE_TRIM = /(^\s+)|(\s+$)/g;
1023
+ var RE_SPLIT = /\s+/;
1024
+
1025
+ var trim = String.prototype.trim ? function (str) {
1026
+ return str.trim();
1027
+ } : function (str) {
1028
+ return str.replace(RE_TRIM, '');
1029
+ };
1030
+
1031
+ var queryById = function queryById(id) {
1032
+ return this.querySelector('[id="' + id.replace(/"/g, '\\"') + '"]');
1033
+ };
1034
+
1035
+ module.exports = function resolveIds(ids, doc) {
1036
+ if (typeof ids !== 'string') {
1037
+ throw new Error('Expected a string but got ' + (typeof ids === 'undefined' ? 'undefined' : _typeof(ids)));
1038
+ }
1039
+
1040
+ if (!doc) {
1041
+ doc = window.document;
1042
+ }
1043
+
1044
+ var getElementById = doc.getElementById ? doc.getElementById.bind(doc) : queryById.bind(doc);
1045
+
1046
+ ids = trim(ids).split(RE_SPLIT);
1047
+
1048
+ // XXX we can short-circuit here because trimming and splitting a
1049
+ // string of just whitespace produces an array containing a single,
1050
+ // empty string
1051
+ if (ids.length === 1 && ids[0] === '') {
1052
+ return [];
1053
+ }
1054
+
1055
+ return ids.map(function (id) {
1056
+ var el = getElementById(id);
1057
+ if (!el) {
1058
+ throw new Error('no element with id: "' + id + '"');
1059
+ }
1060
+ return el;
1061
+ });
1062
+ };
1063
+
1064
+ },{}],16:[function(require,module,exports){
1065
+ 'use strict';
1066
+
1067
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1068
+
1069
+ var behavior = require('../utils/behavior');
1070
+ var filter = require('array-filter');
1071
+ var forEach = require('array-foreach');
1072
+ var toggle = require('../utils/toggle');
1073
+ var isElementInViewport = require('../utils/is-in-viewport');
1074
+
1075
+ var CLICK = require('../events').CLICK;
1076
+ var PREFIX = require('../config').prefix;
1077
+
1078
+ // XXX match .usa-accordion and .usa-accordion-bordered
1079
+ var ACCORDION = '.' + PREFIX + '-accordion, .' + PREFIX + '-accordion-bordered';
1080
+ var BUTTON = '.' + PREFIX + '-accordion-button[aria-controls]';
1081
+ var EXPANDED = 'aria-expanded';
1082
+ var MULTISELECTABLE = 'aria-multiselectable';
1083
+
1084
+ /**
1085
+ * Toggle a button's "pressed" state, optionally providing a target
1086
+ * state.
1087
+ *
1088
+ * @param {HTMLButtonElement} button
1089
+ * @param {boolean?} expanded If no state is provided, the current
1090
+ * state will be toggled (from false to true, and vice-versa).
1091
+ * @return {boolean} the resulting state
1092
+ */
1093
+ var toggleButton = function toggleButton(button, expanded) {
1094
+ var accordion = button.closest(ACCORDION);
1095
+ if (!accordion) {
1096
+ throw new Error(BUTTON + ' is missing outer ' + ACCORDION);
1097
+ }
1098
+
1099
+ expanded = toggle(button, expanded);
1100
+ // XXX multiselectable is opt-in, to preserve legacy behavior
1101
+ var multiselectable = accordion.getAttribute(MULTISELECTABLE) === 'true';
1102
+
1103
+ if (expanded && !multiselectable) {
1104
+ forEach(getAccordionButtons(accordion), function (other) {
1105
+ if (other !== button) {
1106
+ toggle(other, false);
1107
+ }
1108
+ });
1109
+ }
1110
+ };
1111
+
1112
+ /**
1113
+ * @param {HTMLButtonElement} button
1114
+ * @return {boolean} true
1115
+ */
1116
+ var showButton = function showButton(button) {
1117
+ return toggleButton(button, true);
1118
+ };
1119
+
1120
+ /**
1121
+ * @param {HTMLButtonElement} button
1122
+ * @return {boolean} false
1123
+ */
1124
+ var hideButton = function hideButton(button) {
1125
+ return toggleButton(button, false);
1126
+ };
1127
+
1128
+ /**
1129
+ * Get an Array of button elements belonging directly to the given
1130
+ * accordion element.
1131
+ * @param {HTMLElement} accordion
1132
+ * @return {array<HTMLButtonElement>}
1133
+ */
1134
+ var getAccordionButtons = function getAccordionButtons(accordion) {
1135
+ return filter(accordion.querySelectorAll(BUTTON), function (button) {
1136
+ return button.closest(ACCORDION) === accordion;
1137
+ });
1138
+ };
1139
+
1140
+ var accordion = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, function (event) {
1141
+ event.preventDefault();
1142
+ toggleButton(this);
1143
+
1144
+ if (this.getAttribute(EXPANDED) === 'true') {
1145
+ // We were just expanded, but if another accordion was also just
1146
+ // collapsed, we may no longer be in the viewport. This ensures
1147
+ // that we are still visible, so the user isn't confused.
1148
+ if (!isElementInViewport(this)) this.scrollIntoView();
1149
+ }
1150
+ })), {
1151
+ init: function init(root) {
1152
+ forEach(root.querySelectorAll(BUTTON), function (button) {
1153
+ var expanded = button.getAttribute(EXPANDED) === 'true';
1154
+ toggleButton(button, expanded);
1155
+ });
1156
+ },
1157
+ ACCORDION: ACCORDION,
1158
+ BUTTON: BUTTON,
1159
+ show: showButton,
1160
+ hide: hideButton,
1161
+ toggle: toggleButton,
1162
+ getButtons: getAccordionButtons
1163
+ });
1164
+
1165
+ /**
1166
+ * TODO: for 2.0, remove everything below this comment and export the
1167
+ * behavior directly:
1168
+ *
1169
+ * module.exports = behavior({...});
1170
+ */
1171
+ var Accordion = function Accordion(root) {
1172
+ this.root = root;
1173
+ accordion.on(this.root);
1174
+ };
1175
+
1176
+ // copy all of the behavior methods and props to Accordion
1177
+ var assign = require('object-assign');
1178
+ assign(Accordion, accordion);
1179
+
1180
+ Accordion.prototype.show = showButton;
1181
+ Accordion.prototype.hide = hideButton;
1182
+
1183
+ Accordion.prototype.remove = function () {
1184
+ accordion.off(this.root);
1185
+ };
1186
+
1187
+ module.exports = Accordion;
1188
+
1189
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/is-in-viewport":31,"../utils/toggle":35,"array-filter":1,"array-foreach":2,"object-assign":8}],17:[function(require,module,exports){
1190
+ 'use strict';
1191
+
1192
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1193
+
1194
+ var behavior = require('../utils/behavior');
1195
+ var toggle = require('../utils/toggle');
1196
+
1197
+ var CLICK = require('../events').CLICK;
1198
+ var PREFIX = require('../config').prefix;
1199
+
1200
+ var HEADER = '.' + PREFIX + '-banner-header';
1201
+ var EXPANDED_CLASS = PREFIX + '-banner-header-expanded';
1202
+
1203
+ var toggleBanner = function toggleBanner(event) {
1204
+ event.preventDefault();
1205
+ this.closest(HEADER).classList.toggle(EXPANDED_CLASS);
1206
+ return false;
1207
+ };
1208
+
1209
+ module.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, HEADER + ' [aria-controls]', toggleBanner)));
1210
+
1211
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/toggle":35}],18:[function(require,module,exports){
1212
+ 'use strict';
1213
+
1214
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1215
+
1216
+ var accordion = require('./accordion');
1217
+ var behavior = require('../utils/behavior');
1218
+ var debounce = require('lodash.debounce');
1219
+ var forEach = require('array-foreach');
1220
+ var select = require('../utils/select');
1221
+
1222
+ var CLICK = require('../events').CLICK;
1223
+ var PREFIX = require('../config').prefix;
1224
+
1225
+ var HIDDEN = 'hidden';
1226
+ var SCOPE = '.' + PREFIX + '-footer-big';
1227
+ var NAV = SCOPE + ' nav';
1228
+ var BUTTON = NAV + ' .' + PREFIX + '-footer-primary-link';
1229
+ var LIST = NAV + ' ul';
1230
+
1231
+ var HIDE_MAX_WIDTH = 600;
1232
+ var DEBOUNCE_RATE = 180;
1233
+
1234
+ var showPanel = function showPanel() {
1235
+ var list = this.closest(LIST);
1236
+ list.classList.remove(HIDDEN);
1237
+
1238
+ // NB: this *should* always succeed because the button
1239
+ // selector is scoped to ".{prefix}-footer-big nav"
1240
+ var lists = list.closest(NAV).querySelectorAll('ul');
1241
+
1242
+ forEach(lists, function (el) {
1243
+ if (el !== list) {
1244
+ el.classList.add(HIDDEN);
1245
+ }
1246
+ });
1247
+ };
1248
+
1249
+ var resize = debounce(function () {
1250
+ var hidden = window.innerWidth < HIDE_MAX_WIDTH;
1251
+ forEach(select(LIST), function (list) {
1252
+ list.classList.toggle(HIDDEN, hidden);
1253
+ });
1254
+ }, DEBOUNCE_RATE);
1255
+
1256
+ module.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, showPanel)), {
1257
+ // export for use elsewhere
1258
+ HIDE_MAX_WIDTH: HIDE_MAX_WIDTH,
1259
+ DEBOUNCE_RATE: DEBOUNCE_RATE,
1260
+
1261
+ init: function init(target) {
1262
+ resize();
1263
+ window.addEventListener('resize', resize);
1264
+ },
1265
+
1266
+ teardown: function teardown(target) {
1267
+ window.removeEventListener('resize', resize);
1268
+ }
1269
+ });
1270
+
1271
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"./accordion":16,"array-foreach":2,"lodash.debounce":7}],19:[function(require,module,exports){
1272
+ 'use strict';
1273
+
1274
+ module.exports = {
1275
+ accordion: require('./accordion'),
1276
+ banner: require('./banner'),
1277
+ footer: require('./footer'),
1278
+ navigation: require('./navigation'),
1279
+ password: require('./password'),
1280
+ search: require('./search'),
1281
+ skipnav: require('./skipnav'),
1282
+ validator: require('./validator')
1283
+ };
1284
+
1285
+ },{"./accordion":16,"./banner":17,"./footer":18,"./navigation":20,"./password":21,"./search":22,"./skipnav":23,"./validator":24}],20:[function(require,module,exports){
1286
+ 'use strict';
1287
+
1288
+ var _CLICK;
1289
+
1290
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1291
+
1292
+ var behavior = require('../utils/behavior');
1293
+ var forEach = require('array-foreach');
1294
+ var select = require('../utils/select');
1295
+ var accordion = require('./accordion');
1296
+
1297
+ var CLICK = require('../events').CLICK;
1298
+ var PREFIX = require('../config').prefix;
1299
+
1300
+ var CONTEXT = 'header';
1301
+ var NAV = '.' + PREFIX + '-nav';
1302
+ var NAV_LINKS = NAV + ' a';
1303
+ var OPENERS = '.' + PREFIX + '-menu-btn';
1304
+ var CLOSE_BUTTON = '.' + PREFIX + '-nav-close';
1305
+ var OVERLAY = '.' + PREFIX + '-overlay';
1306
+ var CLOSERS = CLOSE_BUTTON + ', .' + PREFIX + '-overlay';
1307
+ var TOGGLES = [NAV, OVERLAY].join(', ');
1308
+
1309
+ var ACTIVE_CLASS = 'usa-mobile_nav-active';
1310
+ var VISIBLE_CLASS = 'is-visible';
1311
+
1312
+ var toggleNav = function toggleNav(active) {
1313
+ var body = document.body;
1314
+ if (typeof active !== 'boolean') {
1315
+ active = !body.classList.contains(ACTIVE_CLASS);
1316
+ }
1317
+ body.classList.toggle(ACTIVE_CLASS, active);
1318
+
1319
+ var context = this.closest(CONTEXT);
1320
+ forEach(select(TOGGLES), function (el) {
1321
+ el.classList.toggle(VISIBLE_CLASS);
1322
+ });
1323
+
1324
+ if (active && context) {
1325
+ var closeButton = context.querySelector(CLOSE_BUTTON);
1326
+ if (closeButton) {
1327
+ closeButton.focus();
1328
+ }
1329
+ }
1330
+ return active;
1331
+ };
1332
+
1333
+ var navigation = behavior(_defineProperty({}, CLICK, (_CLICK = {}, _defineProperty(_CLICK, OPENERS, toggleNav), _defineProperty(_CLICK, CLOSERS, toggleNav), _defineProperty(_CLICK, NAV_LINKS, function () {
1334
+ // A navigation link has been clicked! We want to collapse any
1335
+ // hierarchical navigation UI it's a part of, so that the user
1336
+ // can focus on whatever they've just selected.
1337
+
1338
+ // Some navigation links are inside accordions; when they're
1339
+ // clicked, we want to collapse those accordions.
1340
+ var acc = this.closest(accordion.ACCORDION);
1341
+ if (acc) {
1342
+ accordion.getButtons(acc).forEach(function (btn) {
1343
+ return accordion.hide(btn);
1344
+ });
1345
+ }
1346
+
1347
+ // If the mobile navigation menu is active, we want to hide it.
1348
+ if (document.body.classList.contains(ACTIVE_CLASS)) {
1349
+ toggleNav.call(this);
1350
+ }
1351
+ }), _CLICK)));
1352
+
1353
+ /**
1354
+ * TODO for 2.0, remove this statement and export `navigation` directly:
1355
+ *
1356
+ * module.exports = behavior({...});
1357
+ */
1358
+ var assign = require('object-assign');
1359
+ module.exports = assign(function (el) {
1360
+ return navigation.on(el);
1361
+ }, navigation);
1362
+
1363
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"./accordion":16,"array-foreach":2,"object-assign":8}],21:[function(require,module,exports){
1364
+ 'use strict';
1365
+
1366
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1367
+
1368
+ var behavior = require('../utils/behavior');
1369
+ var toggleFormInput = require('../utils/toggle-form-input');
1370
+
1371
+ var CLICK = require('../events').CLICK;
1372
+ var PREFIX = require('../config').prefix;
1373
+
1374
+ var LINK = '.' + PREFIX + '-show_password, .' + PREFIX + '-show_multipassword';
1375
+
1376
+ var toggle = function toggle(event) {
1377
+ event.preventDefault();
1378
+ toggleFormInput(this);
1379
+ };
1380
+
1381
+ module.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, LINK, toggle)));
1382
+
1383
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/toggle-form-input":34}],22:[function(require,module,exports){
1384
+ 'use strict';
1385
+
1386
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1387
+
1388
+ var behavior = require('../utils/behavior');
1389
+ var forEach = require('array-foreach');
1390
+ var ignore = require('receptor/ignore');
1391
+ var select = require('../utils/select');
1392
+
1393
+ var CLICK = require('../events').CLICK;
1394
+ var PREFIX = require('../config').prefix;
1395
+
1396
+ var BUTTON = '.js-search-button';
1397
+ var FORM = '.js-search-form';
1398
+ var INPUT = '[type=search]';
1399
+ var CONTEXT = 'header'; // XXX
1400
+ var VISUALLY_HIDDEN = PREFIX + '-sr-only';
1401
+
1402
+ var lastButton = void 0;
1403
+
1404
+ var showSearch = function showSearch(event) {
1405
+ toggleSearch(this, true);
1406
+ lastButton = this;
1407
+ };
1408
+
1409
+ var hideSearch = function hideSearch(event) {
1410
+ toggleSearch(this, false);
1411
+ lastButton = undefined;
1412
+ };
1413
+
1414
+ var getForm = function getForm(button) {
1415
+ var context = button.closest(CONTEXT);
1416
+ return context ? context.querySelector(FORM) : document.querySelector(FORM);
1417
+ };
1418
+
1419
+ var toggleSearch = function toggleSearch(button, active) {
1420
+ var form = getForm(button);
1421
+ if (!form) {
1422
+ throw new Error('No ' + FORM + ' found for search toggle in ' + CONTEXT + '!');
1423
+ }
1424
+
1425
+ button.hidden = active;
1426
+ form.classList.toggle(VISUALLY_HIDDEN, !active);
1427
+
1428
+ if (active) {
1429
+ var input = form.querySelector(INPUT);
1430
+ if (input) {
1431
+ input.focus();
1432
+ }
1433
+ // when the user clicks _outside_ of the form w/ignore(): hide the
1434
+ // search, then remove the listener
1435
+ var listener = ignore(form, function (e) {
1436
+ if (lastButton) {
1437
+ hideSearch.call(lastButton);
1438
+ }
1439
+ document.body.removeEventListener(CLICK, listener);
1440
+ });
1441
+
1442
+ // Normally we would just run this code without a timeout, but
1443
+ // IE11 and Edge will actually call the listener *immediately* because
1444
+ // they are currently handling this exact type of event, so we'll
1445
+ // make sure the browser is done handling the current click event,
1446
+ // if any, before we attach the listener.
1447
+ setTimeout(function () {
1448
+ document.body.addEventListener(CLICK, listener);
1449
+ }, 0);
1450
+ }
1451
+ };
1452
+
1453
+ var search = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, showSearch)), {
1454
+ init: function init(target) {
1455
+ forEach(select(BUTTON, target), function (button) {
1456
+ toggleSearch(button, false);
1457
+ });
1458
+ },
1459
+ teardown: function teardown(target) {
1460
+ // forget the last button clicked
1461
+ lastButton = undefined;
1462
+ }
1463
+ });
1464
+
1465
+ /**
1466
+ * TODO for 2.0, remove this statement and export `navigation` directly:
1467
+ *
1468
+ * module.exports = behavior({...});
1469
+ */
1470
+ var assign = require('object-assign');
1471
+ module.exports = assign(function (el) {
1472
+ return search.on(el);
1473
+ }, search);
1474
+
1475
+ },{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"array-foreach":2,"object-assign":8,"receptor/ignore":13}],23:[function(require,module,exports){
1476
+ 'use strict';
1477
+
1478
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1479
+
1480
+ var behavior = require('../utils/behavior');
1481
+ var once = require('receptor/once');
1482
+
1483
+ var CLICK = require('../events').CLICK;
1484
+ var PREFIX = require('../config').prefix;
1485
+ var LINK = '.' + PREFIX + '-skipnav[href^="#"]';
1486
+
1487
+ var setTabindex = function setTabindex(event) {
1488
+ // NB: we know because of the selector we're delegating to below that the
1489
+ // href already begins with '#'
1490
+ var id = this.getAttribute('href').slice(1);
1491
+ var target = document.getElementById(id);
1492
+ if (target) {
1493
+ target.setAttribute('tabindex', 0);
1494
+ target.addEventListener('blur', once(function (event) {
1495
+ target.setAttribute('tabindex', -1);
1496
+ }));
1497
+ } else {
1498
+ // throw an error?
1499
+ }
1500
+ };
1501
+
1502
+ module.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, LINK, setTabindex)));
1503
+
1504
+ },{"../config":25,"../events":26,"../utils/behavior":30,"receptor/once":14}],24:[function(require,module,exports){
1505
+ 'use strict';
1506
+
1507
+ var behavior = require('../utils/behavior');
1508
+ var validate = require('../utils/validate-input');
1509
+ var debounce = require('lodash.debounce');
1510
+
1511
+ var change = function change(event) {
1512
+ return validate(this);
1513
+ };
1514
+
1515
+ var validator = behavior({
1516
+ 'keyup change': {
1517
+ 'input[data-validation-element]': change
1518
+ }
1519
+ });
1520
+
1521
+ /**
1522
+ * TODO for 2.0, remove this statement and export `navigation` directly:
1523
+ *
1524
+ * module.exports = behavior({...});
1525
+ */
1526
+ var assign = require('object-assign');
1527
+ module.exports = assign(function (el) {
1528
+ return validator.on(el);
1529
+ }, validator);
1530
+
1531
+ },{"../utils/behavior":30,"../utils/validate-input":36,"lodash.debounce":7,"object-assign":8}],25:[function(require,module,exports){
1532
+ 'use strict';
1533
+
1534
+ module.exports = {
1535
+ prefix: 'usa'
1536
+ };
1537
+
1538
+ },{}],26:[function(require,module,exports){
1539
+ 'use strict';
1540
+
1541
+ module.exports = {
1542
+ // This used to be conditionally dependent on whether the
1543
+ // browser supported touch events; if it did, `CLICK` was set to
1544
+ // `touchstart`. However, this had downsides:
1545
+ //
1546
+ // * It pre-empted mobile browsers' default behavior of detecting
1547
+ // whether a touch turned into a scroll, thereby preventing
1548
+ // users from using some of our components as scroll surfaces.
1549
+ //
1550
+ // * Some devices, such as the Microsoft Surface Pro, support *both*
1551
+ // touch and clicks. This meant the conditional effectively dropped
1552
+ // support for the user's mouse, frustrating users who preferred
1553
+ // it on those systems.
1554
+ CLICK: 'click'
1555
+ };
1556
+
1557
+ },{}],27:[function(require,module,exports){
1558
+ 'use strict';
1559
+
1560
+ var elproto = window.HTMLElement.prototype;
1561
+ var HIDDEN = 'hidden';
1562
+
1563
+ if (!(HIDDEN in elproto)) {
1564
+ Object.defineProperty(elproto, HIDDEN, {
1565
+ get: function get() {
1566
+ return this.hasAttribute(HIDDEN);
1567
+ },
1568
+ set: function set(value) {
1569
+ if (value) {
1570
+ this.setAttribute(HIDDEN, '');
1571
+ } else {
1572
+ this.removeAttribute(HIDDEN);
1573
+ }
1574
+ }
1575
+ });
1576
+ }
1577
+
1578
+ },{}],28:[function(require,module,exports){
1579
+ 'use strict';
1580
+ // polyfills HTMLElement.prototype.classList and DOMTokenList
1581
+
1582
+ require('classlist-polyfill');
1583
+ // polyfills HTMLElement.prototype.hidden
1584
+ require('./element-hidden');
1585
+
1586
+ },{"./element-hidden":27,"classlist-polyfill":3}],29:[function(require,module,exports){
1587
+ 'use strict';
1588
+
1589
+ var domready = require('domready');
1590
+
1591
+ /**
1592
+ * The 'polyfills' define key ECMAScript 5 methods that may be missing from
1593
+ * older browsers, so must be loaded first.
1594
+ */
1595
+ require('./polyfills');
1596
+
1597
+ var uswds = require('./config');
1598
+
1599
+ var components = require('./components');
1600
+ uswds.components = components;
1601
+
1602
+ domready(function () {
1603
+ var target = document.body;
1604
+ for (var name in components) {
1605
+ var behavior = components[name];
1606
+ behavior.on(target);
1607
+ }
1608
+ });
1609
+
1610
+ module.exports = uswds;
1611
+
1612
+ },{"./components":19,"./config":25,"./polyfills":28,"domready":4}],30:[function(require,module,exports){
1613
+ 'use strict';
1614
+
1615
+ var assign = require('object-assign');
1616
+ var forEach = require('array-foreach');
1617
+ var Behavior = require('receptor/behavior');
1618
+
1619
+ var sequence = function sequence() {
1620
+ var seq = [].slice.call(arguments);
1621
+ return function (target) {
1622
+ var _this = this;
1623
+
1624
+ if (!target) {
1625
+ target = document.body;
1626
+ }
1627
+ forEach(seq, function (method) {
1628
+ if (typeof _this[method] === 'function') {
1629
+ _this[method].call(_this, target);
1630
+ }
1631
+ });
1632
+ };
1633
+ };
1634
+
1635
+ /**
1636
+ * @name behavior
1637
+ * @param {object} events
1638
+ * @param {object?} props
1639
+ * @return {receptor.behavior}
1640
+ */
1641
+ module.exports = function (events, props) {
1642
+ return Behavior(events, assign({
1643
+ on: sequence('init', 'add'),
1644
+ off: sequence('teardown', 'remove')
1645
+ }, props));
1646
+ };
1647
+
1648
+ },{"array-foreach":2,"object-assign":8,"receptor/behavior":9}],31:[function(require,module,exports){
1649
+ "use strict";
1650
+
1651
+ // https://stackoverflow.com/a/7557433
1652
+ function isElementInViewport(el) {
1653
+ var win = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
1654
+ var docEl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.documentElement;
1655
+
1656
+ var rect = el.getBoundingClientRect();
1657
+
1658
+ return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (win.innerHeight || docEl.clientHeight) && rect.right <= (win.innerWidth || docEl.clientWidth);
1659
+ }
1660
+
1661
+ module.exports = isElementInViewport;
1662
+
1663
+ },{}],32:[function(require,module,exports){
1664
+ 'use strict';
1665
+
1666
+ /**
1667
+ * @name isElement
1668
+ * @desc returns whether or not the given argument is a DOM element.
1669
+ * @param {any} value
1670
+ * @return {boolean}
1671
+ */
1672
+
1673
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
1674
+
1675
+ var isElement = function isElement(value) {
1676
+ return value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.nodeType === 1;
1677
+ };
1678
+
1679
+ /**
1680
+ * @name select
1681
+ * @desc selects elements from the DOM by class selector or ID selector.
1682
+ * @param {string} selector - The selector to traverse the DOM with.
1683
+ * @param {Document|HTMLElement?} context - The context to traverse the DOM
1684
+ * in. If not provided, it defaults to the document.
1685
+ * @return {HTMLElement[]} - An array of DOM nodes or an empty array.
1686
+ */
1687
+ module.exports = function select(selector, context) {
1688
+
1689
+ if (typeof selector !== 'string') {
1690
+ return [];
1691
+ }
1692
+
1693
+ if (!context || !isElement(context)) {
1694
+ context = window.document;
1695
+ }
1696
+
1697
+ var selection = context.querySelectorAll(selector);
1698
+ return Array.prototype.slice.call(selection);
1699
+ };
1700
+
1701
+ },{}],33:[function(require,module,exports){
1702
+ 'use strict';
1703
+
1704
+ /**
1705
+ * Flips given INPUT elements between masked (hiding the field value) and unmasked
1706
+ * @param {Array.HTMLElement} fields - An array of INPUT elements
1707
+ * @param {Boolean} mask - Whether the mask should be applied, hiding the field value
1708
+ */
1709
+ module.exports = function (field, mask) {
1710
+ field.setAttribute('autocapitalize', 'off');
1711
+ field.setAttribute('autocorrect', 'off');
1712
+ field.setAttribute('type', mask ? 'password' : 'text');
1713
+ };
1714
+
1715
+ },{}],34:[function(require,module,exports){
1716
+ 'use strict';
1717
+
1718
+ var forEach = require('array-foreach');
1719
+ var resolveIdRefs = require('resolve-id-refs');
1720
+ var select = require('./select');
1721
+ var toggleFieldMask = require('./toggle-field-mask');
1722
+
1723
+ var CONTROLS = 'aria-controls';
1724
+ var PRESSED = 'aria-pressed';
1725
+ var SHOW_ATTR = 'data-show-text';
1726
+ var HIDE_ATTR = 'data-hide-text';
1727
+
1728
+ /**
1729
+ * Replace the word "Show" (or "show") with "Hide" (or "hide") in a string.
1730
+ * @param {string} showText
1731
+ * @return {strong} hideText
1732
+ */
1733
+ var getHideText = function getHideText(showText) {
1734
+ return showText.replace(/\bShow\b/i, function (show) {
1735
+ return ('S' === show[0] ? 'H' : 'h') + 'ide';
1736
+ });
1737
+ };
1738
+
1739
+ /**
1740
+ * Component that decorates an HTML element with the ability to toggle the
1741
+ * masked state of an input field (like a password) when clicked.
1742
+ * The ids of the fields to be masked will be pulled directly from the button's
1743
+ * `aria-controls` attribute.
1744
+ *
1745
+ * @param {HTMLElement} el Parent element containing the fields to be masked
1746
+ * @return {boolean}
1747
+ */
1748
+ module.exports = function (el) {
1749
+ // this is the *target* state:
1750
+ // * if the element has the attr and it's !== "true", pressed is true
1751
+ // * otherwise, pressed is false
1752
+ var pressed = el.hasAttribute(PRESSED) && el.getAttribute(PRESSED) !== 'true';
1753
+
1754
+ var fields = resolveIdRefs(el.getAttribute(CONTROLS));
1755
+ forEach(fields, function (field) {
1756
+ return toggleFieldMask(field, pressed);
1757
+ });
1758
+
1759
+ if (!el.hasAttribute(SHOW_ATTR)) {
1760
+ el.setAttribute(SHOW_ATTR, el.textContent);
1761
+ }
1762
+
1763
+ var showText = el.getAttribute(SHOW_ATTR);
1764
+ var hideText = el.getAttribute(HIDE_ATTR) || getHideText(showText);
1765
+
1766
+ el.textContent = pressed ? showText : hideText;
1767
+ el.setAttribute(PRESSED, pressed);
1768
+ return pressed;
1769
+ };
1770
+
1771
+ },{"./select":32,"./toggle-field-mask":33,"array-foreach":2,"resolve-id-refs":15}],35:[function(require,module,exports){
1772
+ 'use strict';
1773
+
1774
+ var EXPANDED = 'aria-expanded';
1775
+ var CONTROLS = 'aria-controls';
1776
+ var HIDDEN = 'aria-hidden';
1777
+
1778
+ module.exports = function (button, expanded) {
1779
+
1780
+ if (typeof expanded !== 'boolean') {
1781
+ expanded = button.getAttribute(EXPANDED) === 'false';
1782
+ }
1783
+ button.setAttribute(EXPANDED, expanded);
1784
+
1785
+ var id = button.getAttribute(CONTROLS);
1786
+ var controls = document.getElementById(id);
1787
+ if (!controls) {
1788
+ throw new Error('No toggle target found with id: "' + id + '"');
1789
+ }
1790
+
1791
+ controls.setAttribute(HIDDEN, !expanded);
1792
+ return expanded;
1793
+ };
1794
+
1795
+ },{}],36:[function(require,module,exports){
1796
+ 'use strict';
1797
+
1798
+ var dataset = require('elem-dataset');
1799
+
1800
+ var PREFIX = require('../config').prefix;
1801
+ var CHECKED = 'aria-checked';
1802
+ var CHECKED_CLASS = PREFIX + '-checklist-checked';
1803
+
1804
+ module.exports = function validate(el) {
1805
+ var data = dataset(el);
1806
+ var id = data.validationElement;
1807
+ var checkList = id.charAt(0) === '#' ? document.querySelector(id) : document.getElementById(id);
1808
+
1809
+ if (!checkList) {
1810
+ throw new Error('No validation element found with id: "' + id + '"');
1811
+ }
1812
+
1813
+ for (var key in data) {
1814
+ if (key.startsWith('validate')) {
1815
+ var validatorName = key.substr('validate'.length).toLowerCase();
1816
+ var validatorPattern = new RegExp(data[key]);
1817
+ var validatorSelector = '[data-validator="' + validatorName + '"]';
1818
+ var validatorCheckbox = checkList.querySelector(validatorSelector);
1819
+ if (!validatorCheckbox) {
1820
+ throw new Error('No validator checkbox found for: "' + validatorName + '"');
1821
+ }
1822
+
1823
+ var checked = validatorPattern.test(el.value);
1824
+ validatorCheckbox.classList.toggle(CHECKED_CLASS, checked);
1825
+ validatorCheckbox.setAttribute(CHECKED, checked);
1826
+ }
1827
+ }
1828
+ };
1829
+
1830
+ },{"../config":25,"elem-dataset":5}]},{},[29])
1831
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvYXJyYXktZmlsdGVyL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL2FycmF5LWZvcmVhY2gvaW5kZXguanMiLCJub2RlX21vZHVsZXMvY2xhc3NsaXN0LXBvbHlmaWxsL3NyYy9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9kb21yZWFkeS9yZWFkeS5qcyIsIm5vZGVfbW9kdWxlcy9lbGVtLWRhdGFzZXQvZGlzdC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9lbGVtZW50LWNsb3Nlc3QvZWxlbWVudC1jbG9zZXN0LmpzIiwibm9kZV9tb2R1bGVzL2xvZGFzaC5kZWJvdW5jZS9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2JlaGF2aW9yL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2NvbXBvc2UvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGUvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGVBbGwvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvaWdub3JlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL29uY2UvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVzb2x2ZS1pZC1yZWZzL2luZGV4LmpzIiwic3JjL2pzL2NvbXBvbmVudHMvYWNjb3JkaW9uLmpzIiwic3JjL2pzL2NvbXBvbmVudHMvYmFubmVyLmpzIiwic3JjL2pzL2NvbXBvbmVudHMvZm9vdGVyLmpzIiwic3JjL2pzL2NvbXBvbmVudHMvaW5kZXguanMiLCJzcmMvanMvY29tcG9uZW50cy9uYXZpZ2F0aW9uLmpzIiwic3JjL2pzL2NvbXBvbmVudHMvcGFzc3dvcmQuanMiLCJzcmMvanMvY29tcG9uZW50cy9zZWFyY2guanMiLCJzcmMvanMvY29tcG9uZW50cy9za2lwbmF2LmpzIiwic3JjL2pzL2NvbXBvbmVudHMvdmFsaWRhdG9yLmpzIiwic3JjL2pzL2NvbmZpZy5qcyIsInNyYy9qcy9ldmVudHMuanMiLCJzcmMvanMvcG9seWZpbGxzL2VsZW1lbnQtaGlkZGVuLmpzIiwic3JjL2pzL3BvbHlmaWxscy9pbmRleC5qcyIsInNyYy9qcy9zdGFydC5qcyIsInNyYy9qcy91dGlscy9iZWhhdmlvci5qcyIsInNyYy9qcy91dGlscy9pcy1pbi12aWV3cG9ydC5qcyIsInNyYy9qcy91dGlscy9zZWxlY3QuanMiLCJzcmMvanMvdXRpbHMvdG9nZ2xlLWZpZWxkLW1hc2suanMiLCJzcmMvanMvdXRpbHMvdG9nZ2xlLWZvcm0taW5wdXQuanMiLCJzcmMvanMvdXRpbHMvdG9nZ2xlLmpzIiwic3JjL2pzL3V0aWxzL3ZhbGlkYXRlLWlucHV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUNDQTs7Ozs7Ozs7OztBQVVBLE9BQU8sT0FBUCxHQUFpQixVQUFVLEdBQVYsRUFBZSxFQUFmLEVBQW1CLElBQW5CLEVBQXlCO0FBQ3hDLE1BQUksSUFBSSxNQUFSLEVBQWdCLE9BQU8sSUFBSSxNQUFKLENBQVcsRUFBWCxFQUFlLElBQWYsQ0FBUDtBQUNoQixNQUFJLEtBQUssQ0FBTCxLQUFXLEdBQVgsSUFBa0IsU0FBUyxHQUEvQixFQUFvQyxNQUFNLElBQUksU0FBSixFQUFOO0FBQ3BDLE1BQUksY0FBYyxPQUFPLEVBQXpCLEVBQTZCLE1BQU0sSUFBSSxTQUFKLEVBQU47QUFDN0IsTUFBSSxNQUFNLEVBQVY7QUFDQSxPQUFLLElBQUksSUFBSSxDQUFiLEVBQWdCLElBQUksSUFBSSxNQUF4QixFQUFnQyxHQUFoQyxFQUFxQztBQUNuQyxRQUFJLENBQUMsT0FBTyxJQUFQLENBQVksR0FBWixFQUFpQixDQUFqQixDQUFMLEVBQTBCO0FBQzFCLFFBQUksTUFBTSxJQUFJLENBQUosQ0FBVjtBQUNBLFFBQUksR0FBRyxJQUFILENBQVEsSUFBUixF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QixFQUF1QjtBQUN0QyxNQUFNLE9BQU8sUUFBUSxFQUFSLENBQWI7QUFDQSxNQUFNLEtBQUssS0FBSyxpQkFBaEI7QUFDQSxNQUFNLFlBQVksR0FBRyxNQUFILENBQVUsQ0FBVixNQUFpQixHQUFqQixHQUNkLFNBQVMsYUFBVCxDQUF1QixFQUF2QixDQURjLEdBRWQsU0FBUyxjQUFULENBQXdCLEVBQXhCLENBRko7O0FBSUEsTUFBSSxDQUFDLFNBQUwsRUFBZ0I7QUFDZCxVQUFNLElBQUksS0FBSiw0Q0FDcUMsRUFEckMsT0FBTjtBQUdEOztBQUVELE9BQUssSUFBTSxHQUFYLElBQWtCLElBQWxCLEVBQXdCO0FBQ3RCLFFBQUksSUFBSSxVQUFKLENBQWUsVUFBZixDQUFKLEVBQWdDO0FBQzlCLFVBQU0sZ0JBQWdCLElBQUksTUFBSixDQUFXLFdBQVcsTUFBdEIsRUFBOEIsV0FBOUIsRUFBdEI7QUFDQSxVQUFNLG1CQUFtQixJQUFJLE1BQUosQ0FBVyxLQUFNLEdBQU4sQ0FBWCxDQUF6QjtBQUNBLFVBQU0sMENBQXdDLGFBQXhDLE9BQU47QUFDQSxVQUFNLG9CQUFvQixVQUFVLGFBQVYsQ0FBd0IsaUJBQXhCLENBQTFCO0FBQ0EsVUFBSSxDQUFDLGlCQUFMLEVBQXdCO0FBQ3RCLGNBQU0sSUFBSSxLQUFKLHdDQUNpQyxhQURqQyxPQUFOO0FBR0Q7O0FBRUQsVUFBTSxVQUFVLGlCQUFpQixJQUFqQixDQUFzQixHQUFHLEtBQXpCLENBQWhCO0FBQ0Esd0JBQWtCLFNBQWxCLENBQTRCLE1BQTVCLENBQW1DLGFBQW5DLEVBQWtELE9BQWxEO0FBQ0Esd0JBQWtCLFlBQWxCLENBQStCLE9BQS9CLEVBQXdDLE9BQXhDO0FBQ0Q7QUFDRjtBQUNGLENBOUJEIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIlxuLyoqXG4gKiBBcnJheSNmaWx0ZXIuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gYXJyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxuICogQHBhcmFtIHtPYmplY3Q9fSBzZWxmXG4gKiBAcmV0dXJuIHtBcnJheX1cbiAqIEB0aHJvdyBUeXBlRXJyb3JcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChhcnIsIGZuLCBzZWxmKSB7XG4gIGlmIChhcnIuZmlsdGVyKSByZXR1cm4gYXJyLmZpbHRlcihmbiwgc2VsZik7XG4gIGlmICh2b2lkIDAgPT09IGFyciB8fCBudWxsID09PSBhcnIpIHRocm93IG5ldyBUeXBlRXJyb3I7XG4gIGlmICgnZnVuY3Rpb24nICE9IHR5cGVvZiBmbikgdGhyb3cgbmV3IFR5cGVFcnJvcjtcbiAgdmFyIHJldCA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmICghaGFzT3duLmNhbGwoYXJyLCBpKSkgY29udGludWU7XG4gICAgdmFyIHZhbCA9IGFycltpXTtcbiAgICBpZiAoZm4uY2FsbChzZWxmLCB2YWwsIGksIGFycikpIHJldC5wdXNoKHZhbCk7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn07XG5cbnZhciBoYXNPd24gPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuIiwiLyoqXG4gKiBhcnJheS1mb3JlYWNoXG4gKiAgIEFycmF5I2ZvckVhY2ggcG9ueWZpbGwgZm9yIG9sZGVyIGJyb3dzZXJzXG4gKiAgIChQb255ZmlsbDogQSBwb2x5ZmlsbCB0aGF0IGRvZXNuJ3Qgb3ZlcndyaXRlIHRoZSBuYXRpdmUgbWV0aG9kKVxuICogXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdHdhZGEvYXJyYXktZm9yZWFjaFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE2IFRha3V0byBXYWRhXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2FkYS9hcnJheS1mb3JlYWNoL2Jsb2IvbWFzdGVyL01JVC1MSUNFTlNFXG4gKi9cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBmb3JFYWNoIChhcnksIGNhbGxiYWNrLCB0aGlzQXJnKSB7XG4gICAgaWYgKGFyeS5mb3JFYWNoKSB7XG4gICAgICAgIGFyeS5mb3JFYWNoKGNhbGxiYWNrLCB0aGlzQXJnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyeS5sZW5ndGg7IGkrPTEpIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCBhcnlbaV0sIGksIGFyeSk7XG4gICAgfVxufTtcbiIsIi8qXG4gKiBjbGFzc0xpc3QuanM6IENyb3NzLWJyb3dzZXIgZnVsbCBlbGVtZW50LmNsYXNzTGlzdCBpbXBsZW1lbnRhdGlvbi5cbiAqIDEuMS4yMDE3MDQyN1xuICpcbiAqIEJ5IEVsaSBHcmV5LCBodHRwOi8vZWxpZ3JleS5jb21cbiAqIExpY2Vuc2U6IERlZGljYXRlZCB0byB0aGUgcHVibGljIGRvbWFpbi5cbiAqICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9lbGlncmV5L2NsYXNzTGlzdC5qcy9ibG9iL21hc3Rlci9MSUNFTlNFLm1kXG4gKi9cblxuLypnbG9iYWwgc2VsZiwgZG9jdW1lbnQsIERPTUV4Y2VwdGlvbiAqL1xuXG4vKiEgQHNvdXJjZSBodHRwOi8vcHVybC5lbGlncmV5LmNvbS9naXRodWIvY2xhc3NMaXN0LmpzL2Jsb2IvbWFzdGVyL2NsYXNzTGlzdC5qcyAqL1xuXG5pZiAoXCJkb2N1bWVudFwiIGluIHdpbmRvdy5zZWxmKSB7XG5cbi8vIEZ1bGwgcG9seWZpbGwgZm9yIGJyb3dzZXJzIHdpdGggbm8gY2xhc3NMaXN0IHN1cHBvcnRcbi8vIEluY2x1ZGluZyBJRSA8IEVkZ2UgbWlzc2luZyBTVkdFbGVtZW50LmNsYXNzTGlzdFxuaWYgKCEoXCJjbGFzc0xpc3RcIiBpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiX1wiKSkgXG5cdHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyAmJiAhKFwiY2xhc3NMaXN0XCIgaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcImdcIikpKSB7XG5cbihmdW5jdGlvbiAodmlldykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuaWYgKCEoJ0VsZW1lbnQnIGluIHZpZXcpKSByZXR1cm47XG5cbnZhclxuXHQgIGNsYXNzTGlzdFByb3AgPSBcImNsYXNzTGlzdFwiXG5cdCwgcHJvdG9Qcm9wID0gXCJwcm90b3R5cGVcIlxuXHQsIGVsZW1DdHJQcm90byA9IHZpZXcuRWxlbWVudFtwcm90b1Byb3BdXG5cdCwgb2JqQ3RyID0gT2JqZWN0XG5cdCwgc3RyVHJpbSA9IFN0cmluZ1twcm90b1Byb3BdLnRyaW0gfHwgZnVuY3Rpb24gKCkge1xuXHRcdHJldHVybiB0aGlzLnJlcGxhY2UoL15cXHMrfFxccyskL2csIFwiXCIpO1xuXHR9XG5cdCwgYXJySW5kZXhPZiA9IEFycmF5W3Byb3RvUHJvcF0uaW5kZXhPZiB8fCBmdW5jdGlvbiAoaXRlbSkge1xuXHRcdHZhclxuXHRcdFx0ICBpID0gMFxuXHRcdFx0LCBsZW4gPSB0aGlzLmxlbmd0aFxuXHRcdDtcblx0XHRmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRpZiAoaSBpbiB0aGlzICYmIHRoaXNbaV0gPT09IGl0ZW0pIHtcblx0XHRcdFx0cmV0dXJuIGk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiAtMTtcblx0fVxuXHQvLyBWZW5kb3JzOiBwbGVhc2UgYWxsb3cgY29udGVudCBjb2RlIHRvIGluc3RhbnRpYXRlIERPTUV4Y2VwdGlvbnNcblx0LCBET01FeCA9IGZ1bmN0aW9uICh0eXBlLCBtZXNzYWdlKSB7XG5cdFx0dGhpcy5uYW1lID0gdHlwZTtcblx0XHR0aGlzLmNvZGUgPSBET01FeGNlcHRpb25bdHlwZV07XG5cdFx0dGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcblx0fVxuXHQsIGNoZWNrVG9rZW5BbmRHZXRJbmRleCA9IGZ1bmN0aW9uIChjbGFzc0xpc3QsIHRva2VuKSB7XG5cdFx0aWYgKHRva2VuID09PSBcIlwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgRE9NRXgoXG5cdFx0XHRcdCAgXCJTWU5UQVhfRVJSXCJcblx0XHRcdFx0LCBcIkFuIGludmFsaWQgb3IgaWxsZWdhbCBzdHJpbmcgd2FzIHNwZWNpZmllZFwiXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRpZiAoL1xccy8udGVzdCh0b2tlbikpIHtcblx0XHRcdHRocm93IG5ldyBET01FeChcblx0XHRcdFx0ICBcIklOVkFMSURfQ0hBUkFDVEVSX0VSUlwiXG5cdFx0XHRcdCwgXCJTdHJpbmcgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXJcIlxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIGFyckluZGV4T2YuY2FsbChjbGFzc0xpc3QsIHRva2VuKTtcblx0fVxuXHQsIENsYXNzTGlzdCA9IGZ1bmN0aW9uIChlbGVtKSB7XG5cdFx0dmFyXG5cdFx0XHQgIHRyaW1tZWRDbGFzc2VzID0gc3RyVHJpbS5jYWxsKGVsZW0uZ2V0QXR0cmlidXRlKFwiY2xhc3NcIikgfHwgXCJcIilcblx0XHRcdCwgY2xhc3NlcyA9IHRyaW1tZWRDbGFzc2VzID8gdHJpbW1lZENsYXNzZXMuc3BsaXQoL1xccysvKSA6IFtdXG5cdFx0XHQsIGkgPSAwXG5cdFx0XHQsIGxlbiA9IGNsYXNzZXMubGVuZ3RoXG5cdFx0O1xuXHRcdGZvciAoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdHRoaXMucHVzaChjbGFzc2VzW2ldKTtcblx0XHR9XG5cdFx0dGhpcy5fdXBkYXRlQ2xhc3NOYW1lID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0ZWxlbS5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCB0aGlzLnRvU3RyaW5nKCkpO1xuXHRcdH07XG5cdH1cblx0LCBjbGFzc0xpc3RQcm90byA9IENsYXNzTGlzdFtwcm90b1Byb3BdID0gW11cblx0LCBjbGFzc0xpc3RHZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG5cdFx0cmV0dXJuIG5ldyBDbGFzc0xpc3QodGhpcyk7XG5cdH1cbjtcbi8vIE1vc3QgRE9NRXhjZXB0aW9uIGltcGxlbWVudGF0aW9ucyBkb24ndCBhbGxvdyBjYWxsaW5nIERPTUV4Y2VwdGlvbidzIHRvU3RyaW5nKClcbi8vIG9uIG5vbi1ET01FeGNlcHRpb25zLiBFcnJvcidzIHRvU3RyaW5nKCkgaXMgc3VmZmljaWVudCBoZXJlLlxuRE9NRXhbcHJvdG9Qcm9wXSA9IEVycm9yW3Byb3RvUHJvcF07XG5jbGFzc0xpc3RQcm90by5pdGVtID0gZnVuY3Rpb24gKGkpIHtcblx0cmV0dXJuIHRoaXNbaV0gfHwgbnVsbDtcbn07XG5jbGFzc0xpc3RQcm90by5jb250YWlucyA9IGZ1bmN0aW9uICh0b2tlbikge1xuXHR0b2tlbiArPSBcIlwiO1xuXHRyZXR1cm4gY2hlY2tUb2tlbkFuZEdldEluZGV4KHRoaXMsIHRva2VuKSAhPT0gLTE7XG59O1xuY2xhc3NMaXN0UHJvdG8uYWRkID0gZnVuY3Rpb24gKCkge1xuXHR2YXJcblx0XHQgIHRva2VucyA9IGFyZ3VtZW50c1xuXHRcdCwgaSA9IDBcblx0XHQsIGwgPSB0b2tlbnMubGVuZ3RoXG5cdFx0LCB0b2tlblxuXHRcdCwgdXBkYXRlZCA9IGZhbHNlXG5cdDtcblx0ZG8ge1xuXHRcdHRva2VuID0gdG9rZW5zW2ldICsgXCJcIjtcblx0XHRpZiAoY2hlY2tUb2tlbkFuZEdldEluZGV4KHRoaXMsIHRva2VuKSA9PT0gLTEpIHtcblx0XHRcdHRoaXMucHVzaCh0b2tlbik7XG5cdFx0XHR1cGRhdGVkID0gdHJ1ZTtcblx0XHR9XG5cdH1cblx0d2hpbGUgKCsraSA8IGwpO1xuXG5cdGlmICh1cGRhdGVkKSB7XG5cdFx0dGhpcy5fdXBkYXRlQ2xhc3NOYW1lKCk7XG5cdH1cbn07XG5jbGFzc0xpc3RQcm90by5yZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdHZhclxuXHRcdCAgdG9rZW5zID0gYXJndW1lbnRzXG5cdFx0LCBpID0gMFxuXHRcdCwgbCA9IHRva2Vucy5sZW5ndGhcblx0XHQsIHRva2VuXG5cdFx0LCB1cGRhdGVkID0gZmFsc2Vcblx0XHQsIGluZGV4XG5cdDtcblx0ZG8ge1xuXHRcdHRva2VuID0gdG9rZW5zW2ldICsgXCJcIjtcblx0XHRpbmRleCA9IGNoZWNrVG9rZW5BbmRHZXRJbmRleCh0aGlzLCB0b2tlbik7XG5cdFx0d2hpbGUgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0dGhpcy5zcGxpY2UoaW5kZXgsIDEpO1xuXHRcdFx0dXBkYXRlZCA9IHRydWU7XG5cdFx0XHRpbmRleCA9IGNoZWNrVG9rZW5BbmRHZXRJbmRleCh0aGlzLCB0b2tlbik7XG5cdFx0fVxuXHR9XG5cdHdoaWxlICgrK2kgPCBsKTtcblxuXHRpZiAodXBkYXRlZCkge1xuXHRcdHRoaXMuX3VwZGF0ZUNsYXNzTmFtZSgpO1xuXHR9XG59O1xuY2xhc3NMaXN0UHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gKHRva2VuLCBmb3JjZSkge1xuXHR0b2tlbiArPSBcIlwiO1xuXG5cdHZhclxuXHRcdCAgcmVzdWx0ID0gdGhpcy5jb250YWlucyh0b2tlbilcblx0XHQsIG1ldGhvZCA9IHJlc3VsdCA/XG5cdFx0XHRmb3JjZSAhPT0gdHJ1ZSAmJiBcInJlbW92ZVwiXG5cdFx0OlxuXHRcdFx0Zm9yY2UgIT09IGZhbHNlICYmIFwiYWRkXCJcblx0O1xuXG5cdGlmIChtZXRob2QpIHtcblx0XHR0aGlzW21ldGhvZF0odG9rZW4pO1xuXHR9XG5cblx0aWYgKGZvcmNlID09PSB0cnVlIHx8IGZvcmNlID09PSBmYWxzZSkge1xuXHRcdHJldHVybiBmb3JjZTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gIXJlc3VsdDtcblx0fVxufTtcbmNsYXNzTGlzdFByb3RvLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xuXHRyZXR1cm4gdGhpcy5qb2luKFwiIFwiKTtcbn07XG5cbmlmIChvYmpDdHIuZGVmaW5lUHJvcGVydHkpIHtcblx0dmFyIGNsYXNzTGlzdFByb3BEZXNjID0ge1xuXHRcdCAgZ2V0OiBjbGFzc0xpc3RHZXR0ZXJcblx0XHQsIGVudW1lcmFibGU6IHRydWVcblx0XHQsIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuXHR9O1xuXHR0cnkge1xuXHRcdG9iakN0ci5kZWZpbmVQcm9wZXJ0eShlbGVtQ3RyUHJvdG8sIGNsYXNzTGlzdFByb3AsIGNsYXNzTGlzdFByb3BEZXNjKTtcblx0fSBjYXRjaCAoZXgpIHsgLy8gSUUgOCBkb2Vzbid0IHN1cHBvcnQgZW51bWVyYWJsZTp0cnVlXG5cdFx0Ly8gYWRkaW5nIHVuZGVmaW5lZCB0byBmaWdodCB0aGlzIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9lbGlncmV5L2NsYXNzTGlzdC5qcy9pc3N1ZXMvMzZcblx0XHQvLyBtb2Rlcm5pZSBJRTgtTVNXNyBtYWNoaW5lIGhhcyBJRTggOC4wLjYwMDEuMTg3MDIgYW5kIGlzIGFmZmVjdGVkXG5cdFx0aWYgKGV4Lm51bWJlciA9PT0gdW5kZWZpbmVkIHx8IGV4Lm51bWJlciA9PT0gLTB4N0ZGNUVDNTQpIHtcblx0XHRcdGNsYXNzTGlzdFByb3BEZXNjLmVudW1lcmFibGUgPSBmYWxzZTtcblx0XHRcdG9iakN0ci5kZWZpbmVQcm9wZXJ0eShlbGVtQ3RyUHJvdG8sIGNsYXNzTGlzdFByb3AsIGNsYXNzTGlzdFByb3BEZXNjKTtcblx0XHR9XG5cdH1cbn0gZWxzZSBpZiAob2JqQ3RyW3Byb3RvUHJvcF0uX19kZWZpbmVHZXR0ZXJfXykge1xuXHRlbGVtQ3RyUHJvdG8uX19kZWZpbmVHZXR0ZXJfXyhjbGFzc0xpc3RQcm9wLCBjbGFzc0xpc3RHZXR0ZXIpO1xufVxuXG59KHdpbmRvdy5zZWxmKSk7XG5cbn1cblxuLy8gVGhlcmUgaXMgZnVsbCBvciBwYXJ0aWFsIG5hdGl2ZSBjbGFzc0xpc3Qgc3VwcG9ydCwgc28ganVzdCBjaGVjayBpZiB3ZSBuZWVkXG4vLyB0byBub3JtYWxpemUgdGhlIGFkZC9yZW1vdmUgYW5kIHRvZ2dsZSBBUElzLlxuXG4oZnVuY3Rpb24gKCkge1xuXHRcInVzZSBzdHJpY3RcIjtcblxuXHR2YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiX1wiKTtcblxuXHR0ZXN0RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiYzFcIiwgXCJjMlwiKTtcblxuXHQvLyBQb2x5ZmlsbCBmb3IgSUUgMTAvMTEgYW5kIEZpcmVmb3ggPDI2LCB3aGVyZSBjbGFzc0xpc3QuYWRkIGFuZFxuXHQvLyBjbGFzc0xpc3QucmVtb3ZlIGV4aXN0IGJ1dCBzdXBwb3J0IG9ubHkgb25lIGFyZ3VtZW50IGF0IGEgdGltZS5cblx0aWYgKCF0ZXN0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCJjMlwiKSkge1xuXHRcdHZhciBjcmVhdGVNZXRob2QgPSBmdW5jdGlvbihtZXRob2QpIHtcblx0XHRcdHZhciBvcmlnaW5hbCA9IERPTVRva2VuTGlzdC5wcm90b3R5cGVbbWV0aG9kXTtcblxuXHRcdFx0RE9NVG9rZW5MaXN0LnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24odG9rZW4pIHtcblx0XHRcdFx0dmFyIGksIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cblx0XHRcdFx0Zm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRcdFx0dG9rZW4gPSBhcmd1bWVudHNbaV07XG5cdFx0XHRcdFx0b3JpZ2luYWwuY2FsbCh0aGlzLCB0b2tlbik7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0fTtcblx0XHRjcmVhdGVNZXRob2QoJ2FkZCcpO1xuXHRcdGNyZWF0ZU1ldGhvZCgncmVtb3ZlJyk7XG5cdH1cblxuXHR0ZXN0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFwiYzNcIiwgZmFsc2UpO1xuXG5cdC8vIFBvbHlmaWxsIGZvciBJRSAxMCBhbmQgRmlyZWZveCA8MjQsIHdoZXJlIGNsYXNzTGlzdC50b2dnbGUgZG9lcyBub3Rcblx0Ly8gc3VwcG9ydCB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuXHRpZiAodGVzdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYzNcIikpIHtcblx0XHR2YXIgX3RvZ2dsZSA9IERPTVRva2VuTGlzdC5wcm90b3R5cGUudG9nZ2xlO1xuXG5cdFx0RE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgPSBmdW5jdGlvbih0b2tlbiwgZm9yY2UpIHtcblx0XHRcdGlmICgxIGluIGFyZ3VtZW50cyAmJiAhdGhpcy5jb250YWlucyh0b2tlbikgPT09ICFmb3JjZSkge1xuXHRcdFx0XHRyZXR1cm4gZm9yY2U7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gX3RvZ2dsZS5jYWxsKHRoaXMsIHRva2VuKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdH1cblxuXHR0ZXN0RWxlbWVudCA9IG51bGw7XG59KCkpO1xuXG59XG4iLCIvKiFcbiAgKiBkb21yZWFkeSAoYykgRHVzdGluIERpYXogMjAxNCAtIExpY2Vuc2UgTUlUXG4gICovXG4hZnVuY3Rpb24gKG5hbWUsIGRlZmluaXRpb24pIHtcblxuICBpZiAodHlwZW9mIG1vZHVsZSAhPSAndW5kZWZpbmVkJykgbW9kdWxlLmV4cG9ydHMgPSBkZWZpbml0aW9uKClcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09ICdvYmplY3QnKSBkZWZpbmUoZGVmaW5pdGlvbilcbiAgZWxzZSB0aGlzW25hbWVdID0gZGVmaW5pdGlvbigpXG5cbn0oJ2RvbXJlYWR5JywgZnVuY3Rpb24gKCkge1xuXG4gIHZhciBmbnMgPSBbXSwgbGlzdGVuZXJcbiAgICAsIGRvYyA9IGRvY3VtZW50XG4gICAgLCBoYWNrID0gZG9jLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbFxuICAgICwgZG9tQ29udGVudExvYWRlZCA9ICdET01Db250ZW50TG9hZGVkJ1xuICAgICwgbG9hZGVkID0gKGhhY2sgPyAvXmxvYWRlZHxeYy8gOiAvXmxvYWRlZHxeaXxeYy8pLnRlc3QoZG9jLnJlYWR5U3RhdGUpXG5cblxuICBpZiAoIWxvYWRlZClcbiAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoZG9tQ29udGVudExvYWRlZCwgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoZG9tQ29udGVudExvYWRlZCwgbGlzdGVuZXIpXG4gICAgbG9hZGVkID0gMVxuICAgIHdoaWxlIChsaXN0ZW5lciA9IGZucy5zaGlmdCgpKSBsaXN0ZW5lcigpXG4gIH0pXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChmbikge1xuICAgIGxvYWRlZCA/IHNldFRpbWVvdXQoZm4sIDApIDogZm5zLnB1c2goZm4pXG4gIH1cblxufSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbi8vIDwzIE1vZGVybml6clxuLy8gaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vZGVybml6ci9Nb2Rlcm5penIvbWFzdGVyL2ZlYXR1cmUtZGV0ZWN0cy9kb20vZGF0YXNldC5qc1xuXG5mdW5jdGlvbiB1c2VOYXRpdmUoKSB7XG5cdHZhciBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdGVsZW0uc2V0QXR0cmlidXRlKCdkYXRhLWEtYicsICdjJyk7XG5cblx0cmV0dXJuIEJvb2xlYW4oZWxlbS5kYXRhc2V0ICYmIGVsZW0uZGF0YXNldC5hQiA9PT0gJ2MnKTtcbn1cblxuZnVuY3Rpb24gbmF0aXZlRGF0YXNldChlbGVtZW50KSB7XG5cdHJldHVybiBlbGVtZW50LmRhdGFzZXQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdXNlTmF0aXZlKCkgPyBuYXRpdmVEYXRhc2V0IDogZnVuY3Rpb24gKGVsZW1lbnQpIHtcblx0dmFyIG1hcCA9IHt9O1xuXHR2YXIgYXR0cmlidXRlcyA9IGVsZW1lbnQuYXR0cmlidXRlcztcblxuXHRmdW5jdGlvbiBnZXR0ZXIoKSB7XG5cdFx0cmV0dXJuIHRoaXMudmFsdWU7XG5cdH1cblxuXHRmdW5jdGlvbiBzZXR0ZXIobmFtZSwgdmFsdWUpIHtcblx0XHRpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuXHRcdFx0dGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRmb3IgKHZhciBpID0gMCwgaiA9IGF0dHJpYnV0ZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG5cdFx0dmFyIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXNbaV07XG5cblx0XHRpZiAoYXR0cmlidXRlKSB7XG5cdFx0XHR2YXIgbmFtZSA9IGF0dHJpYnV0ZS5uYW1lO1xuXG5cdFx0XHRpZiAobmFtZS5pbmRleE9mKCdkYXRhLScpID09PSAwKSB7XG5cdFx0XHRcdHZhciBwcm9wID0gbmFtZS5zbGljZSg1KS5yZXBsYWNlKC8tLi9nLCBmdW5jdGlvbiAodSkge1xuXHRcdFx0XHRcdHJldHVybiB1LmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHR2YXIgdmFsdWUgPSBhdHRyaWJ1dGUudmFsdWU7XG5cblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1hcCwgcHJvcCwge1xuXHRcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRcdFx0Z2V0OiBnZXR0ZXIuYmluZCh7IHZhbHVlOiB2YWx1ZSB8fCAnJyB9KSxcblx0XHRcdFx0XHRzZXQ6IHNldHRlci5iaW5kKGVsZW1lbnQsIG5hbWUpXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBtYXA7XG59O1xuXG4iLCIvLyBlbGVtZW50LWNsb3Nlc3QgfCBDQzAtMS4wIHwgZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2Nsb3Nlc3RcblxuKGZ1bmN0aW9uIChFbGVtZW50UHJvdG8pIHtcblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8ubWF0Y2hlcyAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5tYXRjaGVzID0gRWxlbWVudFByb3RvLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90by5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgRWxlbWVudFByb3RvLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fCBmdW5jdGlvbiBtYXRjaGVzKHNlbGVjdG9yKSB7XG5cdFx0XHR2YXIgZWxlbWVudCA9IHRoaXM7XG5cdFx0XHR2YXIgZWxlbWVudHMgPSAoZWxlbWVudC5kb2N1bWVudCB8fCBlbGVtZW50Lm93bmVyRG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuXHRcdFx0dmFyIGluZGV4ID0gMDtcblxuXHRcdFx0d2hpbGUgKGVsZW1lbnRzW2luZGV4XSAmJiBlbGVtZW50c1tpbmRleF0gIT09IGVsZW1lbnQpIHtcblx0XHRcdFx0KytpbmRleDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIEJvb2xlYW4oZWxlbWVudHNbaW5kZXhdKTtcblx0XHR9O1xuXHR9XG5cblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8uY2xvc2VzdCAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5jbG9zZXN0ID0gZnVuY3Rpb24gY2xvc2VzdChzZWxlY3Rvcikge1xuXHRcdFx0dmFyIGVsZW1lbnQgPSB0aGlzO1xuXG5cdFx0XHR3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSAxKSB7XG5cdFx0XHRcdGlmIChlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9O1xuXHR9XG59KSh3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUpO1xuIiwiLyoqXG4gKiBsb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJucG1cIiAtbyAuL2BcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL2pxdWVyeS5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG5cbi8qKiBVc2VkIGFzIHRoZSBgVHlwZUVycm9yYCBtZXNzYWdlIGZvciBcIkZ1bmN0aW9uc1wiIG1ldGhvZHMuICovXG52YXIgRlVOQ19FUlJPUl9URVhUID0gJ0V4cGVjdGVkIGEgZnVuY3Rpb24nO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBOQU4gPSAwIC8gMDtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKiogVXNlZCB0byBtYXRjaCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlLiAqL1xudmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCYWRIZXggPSAvXlstK10weFswLTlhLWZdKyQvaTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGJpbmFyeSBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBvY3RhbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbi8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG52YXIgZnJlZVBhcnNlSW50ID0gcGFyc2VJbnQ7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVNYXggPSBNYXRoLm1heCxcbiAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbjtcblxuLyoqXG4gKiBHZXRzIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdGhhdCBoYXZlIGVsYXBzZWQgc2luY2VcbiAqIHRoZSBVbml4IGVwb2NoICgxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBEYXRlXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSB0aW1lc3RhbXAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uZGVmZXIoZnVuY3Rpb24oc3RhbXApIHtcbiAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAqIH0sIF8ubm93KCkpO1xuICogLy8gPT4gTG9ncyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpdCB0b29rIGZvciB0aGUgZGVmZXJyZWQgaW52b2NhdGlvbi5cbiAqL1xudmFyIG5vdyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGVib3VuY2VkIGZ1bmN0aW9uIHRoYXQgZGVsYXlzIGludm9raW5nIGBmdW5jYCB1bnRpbCBhZnRlciBgd2FpdGBcbiAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICogaW52b2tlZC4gVGhlIGRlYm91bmNlZCBmdW5jdGlvbiBjb21lcyB3aXRoIGEgYGNhbmNlbGAgbWV0aG9kIHRvIGNhbmNlbFxuICogZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG8gaW1tZWRpYXRlbHkgaW52b2tlIHRoZW0uXG4gKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAqIGxlYWRpbmcgYW5kL29yIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGB3YWl0YCB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWRcbiAqIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24uIFN1YnNlcXVlbnRcbiAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gKiBpbnZvY2F0aW9uLlxuICpcbiAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAqIGludm9rZWQgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQgb25seSBpZiB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uXG4gKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gKlxuICogSWYgYHdhaXRgIGlzIGAwYCBhbmQgYGxlYWRpbmdgIGlzIGBmYWxzZWAsIGBmdW5jYCBpbnZvY2F0aW9uIGlzIGRlZmVycmVkXG4gKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gKlxuICogU2VlIFtEYXZpZCBDb3JiYWNobydzIGFydGljbGVdKGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZGVib3VuY2luZy10aHJvdHRsaW5nLWV4cGxhaW5lZC1leGFtcGxlcy8pXG4gKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLmRlYm91bmNlYCBhbmQgYF8udGhyb3R0bGVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz1mYWxzZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4V2FpdF1cbiAqICBUaGUgbWF4aW11bSB0aW1lIGBmdW5jYCBpcyBhbGxvd2VkIHRvIGJlIGRlbGF5ZWQgYmVmb3JlIGl0J3MgaW52b2tlZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZGVib3VuY2VkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCBjb3N0bHkgY2FsY3VsYXRpb25zIHdoaWxlIHRoZSB3aW5kb3cgc2l6ZSBpcyBpbiBmbHV4LlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAqXG4gKiAvLyBJbnZva2UgYHNlbmRNYWlsYCB3aGVuIGNsaWNrZWQsIGRlYm91bmNpbmcgc3Vic2VxdWVudCBjYWxscy5cbiAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAqICAgJ2xlYWRpbmcnOiB0cnVlLFxuICogICAndHJhaWxpbmcnOiBmYWxzZVxuICogfSkpO1xuICpcbiAqIC8vIEVuc3VyZSBgYmF0Y2hMb2dgIGlzIGludm9rZWQgb25jZSBhZnRlciAxIHNlY29uZCBvZiBkZWJvdW5jZWQgY2FsbHMuXG4gKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAqIHZhciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJy9zdHJlYW0nKTtcbiAqIGpRdWVyeShzb3VyY2UpLm9uKCdtZXNzYWdlJywgZGVib3VuY2VkKTtcbiAqXG4gKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIGRlYm91bmNlZCBpbnZvY2F0aW9uLlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3BvcHN0YXRlJywgZGVib3VuY2VkLmNhbmNlbCk7XG4gKi9cbmZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgdmFyIGxhc3RBcmdzLFxuICAgICAgbGFzdFRoaXMsXG4gICAgICBtYXhXYWl0LFxuICAgICAgcmVzdWx0LFxuICAgICAgdGltZXJJZCxcbiAgICAgIGxhc3RDYWxsVGltZSxcbiAgICAgIGxhc3RJbnZva2VUaW1lID0gMCxcbiAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgIG1heGluZyA9IGZhbHNlLFxuICAgICAgdHJhaWxpbmcgPSB0cnVlO1xuXG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICB9XG4gIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICBsZWFkaW5nID0gISFvcHRpb25zLmxlYWRpbmc7XG4gICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgbWF4V2FpdCA9IG1heGluZyA/IG5hdGl2ZU1heCh0b051bWJlcihvcHRpb25zLm1heFdhaXQpIHx8IDAsIHdhaXQpIDogbWF4V2FpdDtcbiAgICB0cmFpbGluZyA9ICd0cmFpbGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy50cmFpbGluZyA6IHRyYWlsaW5nO1xuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKSB7XG4gICAgdmFyIGFyZ3MgPSBsYXN0QXJncyxcbiAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgIC8vIFJlc2V0IGFueSBgbWF4V2FpdGAgdGltZXIuXG4gICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAvLyBJbnZva2UgdGhlIGxlYWRpbmcgZWRnZS5cbiAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiByZW1haW5pbmdXYWl0KHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lLFxuICAgICAgICByZXN1bHQgPSB3YWl0IC0gdGltZVNpbmNlTGFzdENhbGw7XG5cbiAgICByZXR1cm4gbWF4aW5nID8gbmF0aXZlTWluKHJlc3VsdCwgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpIDogcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lO1xuXG4gICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAvLyB0cmFpbGluZyBlZGdlLCB0aGUgc3lzdGVtIHRpbWUgaGFzIGdvbmUgYmFja3dhcmRzIGFuZCB3ZSdyZSB0cmVhdGluZ1xuICAgIC8vIGl0IGFzIHRoZSB0cmFpbGluZyBlZGdlLCBvciB3ZSd2ZSBoaXQgdGhlIGBtYXhXYWl0YCBsaW1pdC5cbiAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgKHRpbWVTaW5jZUxhc3RDYWxsIDwgMCkgfHwgKG1heGluZyAmJiB0aW1lU2luY2VMYXN0SW52b2tlID49IG1heFdhaXQpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICB2YXIgdGltZSA9IG5vdygpO1xuICAgIGlmIChzaG91bGRJbnZva2UodGltZSkpIHtcbiAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgfVxuICAgIC8vIFJlc3RhcnQgdGhlIHRpbWVyLlxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gIH1cblxuICBmdW5jdGlvbiB0cmFpbGluZ0VkZ2UodGltZSkge1xuICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBPbmx5IGludm9rZSBpZiB3ZSBoYXZlIGBsYXN0QXJnc2Agd2hpY2ggbWVhbnMgYGZ1bmNgIGhhcyBiZWVuXG4gICAgLy8gZGVib3VuY2VkIGF0IGxlYXN0IG9uY2UuXG4gICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICByZXR1cm4gaW52b2tlRnVuYyh0aW1lKTtcbiAgICB9XG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgIGlmICh0aW1lcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICB9XG4gICAgbGFzdEludm9rZVRpbWUgPSAwO1xuICAgIGxhc3RBcmdzID0gbGFzdENhbGxUaW1lID0gbGFzdFRoaXMgPSB0aW1lcklkID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZmx1c2goKSB7XG4gICAgcmV0dXJuIHRpbWVySWQgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IHRyYWlsaW5nRWRnZShub3coKSk7XG4gIH1cblxuICBmdW5jdGlvbiBkZWJvdW5jZWQoKSB7XG4gICAgdmFyIHRpbWUgPSBub3coKSxcbiAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xuICAgIGxhc3RUaGlzID0gdGhpcztcbiAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgaWYgKGlzSW52b2tpbmcpIHtcbiAgICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgICBpZiAobWF4aW5nKSB7XG4gICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIHJldHVybiBpbnZva2VGdW5jKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZGVib3VuY2VkLmNhbmNlbCA9IGNhbmNlbDtcbiAgZGVib3VuY2VkLmZsdXNoID0gZmx1c2g7XG4gIHJldHVybiBkZWJvdW5jZWQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLiBBIHZhbHVlIGlzIG9iamVjdC1saWtlIGlmIGl0J3Mgbm90IGBudWxsYFxuICogYW5kIGhhcyBhIGB0eXBlb2ZgIHJlc3VsdCBvZiBcIm9iamVjdFwiLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN5bWJvbGAgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzeW1ib2wnIHx8XG4gICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgb2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT0gc3ltYm9sVGFnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgbnVtYmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvTnVtYmVyKDMuMik7XG4gKiAvLyA9PiAzLjJcbiAqXG4gKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gNWUtMzI0XG4gKlxuICogXy50b051bWJlcihJbmZpbml0eSk7XG4gKiAvLyA9PiBJbmZpbml0eVxuICpcbiAqIF8udG9OdW1iZXIoJzMuMicpO1xuICogLy8gPT4gMy4yXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBOQU47XG4gIH1cbiAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHZhciBvdGhlciA9IHR5cGVvZiB2YWx1ZS52YWx1ZU9mID09ICdmdW5jdGlvbicgPyB2YWx1ZS52YWx1ZU9mKCkgOiB2YWx1ZTtcbiAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgfVxuICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UocmVUcmltLCAnJyk7XG4gIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gIHJldHVybiAoaXNCaW5hcnkgfHwgcmVJc09jdGFsLnRlc3QodmFsdWUpKVxuICAgID8gZnJlZVBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCBpc0JpbmFyeSA/IDIgOiA4KVxuICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRlYm91bmNlO1xuIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsImNvbnN0IGFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcbmNvbnN0IGRlbGVnYXRlID0gcmVxdWlyZSgnLi4vZGVsZWdhdGUnKTtcbmNvbnN0IGRlbGVnYXRlQWxsID0gcmVxdWlyZSgnLi4vZGVsZWdhdGVBbGwnKTtcblxuY29uc3QgREVMRUdBVEVfUEFUVEVSTiA9IC9eKC4rKTpkZWxlZ2F0ZVxcKCguKylcXCkkLztcbmNvbnN0IFNQQUNFID0gJyAnO1xuXG5jb25zdCBnZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbih0eXBlLCBoYW5kbGVyKSB7XG4gIHZhciBtYXRjaCA9IHR5cGUubWF0Y2goREVMRUdBVEVfUEFUVEVSTik7XG4gIHZhciBzZWxlY3RvcjtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdHlwZSA9IG1hdGNoWzFdO1xuICAgIHNlbGVjdG9yID0gbWF0Y2hbMl07XG4gIH1cblxuICB2YXIgb3B0aW9ucztcbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnb2JqZWN0Jykge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBjYXB0dXJlOiBwb3BLZXkoaGFuZGxlciwgJ2NhcHR1cmUnKSxcbiAgICAgIHBhc3NpdmU6IHBvcEtleShoYW5kbGVyLCAncGFzc2l2ZScpXG4gICAgfTtcbiAgfVxuXG4gIHZhciBsaXN0ZW5lciA9IHtcbiAgICBzZWxlY3Rvcjogc2VsZWN0b3IsXG4gICAgZGVsZWdhdGU6ICh0eXBlb2YgaGFuZGxlciA9PT0gJ29iamVjdCcpXG4gICAgICA/IGRlbGVnYXRlQWxsKGhhbmRsZXIpXG4gICAgICA6IHNlbGVjdG9yXG4gICAgICAgID8gZGVsZWdhdGUoc2VsZWN0b3IsIGhhbmRsZXIpXG4gICAgICAgIDogaGFuZGxlcixcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH07XG5cbiAgaWYgKHR5cGUuaW5kZXhPZihTUEFDRSkgPiAtMSkge1xuICAgIHJldHVybiB0eXBlLnNwbGl0KFNQQUNFKS5tYXAoZnVuY3Rpb24oX3R5cGUpIHtcbiAgICAgIHJldHVybiBhc3NpZ24oe3R5cGU6IF90eXBlfSwgbGlzdGVuZXIpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGxpc3RlbmVyLnR5cGUgPSB0eXBlO1xuICAgIHJldHVybiBbbGlzdGVuZXJdO1xuICB9XG59O1xuXG52YXIgcG9wS2V5ID0gZnVuY3Rpb24ob2JqLCBrZXkpIHtcbiAgdmFyIHZhbHVlID0gb2JqW2tleV07XG4gIGRlbGV0ZSBvYmpba2V5XTtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBiZWhhdmlvcihldmVudHMsIHByb3BzKSB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IE9iamVjdC5rZXlzKGV2ZW50cylcbiAgICAucmVkdWNlKGZ1bmN0aW9uKG1lbW8sIHR5cGUpIHtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnModHlwZSwgZXZlbnRzW3R5cGVdKTtcbiAgICAgIHJldHVybiBtZW1vLmNvbmNhdChsaXN0ZW5lcnMpO1xuICAgIH0sIFtdKTtcblxuICByZXR1cm4gYXNzaWduKHtcbiAgICBhZGQ6IGZ1bmN0aW9uIGFkZEJlaGF2aW9yKGVsZW1lbnQpIHtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uKGxpc3RlbmVyKSB7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBsaXN0ZW5lci50eXBlLFxuICAgICAgICAgIGxpc3RlbmVyLmRlbGVnYXRlLFxuICAgICAgICAgIGxpc3RlbmVyLm9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmVCZWhhdmlvcihlbGVtZW50KSB7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbihsaXN0ZW5lcikge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgbGlzdGVuZXIudHlwZSxcbiAgICAgICAgICBsaXN0ZW5lci5kZWxlZ2F0ZSxcbiAgICAgICAgICBsaXN0ZW5lci5vcHRpb25zXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHByb3BzKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNvbXBvc2UoZnVuY3Rpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbihlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9ucy5zb21lKGZ1bmN0aW9uKGZuKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBlKSA9PT0gZmFsc2U7XG4gICAgfSwgdGhpcyk7XG4gIH07XG59O1xuIiwiLy8gcG9seWZpbGwgRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdFxucmVxdWlyZSgnZWxlbWVudC1jbG9zZXN0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVsZWdhdGUoc2VsZWN0b3IsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBkZWxlZ2F0aW9uKGV2ZW50KSB7XG4gICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0YXJnZXQsIGV2ZW50KTtcbiAgICB9XG4gIH1cbn07XG4iLCJjb25zdCBkZWxlZ2F0ZSA9IHJlcXVpcmUoJy4uL2RlbGVnYXRlJyk7XG5jb25zdCBjb21wb3NlID0gcmVxdWlyZSgnLi4vY29tcG9zZScpO1xuXG5jb25zdCBTUExBVCA9ICcqJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkZWxlZ2F0ZUFsbChzZWxlY3RvcnMpIHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHNlbGVjdG9ycylcblxuICAvLyBYWFggb3B0aW1pemF0aW9uOiBpZiB0aGVyZSBpcyBvbmx5IG9uZSBoYW5kbGVyIGFuZCBpdCBhcHBsaWVzIHRvXG4gIC8vIGFsbCBlbGVtZW50cyAodGhlIFwiKlwiIENTUyBzZWxlY3RvciksIHRoZW4ganVzdCByZXR1cm4gdGhhdFxuICAvLyBoYW5kbGVyXG4gIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSBTUExBVCkge1xuICAgIHJldHVybiBzZWxlY3RvcnNbU1BMQVRdO1xuICB9XG5cbiAgY29uc3QgZGVsZWdhdGVzID0ga2V5cy5yZWR1Y2UoZnVuY3Rpb24obWVtbywgc2VsZWN0b3IpIHtcbiAgICBtZW1vLnB1c2goZGVsZWdhdGUoc2VsZWN0b3IsIHNlbGVjdG9yc1tzZWxlY3Rvcl0pKTtcbiAgICByZXR1cm4gbWVtbztcbiAgfSwgW10pO1xuICByZXR1cm4gY29tcG9zZShkZWxlZ2F0ZXMpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaWdub3JlKGVsZW1lbnQsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBpZ25vcmFuY2UoZSkge1xuICAgIGlmIChlbGVtZW50ICE9PSBlLnRhcmdldCAmJiAhZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoaXMsIGUpO1xuICAgIH1cbiAgfTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG9uY2UobGlzdGVuZXIsIG9wdGlvbnMpIHtcbiAgdmFyIHdyYXBwZWQgPSBmdW5jdGlvbiB3cmFwcGVkT25jZShlKSB7XG4gICAgZS5jdXJyZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLCB3cmFwcGVkLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbGlzdGVuZXIuY2FsbCh0aGlzLCBlKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZWQ7XG59O1xuXG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBSRV9UUklNID0gLyheXFxzKyl8KFxccyskKS9nO1xudmFyIFJFX1NQTElUID0gL1xccysvO1xuXG52YXIgdHJpbSA9IFN0cmluZy5wcm90b3R5cGUudHJpbVxuICA/IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnRyaW0oKTsgfVxuICA6IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnJlcGxhY2UoUkVfVFJJTSwgJycpOyB9O1xuXG52YXIgcXVlcnlCeUlkID0gZnVuY3Rpb24oaWQpIHtcbiAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIGlkLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKSArICdcIl0nKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmVzb2x2ZUlkcyhpZHMsIGRvYykge1xuICBpZiAodHlwZW9mIGlkcyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nIGJ1dCBnb3QgJyArICh0eXBlb2YgaWRzKSk7XG4gIH1cblxuICBpZiAoIWRvYykge1xuICAgIGRvYyA9IHdpbmRvdy5kb2N1bWVudDtcbiAgfVxuXG4gIHZhciBnZXRFbGVtZW50QnlJZCA9IGRvYy5nZXRFbGVtZW50QnlJZFxuICAgID8gZG9jLmdldEVsZW1lbnRCeUlkLmJpbmQoZG9jKVxuICAgIDogcXVlcnlCeUlkLmJpbmQoZG9jKTtcblxuICBpZHMgPSB0cmltKGlkcykuc3BsaXQoUkVfU1BMSVQpO1xuXG4gIC8vIFhYWCB3ZSBjYW4gc2hvcnQtY2lyY3VpdCBoZXJlIGJlY2F1c2UgdHJpbW1pbmcgYW5kIHNwbGl0dGluZyBhXG4gIC8vIHN0cmluZyBvZiBqdXN0IHdoaXRlc3BhY2UgcHJvZHVjZXMgYW4gYXJyYXkgY29udGFpbmluZyBhIHNpbmdsZSxcbiAgLy8gZW1wdHkgc3RyaW5nXG4gIGlmIChpZHMubGVuZ3RoID09PSAxICYmIGlkc1swXSA9PT0gJycpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gaWRzXG4gICAgLm1hcChmdW5jdGlvbihpZCkge1xuICAgICAgdmFyIGVsID0gZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgICAgaWYgKCFlbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGVsZW1lbnQgd2l0aCBpZDogXCInICsgaWQgKyAnXCInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbDtcbiAgICB9KTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoJy4uL3V0aWxzL2JlaGF2aW9yJyk7XG5jb25zdCBmaWx0ZXIgPSByZXF1aXJlKCdhcnJheS1maWx0ZXInKTtcbmNvbnN0IGZvckVhY2ggPSByZXF1aXJlKCdhcnJheS1mb3JlYWNoJyk7XG5jb25zdCB0b2dnbGUgPSByZXF1aXJlKCcuLi91dGlscy90b2dnbGUnKTtcbmNvbnN0IGlzRWxlbWVudEluVmlld3BvcnQgPSByZXF1aXJlKCcuLi91dGlscy9pcy1pbi12aWV3cG9ydCcpO1xuXG5jb25zdCBDTElDSyA9IHJlcXVpcmUoJy4uL2V2ZW50cycpLkNMSUNLO1xuY29uc3QgUFJFRklYID0gcmVxdWlyZSgnLi4vY29uZmlnJykucHJlZml4O1xuXG4vLyBYWFggbWF0Y2ggLnVzYS1hY2NvcmRpb24gYW5kIC51c2EtYWNjb3JkaW9uLWJvcmRlcmVkXG5jb25zdCBBQ0NPUkRJT04gPSBgLiR7UFJFRklYfS1hY2NvcmRpb24sIC4ke1BSRUZJWH0tYWNjb3JkaW9uLWJvcmRlcmVkYDtcbmNvbnN0IEJVVFRPTiA9IGAuJHtQUkVGSVh9LWFjY29yZGlvbi1idXR0b25bYXJpYS1jb250cm9sc11gO1xuY29uc3QgRVhQQU5ERUQgPSAnYXJpYS1leHBhbmRlZCc7XG5jb25zdCBNVUxUSVNFTEVDVEFCTEUgPSAnYXJpYS1tdWx0aXNlbGVjdGFibGUnO1xuXG4vKipcbiAqIFRvZ2dsZSBhIGJ1dHRvbidzIFwicHJlc3NlZFwiIHN0YXRlLCBvcHRpb25hbGx5IHByb3ZpZGluZyBhIHRhcmdldFxuICogc3RhdGUuXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gYnV0dG9uXG4gKiBAcGFyYW0ge2Jvb2xlYW4/fSBleHBhbmRlZCBJZiBubyBzdGF0ZSBpcyBwcm92aWRlZCwgdGhlIGN1cnJlbnRcbiAqIHN0YXRlIHdpbGwgYmUgdG9nZ2xlZCAoZnJvbSBmYWxzZSB0byB0cnVlLCBhbmQgdmljZS12ZXJzYSkuXG4gKiBAcmV0dXJuIHtib29sZWFufSB0aGUgcmVzdWx0aW5nIHN0YXRlXG4gKi9cbmNvbnN0IHRvZ2dsZUJ1dHRvbiA9IChidXR0b24sIGV4cGFuZGVkKSA9PiB7XG4gIHZhciBhY2NvcmRpb24gPSBidXR0b24uY2xvc2VzdChBQ0NPUkRJT04pO1xuICBpZiAoIWFjY29yZGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtCVVRUT059IGlzIG1pc3Npbmcgb3V0ZXIgJHtBQ0NPUkRJT059YCk7XG4gIH1cblxuICBleHBhbmRlZCA9IHRvZ2dsZShidXR0b24sIGV4cGFuZGVkKTtcbiAgLy8gWFhYIG11bHRpc2VsZWN0YWJsZSBpcyBvcHQtaW4sIHRvIHByZXNlcnZlIGxlZ2FjeSBiZWhhdmlvclxuICBjb25zdCBtdWx0aXNlbGVjdGFibGUgPSBhY2NvcmRpb24uZ2V0QXR0cmlidXRlKE1VTFRJU0VMRUNUQUJMRSkgPT09ICd0cnVlJztcblxuICBpZiAoZXhwYW5kZWQgJiYgIW11bHRpc2VsZWN0YWJsZSkge1xuICAgIGZvckVhY2goZ2V0QWNjb3JkaW9uQnV0dG9ucyhhY2NvcmRpb24pLCBvdGhlciA9PiB7XG4gICAgICBpZiAob3RoZXIgIT09IGJ1dHRvbikge1xuICAgICAgICB0b2dnbGUob3RoZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBidXR0b25cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWVcbiAqL1xuY29uc3Qgc2hvd0J1dHRvbiA9IGJ1dHRvbiA9PiB0b2dnbGVCdXR0b24oYnV0dG9uLCB0cnVlKTtcblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBidXR0b25cbiAqIEByZXR1cm4ge2Jvb2xlYW59IGZhbHNlXG4gKi9cbmNvbnN0IGhpZGVCdXR0b24gPSBidXR0b24gPT4gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgZmFsc2UpO1xuXG4vKipcbiAqIEdldCBhbiBBcnJheSBvZiBidXR0b24gZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogYWNjb3JkaW9uIGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBhY2NvcmRpb25cbiAqIEByZXR1cm4ge2FycmF5PEhUTUxCdXR0b25FbGVtZW50Pn1cbiAqL1xuY29uc3QgZ2V0QWNjb3JkaW9uQnV0dG9ucyA9IGFjY29yZGlvbiA9PiB7XG4gIHJldHVybiBmaWx0ZXIoYWNjb3JkaW9uLnF1ZXJ5U2VsZWN0b3JBbGwoQlVUVE9OKSwgYnV0dG9uID0+IHtcbiAgICByZXR1cm4gYnV0dG9uLmNsb3Nlc3QoQUNDT1JESU9OKSA9PT0gYWNjb3JkaW9uO1xuICB9KTtcbn07XG5cbmNvbnN0IGFjY29yZGlvbiA9IGJlaGF2aW9yKHtcbiAgWyBDTElDSyBdOiB7XG4gICAgWyBCVVRUT04gXTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdG9nZ2xlQnV0dG9uKHRoaXMpO1xuXG4gICAgICBpZiAodGhpcy5nZXRBdHRyaWJ1dGUoRVhQQU5ERUQpID09PSAndHJ1ZScpIHtcbiAgICAgICAgLy8gV2Ugd2VyZSBqdXN0IGV4cGFuZGVkLCBidXQgaWYgYW5vdGhlciBhY2NvcmRpb24gd2FzIGFsc28ganVzdFxuICAgICAgICAvLyBjb2xsYXBzZWQsIHdlIG1heSBubyBsb25nZXIgYmUgaW4gdGhlIHZpZXdwb3J0LiBUaGlzIGVuc3VyZXNcbiAgICAgICAgLy8gdGhhdCB3ZSBhcmUgc3RpbGwgdmlzaWJsZSwgc28gdGhlIHVzZXIgaXNuJ3QgY29uZnVzZWQuXG4gICAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0aGlzKSkgdGhpcy5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG59LCB7XG4gIGluaXQ6IHJvb3QgPT4ge1xuICAgIGZvckVhY2gocm9vdC5xdWVyeVNlbGVjdG9yQWxsKEJVVFRPTiksIGJ1dHRvbiA9PiB7XG4gICAgICBjb25zdCBleHBhbmRlZCA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoRVhQQU5ERUQpID09PSAndHJ1ZSc7XG4gICAgICB0b2dnbGVCdXR0b24oYnV0dG9uLCBleHBhbmRlZCk7XG4gICAgfSk7XG4gIH0sXG4gIEFDQ09SRElPTixcbiAgQlVUVE9OLFxuICBzaG93OiBzaG93QnV0dG9uLFxuICBoaWRlOiBoaWRlQnV0dG9uLFxuICB0b2dnbGU6IHRvZ2dsZUJ1dHRvbixcbiAgZ2V0QnV0dG9uczogZ2V0QWNjb3JkaW9uQnV0dG9ucyxcbn0pO1xuXG4vKipcbiAqIFRPRE86IGZvciAyLjAsIHJlbW92ZSBldmVyeXRoaW5nIGJlbG93IHRoaXMgY29tbWVudCBhbmQgZXhwb3J0IHRoZVxuICogYmVoYXZpb3IgZGlyZWN0bHk6XG4gKlxuICogbW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7Li4ufSk7XG4gKi9cbmNvbnN0IEFjY29yZGlvbiA9IGZ1bmN0aW9uIChyb290KSB7XG4gIHRoaXMucm9vdCA9IHJvb3Q7XG4gIGFjY29yZGlvbi5vbih0aGlzLnJvb3QpO1xufTtcblxuLy8gY29weSBhbGwgb2YgdGhlIGJlaGF2aW9yIG1ldGhvZHMgYW5kIHByb3BzIHRvIEFjY29yZGlvblxuY29uc3QgYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuYXNzaWduKEFjY29yZGlvbiwgYWNjb3JkaW9uKTtcblxuQWNjb3JkaW9uLnByb3RvdHlwZS5zaG93ID0gc2hvd0J1dHRvbjtcbkFjY29yZGlvbi5wcm90b3R5cGUuaGlkZSA9IGhpZGVCdXR0b247XG5cbkFjY29yZGlvbi5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKCkge1xuICBhY2NvcmRpb24ub2ZmKHRoaXMucm9vdCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEFjY29yZGlvbjtcbiIsIid1c2Ugc3RyaWN0JztcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZSgnLi4vdXRpbHMvYmVoYXZpb3InKTtcbmNvbnN0IHRvZ2dsZSA9IHJlcXVpcmUoJy4uL3V0aWxzL3RvZ2dsZScpO1xuXG5jb25zdCBDTElDSyA9IHJlcXVpcmUoJy4uL2V2ZW50cycpLkNMSUNLO1xuY29uc3QgUFJFRklYID0gcmVxdWlyZSgnLi4vY29uZmlnJykucHJlZml4O1xuXG5jb25zdCBIRUFERVIgPSBgLiR7UFJFRklYfS1iYW5uZXItaGVhZGVyYDtcbmNvbnN0IEVYUEFOREVEX0NMQVNTID0gYCR7UFJFRklYfS1iYW5uZXItaGVhZGVyLWV4cGFuZGVkYDtcblxuY29uc3QgdG9nZ2xlQmFubmVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHRoaXMuY2xvc2VzdChIRUFERVIpLmNsYXNzTGlzdC50b2dnbGUoRVhQQU5ERURfQ0xBU1MpO1xuICByZXR1cm4gZmFsc2U7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGJlaGF2aW9yKHtcbiAgWyBDTElDSyBdOiB7XG4gICAgWyBgJHtIRUFERVJ9IFthcmlhLWNvbnRyb2xzXWAgXTogdG9nZ2xlQmFubmVyLFxuICB9LFxufSk7XG4iLCIndXNlIHN0cmljdCc7XG5jb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKCcuL2FjY29yZGlvbicpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKCcuLi91dGlscy9iZWhhdmlvcicpO1xuY29uc3QgZGVib3VuY2UgPSByZXF1aXJlKCdsb2Rhc2guZGVib3VuY2UnKTtcbmNvbnN0IGZvckVhY2ggPSByZXF1aXJlKCdhcnJheS1mb3JlYWNoJyk7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKCcuLi91dGlscy9zZWxlY3QnKTtcblxuY29uc3QgQ0xJQ0sgPSByZXF1aXJlKCcuLi9ldmVudHMnKS5DTElDSztcbmNvbnN0IFBSRUZJWCA9IHJlcXVpcmUoJy4uL2NvbmZpZycpLnByZWZpeDtcblxuY29uc3QgSElEREVOID0gJ2hpZGRlbic7XG5jb25zdCBTQ09QRSA9IGAuJHtQUkVGSVh9LWZvb3Rlci1iaWdgO1xuY29uc3QgTkFWID0gYCR7U0NPUEV9IG5hdmA7XG5jb25zdCBCVVRUT04gPSBgJHtOQVZ9IC4ke1BSRUZJWH0tZm9vdGVyLXByaW1hcnktbGlua2A7XG5jb25zdCBMSVNUID0gYCR7TkFWfSB1bGA7XG5cbmNvbnN0IEhJREVfTUFYX1dJRFRIID0gNjAwO1xuY29uc3QgREVCT1VOQ0VfUkFURSA9IDE4MDtcblxuY29uc3Qgc2hvd1BhbmVsID0gZnVuY3Rpb24gKCkge1xuICBjb25zdCBsaXN0ID0gdGhpcy5jbG9zZXN0KExJU1QpO1xuICBsaXN0LmNsYXNzTGlzdC5yZW1vdmUoSElEREVOKTtcblxuICAvLyBOQjogdGhpcyAqc2hvdWxkKiBhbHdheXMgc3VjY2VlZCBiZWNhdXNlIHRoZSBidXR0b25cbiAgLy8gc2VsZWN0b3IgaXMgc2NvcGVkIHRvIFwiLntwcmVmaXh9LWZvb3Rlci1iaWcgbmF2XCJcbiAgY29uc3QgbGlzdHMgPSBsaXN0LmNsb3Nlc3QoTkFWKVxuICAgIC5xdWVyeVNlbGVjdG9yQWxsKCd1bCcpO1xuXG4gIGZvckVhY2gobGlzdHMsIGVsID0+IHtcbiAgICBpZiAoZWwgIT09IGxpc3QpIHtcbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoSElEREVOKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgcmVzaXplID0gZGVib3VuY2UoKCkgPT4ge1xuICBjb25zdCBoaWRkZW4gPSB3aW5kb3cuaW5uZXJXaWR0aCA8IEhJREVfTUFYX1dJRFRIO1xuICBmb3JFYWNoKHNlbGVjdChMSVNUKSwgbGlzdCA9PiB7XG4gICAgbGlzdC5jbGFzc0xpc3QudG9nZ2xlKEhJRERFTiwgaGlkZGVuKTtcbiAgfSk7XG59LCBERUJPVU5DRV9SQVRFKTtcblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7XG4gIFsgQ0xJQ0sgXToge1xuICAgIFsgQlVUVE9OIF06IHNob3dQYW5lbCxcbiAgfSxcbn0sIHtcbiAgLy8gZXhwb3J0IGZvciB1c2UgZWxzZXdoZXJlXG4gIEhJREVfTUFYX1dJRFRILFxuICBERUJPVU5DRV9SQVRFLFxuXG4gIGluaXQ6IHRhcmdldCA9PiB7XG4gICAgcmVzaXplKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZSk7XG4gIH0sXG5cbiAgdGVhcmRvd246IHRhcmdldCA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZSk7XG4gIH0sXG59KTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICBhY2NvcmRpb246ICByZXF1aXJlKCcuL2FjY29yZGlvbicpLFxuICBiYW5uZXI6ICAgICByZXF1aXJlKCcuL2Jhbm5lcicpLFxuICBmb290ZXI6ICAgICByZXF1aXJlKCcuL2Zvb3RlcicpLFxuICBuYXZpZ2F0aW9uOiByZXF1aXJlKCcuL25hdmlnYXRpb24nKSxcbiAgcGFzc3dvcmQ6ICAgcmVxdWlyZSgnLi9wYXNzd29yZCcpLFxuICBzZWFyY2g6ICAgICByZXF1aXJlKCcuL3NlYXJjaCcpLFxuICBza2lwbmF2OiAgICByZXF1aXJlKCcuL3NraXBuYXYnKSxcbiAgdmFsaWRhdG9yOiAgcmVxdWlyZSgnLi92YWxpZGF0b3InKSxcbn07XG5cbiIsIid1c2Ugc3RyaWN0JztcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZSgnLi4vdXRpbHMvYmVoYXZpb3InKTtcbmNvbnN0IGZvckVhY2ggPSByZXF1aXJlKCdhcnJheS1mb3JlYWNoJyk7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKCcuLi91dGlscy9zZWxlY3QnKTtcbmNvbnN0IGFjY29yZGlvbiA9IHJlcXVpcmUoJy4vYWNjb3JkaW9uJyk7XG5cbmNvbnN0IENMSUNLID0gcmVxdWlyZSgnLi4vZXZlbnRzJykuQ0xJQ0s7XG5jb25zdCBQUkVGSVggPSByZXF1aXJlKCcuLi9jb25maWcnKS5wcmVmaXg7XG5cbmNvbnN0IENPTlRFWFQgPSAnaGVhZGVyJztcbmNvbnN0IE5BViA9IGAuJHtQUkVGSVh9LW5hdmA7XG5jb25zdCBOQVZfTElOS1MgPSBgJHtOQVZ9IGFgO1xuY29uc3QgT1BFTkVSUyA9IGAuJHtQUkVGSVh9LW1lbnUtYnRuYDtcbmNvbnN0IENMT1NFX0JVVFRPTiA9IGAuJHtQUkVGSVh9LW5hdi1jbG9zZWA7XG5jb25zdCBPVkVSTEFZID0gYC4ke1BSRUZJWH0tb3ZlcmxheWA7XG5jb25zdCBDTE9TRVJTID0gYCR7Q0xPU0VfQlVUVE9OfSwgLiR7UFJFRklYfS1vdmVybGF5YDtcbmNvbnN0IFRPR0dMRVMgPSBbIE5BViwgT1ZFUkxBWSBdLmpvaW4oJywgJyk7XG5cbmNvbnN0IEFDVElWRV9DTEFTUyA9ICd1c2EtbW9iaWxlX25hdi1hY3RpdmUnO1xuY29uc3QgVklTSUJMRV9DTEFTUyA9ICdpcy12aXNpYmxlJztcblxuY29uc3QgdG9nZ2xlTmF2ID0gZnVuY3Rpb24gKGFjdGl2ZSkge1xuICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keTtcbiAgaWYgKHR5cGVvZiBhY3RpdmUgIT09ICdib29sZWFuJykge1xuICAgIGFjdGl2ZSA9ICFib2R5LmNsYXNzTGlzdC5jb250YWlucyhBQ1RJVkVfQ0xBU1MpO1xuICB9XG4gIGJvZHkuY2xhc3NMaXN0LnRvZ2dsZShBQ1RJVkVfQ0xBU1MsIGFjdGl2ZSk7XG5cbiAgY29uc3QgY29udGV4dCA9IHRoaXMuY2xvc2VzdChDT05URVhUKTtcbiAgZm9yRWFjaChzZWxlY3QoVE9HR0xFUyksIGVsID0+IHtcbiAgICBlbC5jbGFzc0xpc3QudG9nZ2xlKFZJU0lCTEVfQ0xBU1MpO1xuICB9KTtcblxuICBpZiAoYWN0aXZlICYmIGNvbnRleHQpIHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGNvbnRleHQucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuICAgIGlmIChjbG9zZUJ1dHRvbikge1xuICAgICAgY2xvc2VCdXR0b24uZm9jdXMoKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjdGl2ZTtcbn07XG5cbmNvbnN0IG5hdmlnYXRpb24gPSBiZWhhdmlvcih7XG4gIFsgQ0xJQ0sgXToge1xuICAgIFsgT1BFTkVSUyBdOiB0b2dnbGVOYXYsXG4gICAgWyBDTE9TRVJTIF06IHRvZ2dsZU5hdixcbiAgICBbIE5BVl9MSU5LUyBdOiBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBBIG5hdmlnYXRpb24gbGluayBoYXMgYmVlbiBjbGlja2VkISBXZSB3YW50IHRvIGNvbGxhcHNlIGFueVxuICAgICAgLy8gaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gVUkgaXQncyBhIHBhcnQgb2YsIHNvIHRoYXQgdGhlIHVzZXJcbiAgICAgIC8vIGNhbiBmb2N1cyBvbiB3aGF0ZXZlciB0aGV5J3ZlIGp1c3Qgc2VsZWN0ZWQuXG5cbiAgICAgIC8vIFNvbWUgbmF2aWdhdGlvbiBsaW5rcyBhcmUgaW5zaWRlIGFjY29yZGlvbnM7IHdoZW4gdGhleSdyZVxuICAgICAgLy8gY2xpY2tlZCwgd2Ugd2FudCB0byBjb2xsYXBzZSB0aG9zZSBhY2NvcmRpb25zLlxuICAgICAgY29uc3QgYWNjID0gdGhpcy5jbG9zZXN0KGFjY29yZGlvbi5BQ0NPUkRJT04pO1xuICAgICAgaWYgKGFjYykge1xuICAgICAgICBhY2NvcmRpb24uZ2V0QnV0dG9ucyhhY2MpLmZvckVhY2goYnRuID0+IGFjY29yZGlvbi5oaWRlKGJ0bikpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbW9iaWxlIG5hdmlnYXRpb24gbWVudSBpcyBhY3RpdmUsIHdlIHdhbnQgdG8gaGlkZSBpdC5cbiAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhBQ1RJVkVfQ0xBU1MpKSB7XG4gICAgICAgIHRvZ2dsZU5hdi5jYWxsKHRoaXMpO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG59KTtcblxuLyoqXG4gKiBUT0RPIGZvciAyLjAsIHJlbW92ZSB0aGlzIHN0YXRlbWVudCBhbmQgZXhwb3J0IGBuYXZpZ2F0aW9uYCBkaXJlY3RseTpcbiAqXG4gKiBtb2R1bGUuZXhwb3J0cyA9IGJlaGF2aW9yKHsuLi59KTtcbiAqL1xuY29uc3QgYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ24oXG4gIGVsID0+IG5hdmlnYXRpb24ub24oZWwpLFxuICBuYXZpZ2F0aW9uXG4pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKCcuLi91dGlscy9iZWhhdmlvcicpO1xuY29uc3QgdG9nZ2xlRm9ybUlucHV0ID0gcmVxdWlyZSgnLi4vdXRpbHMvdG9nZ2xlLWZvcm0taW5wdXQnKTtcblxuY29uc3QgQ0xJQ0sgPSByZXF1aXJlKCcuLi9ldmVudHMnKS5DTElDSztcbmNvbnN0IFBSRUZJWCA9IHJlcXVpcmUoJy4uL2NvbmZpZycpLnByZWZpeDtcblxuY29uc3QgTElOSyA9IGAuJHtQUkVGSVh9LXNob3dfcGFzc3dvcmQsIC4ke1BSRUZJWH0tc2hvd19tdWx0aXBhc3N3b3JkYDtcblxuY29uc3QgdG9nZ2xlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHRvZ2dsZUZvcm1JbnB1dCh0aGlzKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3Ioe1xuICBbIENMSUNLIF06IHtcbiAgICBbIExJTksgXTogdG9nZ2xlLFxuICB9LFxufSk7XG4iLCIndXNlIHN0cmljdCc7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoJy4uL3V0aWxzL2JlaGF2aW9yJyk7XG5jb25zdCBmb3JFYWNoID0gcmVxdWlyZSgnYXJyYXktZm9yZWFjaCcpO1xuY29uc3QgaWdub3JlID0gcmVxdWlyZSgncmVjZXB0b3IvaWdub3JlJyk7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKCcuLi91dGlscy9zZWxlY3QnKTtcblxuY29uc3QgQ0xJQ0sgPSByZXF1aXJlKCcuLi9ldmVudHMnKS5DTElDSztcbmNvbnN0IFBSRUZJWCA9IHJlcXVpcmUoJy4uL2NvbmZpZycpLnByZWZpeDtcblxuY29uc3QgQlVUVE9OID0gJy5qcy1zZWFyY2gtYnV0dG9uJztcbmNvbnN0IEZPUk0gPSAnLmpzLXNlYXJjaC1mb3JtJztcbmNvbnN0IElOUFVUID0gJ1t0eXBlPXNlYXJjaF0nO1xuY29uc3QgQ09OVEVYVCA9ICdoZWFkZXInOyAvLyBYWFhcbmNvbnN0IFZJU1VBTExZX0hJRERFTiA9IGAke1BSRUZJWH0tc3Itb25seWA7XG5cbmxldCBsYXN0QnV0dG9uO1xuXG5jb25zdCBzaG93U2VhcmNoID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIHRvZ2dsZVNlYXJjaCh0aGlzLCB0cnVlKTtcbiAgbGFzdEJ1dHRvbiA9IHRoaXM7XG59O1xuXG5jb25zdCBoaWRlU2VhcmNoID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIHRvZ2dsZVNlYXJjaCh0aGlzLCBmYWxzZSk7XG4gIGxhc3RCdXR0b24gPSB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRGb3JtID0gYnV0dG9uID0+IHtcbiAgY29uc3QgY29udGV4dCA9IGJ1dHRvbi5jbG9zZXN0KENPTlRFWFQpO1xuICByZXR1cm4gY29udGV4dFxuICAgID8gY29udGV4dC5xdWVyeVNlbGVjdG9yKEZPUk0pXG4gICAgOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKEZPUk0pO1xufTtcblxuY29uc3QgdG9nZ2xlU2VhcmNoID0gKGJ1dHRvbiwgYWN0aXZlKSA9PiB7XG4gIGNvbnN0IGZvcm0gPSBnZXRGb3JtKGJ1dHRvbik7XG4gIGlmICghZm9ybSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gJHtGT1JNfSBmb3VuZCBmb3Igc2VhcmNoIHRvZ2dsZSBpbiAke0NPTlRFWFR9IWApO1xuICB9XG5cbiAgYnV0dG9uLmhpZGRlbiA9IGFjdGl2ZTtcbiAgZm9ybS5jbGFzc0xpc3QudG9nZ2xlKFZJU1VBTExZX0hJRERFTiwgIWFjdGl2ZSk7XG5cbiAgaWYgKGFjdGl2ZSkge1xuICAgIGNvbnN0IGlucHV0ID0gZm9ybS5xdWVyeVNlbGVjdG9yKElOUFVUKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgfVxuICAgIC8vIHdoZW4gdGhlIHVzZXIgY2xpY2tzIF9vdXRzaWRlXyBvZiB0aGUgZm9ybSB3L2lnbm9yZSgpOiBoaWRlIHRoZVxuICAgIC8vIHNlYXJjaCwgdGhlbiByZW1vdmUgdGhlIGxpc3RlbmVyXG4gICAgY29uc3QgbGlzdGVuZXIgPSBpZ25vcmUoZm9ybSwgZSA9PiB7XG4gICAgICBpZiAobGFzdEJ1dHRvbikge1xuICAgICAgICBoaWRlU2VhcmNoLmNhbGwobGFzdEJ1dHRvbik7XG4gICAgICB9XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoQ0xJQ0ssIGxpc3RlbmVyKTtcbiAgICB9KTtcblxuICAgIC8vIE5vcm1hbGx5IHdlIHdvdWxkIGp1c3QgcnVuIHRoaXMgY29kZSB3aXRob3V0IGEgdGltZW91dCwgYnV0XG4gICAgLy8gSUUxMSBhbmQgRWRnZSB3aWxsIGFjdHVhbGx5IGNhbGwgdGhlIGxpc3RlbmVyICppbW1lZGlhdGVseSogYmVjYXVzZVxuICAgIC8vIHRoZXkgYXJlIGN1cnJlbnRseSBoYW5kbGluZyB0aGlzIGV4YWN0IHR5cGUgb2YgZXZlbnQsIHNvIHdlJ2xsXG4gICAgLy8gbWFrZSBzdXJlIHRoZSBicm93c2VyIGlzIGRvbmUgaGFuZGxpbmcgdGhlIGN1cnJlbnQgY2xpY2sgZXZlbnQsXG4gICAgLy8gaWYgYW55LCBiZWZvcmUgd2UgYXR0YWNoIHRoZSBsaXN0ZW5lci5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihDTElDSywgbGlzdGVuZXIpO1xuICAgIH0sIDApO1xuICB9XG59O1xuXG5jb25zdCBzZWFyY2ggPSBiZWhhdmlvcih7XG4gIFsgQ0xJQ0sgXToge1xuICAgIFsgQlVUVE9OIF06IHNob3dTZWFyY2gsXG4gIH0sXG59LCB7XG4gIGluaXQ6ICh0YXJnZXQpID0+IHtcbiAgICBmb3JFYWNoKHNlbGVjdChCVVRUT04sIHRhcmdldCksIGJ1dHRvbiA9PiB7XG4gICAgICB0b2dnbGVTZWFyY2goYnV0dG9uLCBmYWxzZSk7XG4gICAgfSk7XG4gIH0sXG4gIHRlYXJkb3duOiAodGFyZ2V0KSA9PiB7XG4gICAgLy8gZm9yZ2V0IHRoZSBsYXN0IGJ1dHRvbiBjbGlja2VkXG4gICAgbGFzdEJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIFRPRE8gZm9yIDIuMCwgcmVtb3ZlIHRoaXMgc3RhdGVtZW50IGFuZCBleHBvcnQgYG5hdmlnYXRpb25gIGRpcmVjdGx5OlxuICpcbiAqIG1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3Ioey4uLn0pO1xuICovXG5jb25zdCBhc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGFzc2lnbihcbiAgZWwgPT4gc2VhcmNoLm9uKGVsKSxcbiAgc2VhcmNoXG4pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKCcuLi91dGlscy9iZWhhdmlvcicpO1xuY29uc3Qgb25jZSA9IHJlcXVpcmUoJ3JlY2VwdG9yL29uY2UnKTtcblxuY29uc3QgQ0xJQ0sgPSByZXF1aXJlKCcuLi9ldmVudHMnKS5DTElDSztcbmNvbnN0IFBSRUZJWCA9IHJlcXVpcmUoJy4uL2NvbmZpZycpLnByZWZpeDtcbmNvbnN0IExJTksgPSBgLiR7UFJFRklYfS1za2lwbmF2W2hyZWZePVwiI1wiXWA7XG5cbmNvbnN0IHNldFRhYmluZGV4ID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIC8vIE5COiB3ZSBrbm93IGJlY2F1c2Ugb2YgdGhlIHNlbGVjdG9yIHdlJ3JlIGRlbGVnYXRpbmcgdG8gYmVsb3cgdGhhdCB0aGVcbiAgLy8gaHJlZiBhbHJlYWR5IGJlZ2lucyB3aXRoICcjJ1xuICBjb25zdCBpZCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdocmVmJykuc2xpY2UoMSk7XG4gIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgaWYgKHRhcmdldCkge1xuICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7XG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBvbmNlKGV2ZW50ID0+IHtcbiAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgLTEpO1xuICAgIH0pKTtcbiAgfSBlbHNlIHtcbiAgICAvLyB0aHJvdyBhbiBlcnJvcj9cbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7XG4gIFsgQ0xJQ0sgXToge1xuICAgIFsgTElOSyBdOiBzZXRUYWJpbmRleCxcbiAgfSxcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKCcuLi91dGlscy9iZWhhdmlvcicpO1xuY29uc3QgdmFsaWRhdGUgPSByZXF1aXJlKCcuLi91dGlscy92YWxpZGF0ZS1pbnB1dCcpO1xuY29uc3QgZGVib3VuY2UgPSByZXF1aXJlKCdsb2Rhc2guZGVib3VuY2UnKTtcblxuY29uc3QgY2hhbmdlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIHJldHVybiB2YWxpZGF0ZSh0aGlzKTtcbn07XG5cbmNvbnN0IHZhbGlkYXRvciA9IGJlaGF2aW9yKHtcbiAgJ2tleXVwIGNoYW5nZSc6IHtcbiAgICAnaW5wdXRbZGF0YS12YWxpZGF0aW9uLWVsZW1lbnRdJzogY2hhbmdlLFxuICB9LFxufSk7XG5cbi8qKlxuICogVE9ETyBmb3IgMi4wLCByZW1vdmUgdGhpcyBzdGF0ZW1lbnQgYW5kIGV4cG9ydCBgbmF2aWdhdGlvbmAgZGlyZWN0bHk6XG4gKlxuICogbW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7Li4ufSk7XG4gKi9cbmNvbnN0IGFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcbm1vZHVsZS5leHBvcnRzID0gYXNzaWduKFxuICBlbCA9PiB2YWxpZGF0b3Iub24oZWwpLFxuICB2YWxpZGF0b3Jcbik7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgcHJlZml4OiAndXNhJyxcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgLy8gVGhpcyB1c2VkIHRvIGJlIGNvbmRpdGlvbmFsbHkgZGVwZW5kZW50IG9uIHdoZXRoZXIgdGhlXG4gIC8vIGJyb3dzZXIgc3VwcG9ydGVkIHRvdWNoIGV2ZW50czsgaWYgaXQgZGlkLCBgQ0xJQ0tgIHdhcyBzZXQgdG9cbiAgLy8gYHRvdWNoc3RhcnRgLiAgSG93ZXZlciwgdGhpcyBoYWQgZG93bnNpZGVzOlxuICAvL1xuICAvLyAqIEl0IHByZS1lbXB0ZWQgbW9iaWxlIGJyb3dzZXJzJyBkZWZhdWx0IGJlaGF2aW9yIG9mIGRldGVjdGluZ1xuICAvLyAgIHdoZXRoZXIgYSB0b3VjaCB0dXJuZWQgaW50byBhIHNjcm9sbCwgdGhlcmVieSBwcmV2ZW50aW5nXG4gIC8vICAgdXNlcnMgZnJvbSB1c2luZyBzb21lIG9mIG91ciBjb21wb25lbnRzIGFzIHNjcm9sbCBzdXJmYWNlcy5cbiAgLy9cbiAgLy8gKiBTb21lIGRldmljZXMsIHN1Y2ggYXMgdGhlIE1pY3Jvc29mdCBTdXJmYWNlIFBybywgc3VwcG9ydCAqYm90aCpcbiAgLy8gICB0b3VjaCBhbmQgY2xpY2tzLiBUaGlzIG1lYW50IHRoZSBjb25kaXRpb25hbCBlZmZlY3RpdmVseSBkcm9wcGVkXG4gIC8vICAgc3VwcG9ydCBmb3IgdGhlIHVzZXIncyBtb3VzZSwgZnJ1c3RyYXRpbmcgdXNlcnMgd2hvIHByZWZlcnJlZFxuICAvLyAgIGl0IG9uIHRob3NlIHN5c3RlbXMuXG4gIENMSUNLOiAnY2xpY2snLFxufTtcbiIsIid1c2Ugc3RyaWN0JztcbmNvbnN0IGVscHJvdG8gPSB3aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlO1xuY29uc3QgSElEREVOID0gJ2hpZGRlbic7XG5cbmlmICghKEhJRERFTiBpbiBlbHByb3RvKSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxwcm90bywgSElEREVOLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoSElEREVOKTtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoSElEREVOLCAnJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShISURERU4pO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gcG9seWZpbGxzIEhUTUxFbGVtZW50LnByb3RvdHlwZS5jbGFzc0xpc3QgYW5kIERPTVRva2VuTGlzdFxucmVxdWlyZSgnY2xhc3NsaXN0LXBvbHlmaWxsJyk7XG4vLyBwb2x5ZmlsbHMgSFRNTEVsZW1lbnQucHJvdG90eXBlLmhpZGRlblxucmVxdWlyZSgnLi9lbGVtZW50LWhpZGRlbicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgZG9tcmVhZHkgPSByZXF1aXJlKCdkb21yZWFkeScpO1xuXG4vKipcbiAqIFRoZSAncG9seWZpbGxzJyBkZWZpbmUga2V5IEVDTUFTY3JpcHQgNSBtZXRob2RzIHRoYXQgbWF5IGJlIG1pc3NpbmcgZnJvbVxuICogb2xkZXIgYnJvd3NlcnMsIHNvIG11c3QgYmUgbG9hZGVkIGZpcnN0LlxuICovXG5yZXF1aXJlKCcuL3BvbHlmaWxscycpO1xuXG5jb25zdCB1c3dkcyA9IHJlcXVpcmUoJy4vY29uZmlnJyk7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSByZXF1aXJlKCcuL2NvbXBvbmVudHMnKTtcbnVzd2RzLmNvbXBvbmVudHMgPSBjb21wb25lbnRzO1xuXG5kb21yZWFkeSgoKSA9PiB7XG4gIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmJvZHk7XG4gIGZvciAobGV0IG5hbWUgaW4gY29tcG9uZW50cykge1xuICAgIGNvbnN0IGJlaGF2aW9yID0gY29tcG9uZW50c1sgbmFtZSBdO1xuICAgIGJlaGF2aW9yLm9uKHRhcmdldCk7XG4gIH1cbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHVzd2RzO1xuIiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuY29uc3QgZm9yRWFjaCA9IHJlcXVpcmUoJ2FycmF5LWZvcmVhY2gnKTtcbmNvbnN0IEJlaGF2aW9yID0gcmVxdWlyZSgncmVjZXB0b3IvYmVoYXZpb3InKTtcblxuY29uc3Qgc2VxdWVuY2UgPSBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHNlcSA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuYm9keTtcbiAgICB9XG4gICAgZm9yRWFjaChzZXEsIG1ldGhvZCA9PiB7XG4gICAgICBpZiAodHlwZW9mIHRoaXNbIG1ldGhvZCBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXNbIG1ldGhvZCBdLmNhbGwodGhpcywgdGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn07XG5cbi8qKlxuICogQG5hbWUgYmVoYXZpb3JcbiAqIEBwYXJhbSB7b2JqZWN0fSBldmVudHNcbiAqIEBwYXJhbSB7b2JqZWN0P30gcHJvcHNcbiAqIEByZXR1cm4ge3JlY2VwdG9yLmJlaGF2aW9yfVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChldmVudHMsIHByb3BzKSA9PiB7XG4gIHJldHVybiBCZWhhdmlvcihldmVudHMsIGFzc2lnbih7XG4gICAgb246ICAgc2VxdWVuY2UoJ2luaXQnLCAnYWRkJyksXG4gICAgb2ZmOiAgc2VxdWVuY2UoJ3RlYXJkb3duJywgJ3JlbW92ZScpLFxuICB9LCBwcm9wcykpO1xufTtcbiIsIi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83NTU3NDMzXG5mdW5jdGlvbiBpc0VsZW1lbnRJblZpZXdwb3J0IChlbCwgd2luPXdpbmRvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY0VsPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPj0gMCAmJlxuICAgIHJlY3QubGVmdCA+PSAwICYmXG4gICAgcmVjdC5ib3R0b20gPD0gKHdpbi5pbm5lckhlaWdodCB8fCBkb2NFbC5jbGllbnRIZWlnaHQpICYmXG4gICAgcmVjdC5yaWdodCA8PSAod2luLmlubmVyV2lkdGggfHwgZG9jRWwuY2xpZW50V2lkdGgpXG4gICk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFbGVtZW50SW5WaWV3cG9ydDtcbiIsIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBAbmFtZSBpc0VsZW1lbnRcbiAqIEBkZXNjIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGdpdmVuIGFyZ3VtZW50IGlzIGEgRE9NIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmNvbnN0IGlzRWxlbWVudCA9IHZhbHVlID0+IHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUubm9kZVR5cGUgPT09IDE7XG59O1xuXG4vKipcbiAqIEBuYW1lIHNlbGVjdFxuICogQGRlc2Mgc2VsZWN0cyBlbGVtZW50cyBmcm9tIHRoZSBET00gYnkgY2xhc3Mgc2VsZWN0b3Igb3IgSUQgc2VsZWN0b3IuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgLSBUaGUgc2VsZWN0b3IgdG8gdHJhdmVyc2UgdGhlIERPTSB3aXRoLlxuICogQHBhcmFtIHtEb2N1bWVudHxIVE1MRWxlbWVudD99IGNvbnRleHQgLSBUaGUgY29udGV4dCB0byB0cmF2ZXJzZSB0aGUgRE9NXG4gKiAgIGluLiBJZiBub3QgcHJvdmlkZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBkb2N1bWVudC5cbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzIG9yIGFuIGVtcHR5IGFycmF5LlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNlbGVjdCAoc2VsZWN0b3IsIGNvbnRleHQpIHtcblxuICBpZiAodHlwZW9mIHNlbGVjdG9yICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGlmICghY29udGV4dCB8fCAhaXNFbGVtZW50KGNvbnRleHQpKSB7XG4gICAgY29udGV4dCA9IHdpbmRvdy5kb2N1bWVudDtcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGlvbiA9IGNvbnRleHQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChzZWxlY3Rpb24pO1xufTtcbiIsIi8qKlxuICogRmxpcHMgZ2l2ZW4gSU5QVVQgZWxlbWVudHMgYmV0d2VlbiBtYXNrZWQgKGhpZGluZyB0aGUgZmllbGQgdmFsdWUpIGFuZCB1bm1hc2tlZFxuICogQHBhcmFtIHtBcnJheS5IVE1MRWxlbWVudH0gZmllbGRzIC0gQW4gYXJyYXkgb2YgSU5QVVQgZWxlbWVudHNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gbWFzayAtIFdoZXRoZXIgdGhlIG1hc2sgc2hvdWxkIGJlIGFwcGxpZWQsIGhpZGluZyB0aGUgZmllbGQgdmFsdWVcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoZmllbGQsIG1hc2spID0+IHtcbiAgZmllbGQuc2V0QXR0cmlidXRlKCdhdXRvY2FwaXRhbGl6ZScsICdvZmYnKTtcbiAgZmllbGQuc2V0QXR0cmlidXRlKCdhdXRvY29ycmVjdCcsICdvZmYnKTtcbiAgZmllbGQuc2V0QXR0cmlidXRlKCd0eXBlJywgbWFzayA/ICdwYXNzd29yZCcgOiAndGV4dCcpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbmNvbnN0IGZvckVhY2ggPSByZXF1aXJlKCdhcnJheS1mb3JlYWNoJyk7XG5jb25zdCByZXNvbHZlSWRSZWZzID0gcmVxdWlyZSgncmVzb2x2ZS1pZC1yZWZzJyk7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKCcuL3NlbGVjdCcpO1xuY29uc3QgdG9nZ2xlRmllbGRNYXNrID0gcmVxdWlyZSgnLi90b2dnbGUtZmllbGQtbWFzaycpO1xuXG5jb25zdCBDT05UUk9MUyA9ICdhcmlhLWNvbnRyb2xzJztcbmNvbnN0IFBSRVNTRUQgPSAnYXJpYS1wcmVzc2VkJztcbmNvbnN0IFNIT1dfQVRUUiA9ICdkYXRhLXNob3ctdGV4dCc7XG5jb25zdCBISURFX0FUVFIgPSAnZGF0YS1oaWRlLXRleHQnO1xuXG4vKipcbiAqIFJlcGxhY2UgdGhlIHdvcmQgXCJTaG93XCIgKG9yIFwic2hvd1wiKSB3aXRoIFwiSGlkZVwiIChvciBcImhpZGVcIikgaW4gYSBzdHJpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2hvd1RleHRcbiAqIEByZXR1cm4ge3N0cm9uZ30gaGlkZVRleHRcbiAqL1xuY29uc3QgZ2V0SGlkZVRleHQgPSBzaG93VGV4dCA9PiB7XG4gIHJldHVybiBzaG93VGV4dC5yZXBsYWNlKC9cXGJTaG93XFxiL2ksIHNob3cgPT4ge1xuICAgIHJldHVybiAoJ1MnID09PSBzaG93WyAwIF0gPyAnSCcgOiAnaCcpICsgJ2lkZSc7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCBkZWNvcmF0ZXMgYW4gSFRNTCBlbGVtZW50IHdpdGggdGhlIGFiaWxpdHkgdG8gdG9nZ2xlIHRoZVxuICogbWFza2VkIHN0YXRlIG9mIGFuIGlucHV0IGZpZWxkIChsaWtlIGEgcGFzc3dvcmQpIHdoZW4gY2xpY2tlZC5cbiAqIFRoZSBpZHMgb2YgdGhlIGZpZWxkcyB0byBiZSBtYXNrZWQgd2lsbCBiZSBwdWxsZWQgZGlyZWN0bHkgZnJvbSB0aGUgYnV0dG9uJ3NcbiAqIGBhcmlhLWNvbnRyb2xzYCBhdHRyaWJ1dGUuXG4gKlxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsICAgIFBhcmVudCBlbGVtZW50IGNvbnRhaW5pbmcgdGhlIGZpZWxkcyB0byBiZSBtYXNrZWRcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZWwgPT4ge1xuICAvLyB0aGlzIGlzIHRoZSAqdGFyZ2V0KiBzdGF0ZTpcbiAgLy8gKiBpZiB0aGUgZWxlbWVudCBoYXMgdGhlIGF0dHIgYW5kIGl0J3MgIT09IFwidHJ1ZVwiLCBwcmVzc2VkIGlzIHRydWVcbiAgLy8gKiBvdGhlcndpc2UsIHByZXNzZWQgaXMgZmFsc2VcbiAgY29uc3QgcHJlc3NlZCA9IGVsLmhhc0F0dHJpYnV0ZShQUkVTU0VEKVxuICAgICYmIGVsLmdldEF0dHJpYnV0ZShQUkVTU0VEKSAhPT0gJ3RydWUnO1xuXG4gIGNvbnN0IGZpZWxkcyA9IHJlc29sdmVJZFJlZnMoZWwuZ2V0QXR0cmlidXRlKENPTlRST0xTKSk7XG4gIGZvckVhY2goZmllbGRzLCBmaWVsZCA9PiB0b2dnbGVGaWVsZE1hc2soZmllbGQsIHByZXNzZWQpKTtcblxuICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShTSE9XX0FUVFIpKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKFNIT1dfQVRUUiwgZWwudGV4dENvbnRlbnQpO1xuICB9XG5cbiAgY29uc3Qgc2hvd1RleHQgPSBlbC5nZXRBdHRyaWJ1dGUoU0hPV19BVFRSKTtcbiAgY29uc3QgaGlkZVRleHQgPSBlbC5nZXRBdHRyaWJ1dGUoSElERV9BVFRSKSB8fCBnZXRIaWRlVGV4dChzaG93VGV4dCk7XG5cbiAgZWwudGV4dENvbnRlbnQgPSBwcmVzc2VkID8gc2hvd1RleHQgOiBoaWRlVGV4dDtcbiAgZWwuc2V0QXR0cmlidXRlKFBSRVNTRUQsIHByZXNzZWQpO1xuICByZXR1cm4gcHJlc3NlZDtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5jb25zdCBFWFBBTkRFRCA9ICdhcmlhLWV4cGFuZGVkJztcbmNvbnN0IENPTlRST0xTID0gJ2FyaWEtY29udHJvbHMnO1xuY29uc3QgSElEREVOID0gJ2FyaWEtaGlkZGVuJztcblxubW9kdWxlLmV4cG9ydHMgPSAoYnV0dG9uLCBleHBhbmRlZCkgPT4ge1xuXG4gIGlmICh0eXBlb2YgZXhwYW5kZWQgIT09ICdib29sZWFuJykge1xuICAgIGV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09ICdmYWxzZSc7XG4gIH1cbiAgYnV0dG9uLnNldEF0dHJpYnV0ZShFWFBBTkRFRCwgZXhwYW5kZWQpO1xuXG4gIGNvbnN0IGlkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShDT05UUk9MUyk7XG4gIGNvbnN0IGNvbnRyb2xzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICBpZiAoIWNvbnRyb2xzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05vIHRvZ2dsZSB0YXJnZXQgZm91bmQgd2l0aCBpZDogXCInICsgaWQgKyAnXCInXG4gICAgKTtcbiAgfVxuXG4gIGNvbnRyb2xzLnNldEF0dHJpYnV0ZShISURERU4sICFleHBhbmRlZCk7XG4gIHJldHVybiBleHBhbmRlZDtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5jb25zdCBkYXRhc2V0ID0gcmVxdWlyZSgnZWxlbS1kYXRhc2V0Jyk7XG5cbmNvbnN0IFBSRUZJWCA9IHJlcXVpcmUoJy4uL2NvbmZpZycpLnByZWZpeDtcbmNvbnN0IENIRUNLRUQgPSAnYXJpYS1jaGVja2VkJztcbmNvbnN0IENIRUNLRURfQ0xBU1MgPSBgJHtQUkVGSVh9LWNoZWNrbGlzdC1jaGVja2VkYDtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB2YWxpZGF0ZSAoZWwpIHtcbiAgY29uc3QgZGF0YSA9IGRhdGFzZXQoZWwpO1xuICBjb25zdCBpZCA9IGRhdGEudmFsaWRhdGlvbkVsZW1lbnQ7XG4gIGNvbnN0IGNoZWNrTGlzdCA9IGlkLmNoYXJBdCgwKSA9PT0gJyMnXG4gICAgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGlkKVxuICAgIDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuXG4gIGlmICghY2hlY2tMaXN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIHZhbGlkYXRpb24gZWxlbWVudCBmb3VuZCB3aXRoIGlkOiBcIiR7aWR9XCJgXG4gICAgKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ3ZhbGlkYXRlJykpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvck5hbWUgPSBrZXkuc3Vic3RyKCd2YWxpZGF0ZScubGVuZ3RoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgdmFsaWRhdG9yUGF0dGVybiA9IG5ldyBSZWdFeHAoZGF0YVsga2V5IF0pO1xuICAgICAgY29uc3QgdmFsaWRhdG9yU2VsZWN0b3IgPSBgW2RhdGEtdmFsaWRhdG9yPVwiJHt2YWxpZGF0b3JOYW1lfVwiXWA7XG4gICAgICBjb25zdCB2YWxpZGF0b3JDaGVja2JveCA9IGNoZWNrTGlzdC5xdWVyeVNlbGVjdG9yKHZhbGlkYXRvclNlbGVjdG9yKTtcbiAgICAgIGlmICghdmFsaWRhdG9yQ2hlY2tib3gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBObyB2YWxpZGF0b3IgY2hlY2tib3ggZm91bmQgZm9yOiBcIiR7dmFsaWRhdG9yTmFtZX1cImBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hlY2tlZCA9IHZhbGlkYXRvclBhdHRlcm4udGVzdChlbC52YWx1ZSk7XG4gICAgICB2YWxpZGF0b3JDaGVja2JveC5jbGFzc0xpc3QudG9nZ2xlKENIRUNLRURfQ0xBU1MsIGNoZWNrZWQpO1xuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guc2V0QXR0cmlidXRlKENIRUNLRUQsIGNoZWNrZWQpO1xuICAgIH1cbiAgfVxufTtcbiJdfQ==