@eui/styles 15.0.0-rc.2 → 15.0.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/styles/eui-ecl-ec.css +2 -1
  2. package/dist/styles/eui-ecl-ec.css.map +1 -1
  3. package/dist/styles/eui-ecl-eu.css +2 -1
  4. package/dist/styles/eui-ecl-eu.css.map +1 -1
  5. package/dist/styles/eui-extra-utilities.css.map +1 -1
  6. package/dist/styles/eui-legacy-bootstrap.css.map +1 -1
  7. package/dist/styles/eui-legacy-icons-font.css.map +1 -1
  8. package/dist/styles/eui-legacy-utilities.css.map +1 -1
  9. package/dist/styles/eui-legacy.css +2 -2
  10. package/dist/styles/eui-legacy.css.map +1 -1
  11. package/dist/styles/eui-print.css +1 -1
  12. package/dist/styles/eui-print.css.map +1 -1
  13. package/dist/styles/eui-showcase-all.css +2 -2
  14. package/dist/styles/eui-showcase-all.css.map +1 -1
  15. package/dist/styles/eui.css +2 -2
  16. package/dist/styles/eui.css.map +1 -1
  17. package/package.json +1 -1
  18. package/src/styles/01-ecl/_module-ec.scss +2 -0
  19. package/src/styles/01-ecl/_module-eu.scss +2 -0
  20. package/src/styles/02-base/mixins/_eui-input.scss +14 -2
  21. package/src/styles/02-base/mixins/_module.scss +0 -2
  22. package/src/styles/02b-base-vars/_layout.vars.scss +4 -4
  23. package/src/styles/05-material/_module.scss +20 -25
  24. package/src/styles/05-material/compiled/_full.scss +685 -0
  25. package/src/styles/05-material/compiled/_sources.scss +382 -0
  26. package/src/styles/05-material/{_old-v14-material/components → overrides}/_calendar.scss +2 -0
  27. package/src/styles/05-material/{_old-v14-material/components → overrides}/_cdk-drag.scss +5 -11
  28. package/src/styles/05-material/overrides/{_cdk.scss → _cdk-global-scrollblock.scss} +1 -5
  29. package/src/styles/05-material/{_old-v14-material/components → overrides}/_cdk-overlay-container.scss +0 -0
  30. package/src/styles/05-material/overrides/_cdk-overlay-pane.scss +4 -0
  31. package/src/styles/05-material/{_old-v14-material/components → overrides}/_module.scss +0 -6
  32. package/src/styles/06-shared/_default.scss +11 -0
  33. package/src/styles/06-shared/_module.scss +1 -0
  34. package/src/styles/06-shared/_typography.scss +0 -6
  35. package/src/styles/07-elements/_module-legacy.scss +1 -2
  36. package/src/styles/eui-showcase-all-dev.scss +2 -1
  37. package/src/styles/eui-showcase-all.scss +2 -1
  38. package/src/styles/02-base/mixins/_eui-svg-icons-content.scss +0 -18
  39. package/src/styles/05-material/_old-v14-material/_module.scss +0 -2
  40. package/src/styles/05-material/_old-v14-material/components/_button.scss +0 -133
  41. package/src/styles/05-material/_old-v14-material/components/_cdk-global-scrollblock.scss +0 -16
  42. package/src/styles/05-material/_old-v14-material/components/_cdk-overlay-pane.scss +0 -4
  43. package/src/styles/05-material/_old-v14-material/components/_checkbox.scss +0 -53
  44. package/src/styles/05-material/_old-v14-material/components/_input.scss +0 -13
  45. package/src/styles/05-material/_old-v14-material/components/_option.scss +0 -5
  46. package/src/styles/05-material/_old-v14-material/components/_radio.scss +0 -66
  47. package/src/styles/05-material/_old-v14-material/components/_tooltip.scss +0 -290
  48. package/src/styles/05-material/_old-v14-material/themes/default/_module.scss +0 -2
  49. package/src/styles/05-material/_old-v14-material/themes/default/_theme.scss +0 -9
  50. package/src/styles/05-material/_old-v14-material/themes/default/_variables.scss +0 -64
  51. package/src/styles/05-material/_overrides.scss +0 -1
  52. package/src/styles/05-material/overrides/_tooltip.scss +0 -290
  53. package/src/styles/07-elements/legacy/_input-checkbox-default.scss +0 -368
  54. package/src/styles/07-elements/legacy/_input-radio-default.scss +0 -289
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/@eui/styles-base/src/styles/01-ecl/all/full-css/ecl-reset.scss","eui.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/03-vars/_tokens.vars-base.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/03-vars/_other.vars.scss","02b-base-vars/_layout.vars.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/05-assets/icons-svg/_icons-generics.scss","../../../../../../../node_modules/@angular/material/core/ripple/_ripple.scss","../../../../../../../node_modules/@angular/cdk/a11y/_index.scss","../../../../../../../node_modules/@angular/cdk/overlay/_index.scss","../../../../../../../node_modules/@angular/cdk/text-field/_index.scss","../../../../../../../node_modules/@angular/material/core/focus-indicators/_private.scss","../../../../../../../node_modules/@angular/material/core/style/_layout-common.scss","../../../../../../../node_modules/@angular/material/core/ripple/_ripple-theme.scss","../../../../../../../node_modules/@angular/material/core/option/_option-theme.scss","../../../../../../../node_modules/@material/theme/_css.scss","../../../../../../../node_modules/@material/list/_evolution-mixins.scss","../../../../../../../node_modules/@angular/material/core/option/_optgroup-theme.scss","../../../../../../../node_modules/@angular/material/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss","../../../../../../../node_modules/@angular/material/core/_core-theme.scss","../../../../../../../node_modules/@material/elevation/_elevation-theme.scss","../../../../../../../node_modules/@angular/material/datepicker/_datepicker-theme.scss","../../../../../../../node_modules/@material/menu-surface/_mixins.scss","../../../../../../../node_modules/@material/dom/_dom.scss","../../../../../../../node_modules/@angular/material/slide-toggle/_slide-toggle-theme.scss","../../../../../../../node_modules/@material/form-field/_mixins.scss","05-material/overrides/_cdk.scss","02-base/mixins/_eui-scrollbars.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/utils/_media.scss","06-shared/_flex.scss","06-shared/_typography.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-font-family.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-font.scss","06-shared/_eui-input-maxlength.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_html.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_body.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_shared.scss","07-elements/eui-table-default/_eui-table-default.scss","08-themes/_module-compact.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/theming/_compact-vars.scss","10-media/_ieimgfix.scss","11-extras/_cookie-consent.scss","11-extras/_preloader.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_colors.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_typography.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-accessibility.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_paddings.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_margins.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-flex.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-display.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-width.scss"],"names":[],"mappings":"AAAA,iEAAA;AACA,2EAAA,CAA4E,KAAK,6BAAA,CAA8B,gBCsC/G,CDtCgI,KAAK,aC0CrI,CD1CmJ,GAAG,aAAA,CAAc,cC+CpK,CD/CmL,GAAG,kBAAA,CAAuB,QAAA,CAAS,gBCqDtN,CDrDuO,IAAI,+BAAA,CAAgC,aC0D3Q,CD1DwT,YAAY,kBAAA,CAAmB,yBAAA,CAA0B,wCAAA,CAAyC,gCCqE1Z,CDrE2b,SAAS,kBCyEpc,CDzEud,cAAc,+BAAA,CAAgC,aC8ErgB,CD9EuiB,QAAQ,aAAA,CAAc,aAAA,CAAc,iBAAA,CAAkB,sBCyF7lB,CDzFqnB,IAAI,aC6FznB,CD7FuoB,IAAI,SCiG3oB,CDjGqpB,IAAI,iBCqGzpB,CDrG2qB,sCAAsC,mBAAA,CAAoB,cAAA,CAAe,gBAAA,CAAiB,QC4GrwB,CD5G8wB,aAAa,gBCgH3xB,CDhH4yB,cAAc,mBCoH1zB,CDpH80B,gDAAgD,yBCwH93B,CDxHw5B,wHAAwH,iBAAA,CAAkB,SC6HliC,CD7H4iC,4GAA4G,6BCiIxpC,CDjIsrC,SAAS,0BCqI/rC,CDrI0tC,OAAO,qBAAA,CAAsB,aAAA,CAAc,aAAA,CAAc,cAAA,CAAe,SAAA,CAAU,kBC8I5yC,CD9I+zC,SAAS,sBCkJx0C,CDlJg2C,SAAS,aCsJz2C,CDtJu3C,6BAA6B,qBAAA,CAAsB,SC2J16C,CD3Jo7C,kFAAkF,WC+JtgD,CD/JkhD,cAAc,4BAAA,CAA6B,mBCoK7jD,CDpKilD,yCAAyC,uBCwK1nD,CDxKkpD,6BAA6B,yBAAA,CAA0B,YC6KzsD,CD7KstD,QAAQ,aCiL9tD,CDjL4uD,QAAQ,iBCqLpvD,CDrL4xD,kBAAS,YC6LryD,CD7LkzD,KAAc,iBCkMh0D,CCnMA,MAIY,iCAAA,CAAA,gCAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,iCAAA,CAUJ,6BAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAIJ,oDAAA,CACA,uDAAA,CACA,2BAAA,CACA,2BAAA,CACA,+CAAA,CAGA,yBAAA,CAEI,iCAAA,CAAA,gCAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,2BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,iCAAA,CAIJ,gEAAA,CACA,iDAAA,CACA,+EAAA,CAGA,2BAAA,CAEI,gCAAA,CAAA,4BAAA,CAAA,8BAAA,CAAA,6BAAA,CAAA,2BAAA,CAAA,8BAAA,CAAA,6BAAA,CAAA,+BAAA,CAAA,6BAAA,CAUI,uEAAA,CAAA,sEAAA,CAAA,kEAAA,CAAA,mEAAA,CAAA,qEAAA,CAAA,oEAAA,CAAA,oEAAA,CAAA,iEAAA,CAAA,kEAAA,CAAA,kEAAA,CAAA,oEAAA,CAAA,+EAAA,CAAA,+EAAA,CAAA,0EAAA,CAAA,+EAAA,CAAA,+EAAA,CAMJ,yBAAA,CAAA,8BAAA,CAAA,4BAAA,CAAA,4BAAA,CAAA,yBAAA,CAAA,2BAAA,CAAA,0BAAA,CAAA,6BAAA,CAAA,2BAAA,CAAA,2BAAA,CAKA,4GAAA,CAAA,4GAAA,CAAA,4GAAA,CAAA,6GAAA,CAAA,wHAAA,CAAA,wHAAA,CAAA,wHAAA,CAAA,0HAAA,CAAA,2HAAA,CAAA,4HAAA,CAAA,+EAAA,CAAA,iFAAA,CAAA,iFAAA,CAAA,mFAAA,CAAA,qFAAA,CAAA,oFAAA,CAKA,4BAAA,CAAA,yBAAA,CAAA,yBAAA,CAAA,oCAAA,CAAA,2BAAA,CAAA,gCAAA,CAAA,yBAAA,CAAA,oCAAA,CAAA,uCAAA,CAAA,uCAAA,CAAA,4BAAA,CAAA,8BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,yCAAA,CAAA,sCAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,+BAAA,CAAA,2BAAA,CAAA,8CAAA,CAAA,uCAAA,CAAA,sCAAA,CC/DJ,2BAAA,CACA,yBAAA,CACA,gCAAA,CAEA,4BAAA,CAEA,yDAAA,CACA,6DAAA,CACA,iEAAA,CACA,mEAAA,CAGA,+EAAA,CACA,+EAAA,CACA,+EAAA,CACA,uEAAA,CACA,4DAAA,CAEA,wCAAA,CACA,yCAAA,CACA,qCAAA,CACA,wCAAA,CACA,qEAAA,CAEA,0GAAA,CACA,4FAAA,CACA,0GAAA,CACA,2GAAA,CAEA,6BAAA,CACA,qCAAA,CACA,uCAAA,CACA,sEAAA,CAGA,kEAAA,CClCA,mCAAA,CACA,2BAAA,CACA,mCAAA,CACA,kCAAA,CAEA,wCAAA,CACA,gCAAA,CACA,wCAAA,CAEA,wCAAA,CACA,gCAAA,CACA,wCAAA,CAEA,oCAAA,CACA,4BAAA,CACA,oCAAA,CAEA,mCAAA,CACA,2BAAA,CACA,oCAAA,CACA,yCAAA,CACA,iCAAA,CACA,yCAAA,CACA,mCAAA,CACA,2CAAA,CACA,2CAAA,CACA,mCAAA,CACA,2CAAA,CACA,2CAAA,CAGA,2CAAA,CACA,8CAAA,CAEA,8BAAA,CACA,+BAAA,CACA,+BAAA,CACA,gCAAA,CACA,iCAAA,CACA,kCAAA,CACA,sCAAA,CAGA,4BAAA,CAIA,qDAAA,CACA,2DAAA,CACA,6DAAA,CAEA,mDAAA,CACA,4DAAA,CACA,sEAAA,CAEA,uDAAA,CACA,4CAAA,CAEA,oDAAA,CACA,oDAAA,CAEA,iDAAA,CACA,sDAAA,CACA,yCHqTJ,CGlTA,QACI,2BHsYJ,CI3cA,cACI,iBAAA,CACA,QAAA,CACA,0CAAA,CACA,oCAAA,CACA,mBAAA,CACA,kBJ8cJ,CI3cI,wBACI,aAAA,CACA,YJ8cR,CIhdI,uBACI,WAAA,CACA,UJmdR,CIrdI,sBACI,cAAA,CACA,aJwdR,CI1dI,sBACI,aAAA,CACA,YJ6dR,CI/dI,sBACI,WAAA,CACA,UJkeR,CIpeI,uBACI,aAAA,CACA,YJueR,CIzeI,wBACI,WAAA,CACA,UJ4eR,CI9eI,wBACI,aAAA,CACA,YJifR,CInfI,wBACI,WAAA,CACA,UJsfR,CIjfQ,8BACI,aAAA,CACA,YJofZ,CItfQ,6BACI,aAAA,CACA,YJyfZ,CI3fQ,6BACI,UAAA,CACA,SJ8fZ,CIhgBQ,6BACI,aAAA,CACA,YJmgBZ,CIrgBQ,6BACI,aAAA,CACA,YJwgBZ,CI1gBQ,6BACI,aAAA,CACA,YJ6gBZ,CI/gBQ,6BACI,aAAA,CACA,YJkhBZ,CIphBQ,6BACI,aAAA,CACA,YJuhBZ,CIzhBQ,6BACI,aAAA,CACA,YJ4hBZ,CI9hBQ,6BACI,aAAA,CACA,YJiiBZ,CIniBQ,4BACI,aAAA,CACA,YJsiBZ,CIxiBQ,4BACI,aAAA,CACA,YJ2iBZ,CI7iBQ,iCACI,aAAA,CACA,YJgjBZ,CIljBQ,iCACI,aAAA,CACA,YJqjBZ,CIvjBQ,iCACI,aAAA,CACA,YJ0jBZ,CI5jBQ,iCACI,aAAA,CACA,YJ+jBZ,CIjkBQ,iCACI,aAAA,CACA,YJokBZ,CItkBQ,gCACI,aAAA,CACA,YJykBZ,CI3kBQ,gCACI,aAAA,CACA,YJ8kBZ,CIhlBQ,gCACI,aAAA,CACA,YJmlBZ,CIrlBQ,gCACI,aAAA,CACA,YJwlBZ,CI1lBQ,+BACI,aAAA,CACA,YJ6lBZ,CI/lBQ,gCACI,aAAA,CACA,YJkmBZ,CIpmBQ,gCACI,aAAA,CACA,YJumBZ,CIzmBQ,gCACI,aAAA,CACA,YJ4mBZ,CI9mBQ,gCACI,aAAA,CACA,YJinBZ,CInnBQ,gCACI,aAAA,CACA,YJsnBZ,CIxnBQ,+BACI,aAAA,CACA,YJ2nBZ,CI7nBQ,+BACI,aAAA,CACA,YJgoBZ,CIloBQ,+BACI,aAAA,CACA,YJqoBZ,CIvoBQ,+BACI,aAAA,CACA,YJ0oBZ,CI5oBQ,8BACI,aAAA,CACA,YJ+oBZ,CIjpBQ,8BACI,aAAA,CACA,YJopBZ,CItpBQ,8BACI,aAAA,CACA,YJypBZ,CI3pBQ,8BACI,aAAA,CACA,YJ8pBZ,CIhqBQ,8BACI,aAAA,CACA,YJmqBZ,CIrqBQ,8BACI,aAAA,CACA,YJwqBZ,CI1qBQ,6BACI,aAAA,CACA,YJ6qBZ,CI/qBQ,6BACI,aAAA,CACA,YJkrBZ,CIprBQ,6BACI,aAAA,CACA,YJurBZ,CIzrBQ,6BACI,aAAA,CACA,YJ4rBZ,CI9rBQ,4BACI,aAAA,CACA,YJisBZ,CInsBQ,iCACI,aAAA,CACA,YJssBZ,CIxsBQ,iCACI,aAAA,CACA,YJ2sBZ,CI7sBQ,iCACI,aAAA,CACA,YJgtBZ,CIltBQ,iCACI,aAAA,CACA,YJqtBZ,CIvtBQ,iCACI,aAAA,CACA,YJ0tBZ,CI5tBQ,gCACI,aAAA,CACA,YJ+tBZ,CIjuBQ,gCACI,aAAA,CACA,YJouBZ,CItuBQ,gCACI,aAAA,CACA,YJyuBZ,CI3uBQ,gCACI,aAAA,CACA,YJ8uBZ,CIhvBQ,+BACI,aAAA,CACA,YJmvBZ,CIrvBQ,iCACI,aAAA,CACA,YJwvBZ,CI1vBQ,iCACI,aAAA,CACA,YJ6vBZ,CI/vBQ,iCACI,aAAA,CACA,YJkwBZ,CIpwBQ,iCACI,aAAA,CACA,YJuwBZ,CIzwBQ,iCACI,aAAA,CACA,YJ4wBZ,CI9wBQ,gCACI,aAAA,CACA,YJixBZ,CInxBQ,gCACI,aAAA,CACA,YJsxBZ,CIxxBQ,gCACI,aAAA,CACA,YJ2xBZ,CI7xBQ,gCACI,aAAA,CACA,YJgyBZ,CIlyBQ,+BACI,aAAA,CACA,YJqyBZ,CIvyBQ,gCACI,aAAA,CACA,YJ0yBZ,CI5yBQ,gCACI,aAAA,CACA,YJ+yBZ,CIjzBQ,gCACI,aAAA,CACA,YJozBZ,CItzBQ,gCACI,aAAA,CACA,YJyzBZ,CI3zBQ,gCACI,aAAA,CACA,YJ8zBZ,CIh0BQ,+BACI,aAAA,CACA,YJm0BZ,CIr0BQ,+BACI,aAAA,CACA,YJw0BZ,CI10BQ,+BACI,aAAA,CACA,YJ60BZ,CI/0BQ,+BACI,aAAA,CACA,YJk1BZ,CIp1BQ,8BACI,aAAA,CACA,YJu1BZ,CIl1BI,0BACI,aAAA,CACA,YJq1BR,CIv1BI,6BACI,aAAA,CACA,YJ01BR,CI51BI,4BACI,aAAA,CACA,YJ+1BR,CIj2BI,0BACI,aAAA,CACA,YJo2BR,CIt2BI,6BACI,aAAA,CACA,YJy2BR,CI32BI,6BACI,aAAA,CACA,YJ82BR,CIh3BI,4BACI,aAAA,CACA,YJm3BR,CI/2BA,2BACI,UAAA,CACA,SJk3BJ,CI/2BA,2BACI,UAAA,CACA,SJk3BJ,CKj5BE,YACE,eAAA,CAIA,iBLi5BJ,CK14BI,wBACE,uBL44BN,CKx4BE,iCACE,gBL24BJ,CKx4BE,oBACE,iBAAA,CACA,iBAAA,CACA,mBAAA,CAEA,uDAAA,CAIA,wBLu4BJ,CMx3BI,8CDXE,YLs4BN,CM16BE,qBACE,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAIA,kBAAA,CAGA,SAAA,CAGA,uBAAA,CACA,oBAAA,CAMA,MNi6BJ,CM/5BI,+BACE,SAAA,CACA,ONi6BN,COj7BE,mDAEE,mBAAA,CAGA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UPi7BJ,CO76BE,uBACE,cAAA,CACA,YPg7BJ,CO96BI,6BAGE,YP86BN,CO/5BE,8CANE,YAAA,CACA,iBAAA,CACA,YPm7BJ,CO/6BE,kBAIE,mBAAA,CACA,qBAAA,CAMA,cAAA,CACA,ePm6BJ,COh6BE,sBAEE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CAEA,YApEuB,CAqEvB,mBAAA,CACA,uCAAA,CACA,iDAAA,CACA,SPi6BJ,CO/5BI,mDACE,SPi6BN,CO55BM,6EAGE,UP45BR,COv5BE,2BACE,0BP05BJ,COv5BE,kCAEE,mDAAA,CACA,iBAAA,CACA,SPy5BJ,COn5BI,+DACE,SAAA,CACA,kBPq5BN,COj5BE,qCACE,ePo5BJ,CO/4BE,6CACE,iBAAA,CACA,YArHc,CA0Hd,YAAA,CAIA,qBAAA,CAGA,aAAA,CACA,cPy4BJ,COr4BE,wBAWE,iBPg4BJ,CQjhCE,+BACE,WRohCJ,CQ9gCE,yCAyCA,uBAAA,CACA,4BAAA,CAxCE,qBAAA,CACA,yBRkhCJ,CQzgCE,iDA6BA,uBAAA,CACA,4BAAA,CA5BE,kBR6gCJ,CQngCE;EAA0C,IAAA,CRugC5C,CQtgCE;EAAwC,IAAA,CRygC1C,CQvgCE,oDAEE,8CRwgCJ,CQrgCE,0DAEE,4CRugCJ,CStiCE,qBACE,iBTyiCJ,CSviCI,4BCfF,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CDaI,qBAAA,CACA,mBAAA,CACA,+CAAA,CACA,oJAAA,CAYA,0DTkiCN,CS1hCI,kCACE,UT4hCN,CMj/BM,0BG7BA,mCTkhCN,CS7jCE,yBACE,iBTgkCJ,CS9jCI,gCCfF,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CDaI,qBAAA,CACA,mBAAA,CACA,mDAAA,CACA,gKAAA,CAYA,8DTyjCN,CSjjCI,sCACE,UTmjCN,CMxgCM,0BG7BA,uCTyiCN,CWvlCE,oBAII,+BXulCN,CYxlCI,gBCgEA,iEb4hCJ,CYvlCM,kPAOE,0BZmlCR,CcjTE,gHD9uBE,sCbmiCJ,CcrTE,+GD9uBE,wCbuiCJ,CczTE,6GD9uBE,oCb2iCJ,Ce/mCI,wBFoEA,iEb+iCJ,CgB1mCE,qBACE,qBhB6mCJ,CgB3mCI,2BACE,ahB6mCN,CgBzmCE,8BACE,ahB4mCJ,CgBzmCE,0FAEE,kBhB4mCJ,CgBpmCE,wJAIE,kBhBumCJ,CgBpmCE,oFAEE,kBhBumCJ,CgBlmCI,0HACE,kBhBsmCN,CiBzoCE,oBAIE,wBAAA,CACA,qBjByoCJ,CiB/nCI,+DCoQE,iFlBg4BN,CiBpoCI,+DCoQE,gGlBq4BN,CiBzoCI,+DCoQE,gGlB04BN,CiB9oCI,+DCoQE,gGlB+4BN,CiBnpCI,+DCoQE,iGlBo5BN,CiBxpCI,+DCoQE,iGlBy5BN,CiB7pCI,+DCoQE,kGlB85BN,CiBlqCI,+DCoQE,sGlBm6BN,CiBvqCI,+DCoQE,sGlBw6BN,CiB5qCI,+DCoQE,sGlB66BN,CiBjrCI,iECoQE,uGlBk7BN,CiBtrCI,iECoQE,uGlBu7BN,CiB3rCI,iECoQE,uGlB47BN,CiBhsCI,iECoQE,uGlBi8BN,CiBrsCI,iECoQE,uGlBs8BN,CiB1sCI,iECoQE,uGlB28BN,CiB/sCI,iECoQE,wGlBg9BN,CiBptCI,iECoQE,wGlBq9BN,CiBztCI,iECoQE,wGlB09BN,CiB9tCI,iECoQE,wGlB+9BN,CiBnuCI,iECoQE,yGlBo+BN,CiBxuCI,iECoQE,yGlBy+BN,CiB7uCI,iECoQE,yGlB8+BN,CiBlvCI,iECoQE,yGlBm/BN,CiBvvCI,iECoQE,yGlBw/BN,CiBrvCI,yBACE,YjBwvCN,CmBttCE,oBACE,oBnBytCJ,CmBptCE,+HAGE,qBnButCJ,CmBptCE,yCACE,0BnButCJ,CmBptCE,oDAEE,qBnButCJ,CmBptCE,gEAEE,qBAAA,CACA,wBnButCJ,CmB9sCE,mMACE,qBnBqtCJ,CmBltCE,8BAOI,qBnB+sCN,CmB/wCE,uGA2EI,4BnBwsCN,CmBnxCE,mIAoFM,4BnBmsCR,CmBjnCE,mCACE,4BnBonCJ,CmBjnCE,sFAEE,6BnBonCJ,CmBjnCE,4GAEE,4EnBonCJ,CmBjnCE,4GAEE,6EnBonCJ,CmBjnCE,4IAEE,kBnBonCJ,CmBjnCE,sIAEE,kBnBonCJ,CmBz1CE,4BACE,wBAAA,CACA,UnB41CJ,CmBz1CE,wDAII,kCnBy1CN,CmBh1CE,oDACE,+BnBm1CJ,CmBj0CE,2TASI,kCnB6zCN,CmB/0CE,qBASA,6KASI,kCnBk0CJ,CACF,CmB1uCE,wBD4II,iGAqGS,CC/OX,qBAAA,CACA,qBnB6uCJ,CmB5qCE,sEACE,+BnB8qCJ,CmB3qCE,4JAEE,6BnB6qCJ,CmB1qCE,kLAEE,+EnB4qCJ,CmBzqCE,kLAEE,gFnB2qCJ,CmBxqCE,kNAEE,kBnB0qCJ,CmBvqCE,4MAEE,kBnByqCJ,CmB94CE,+DACE,wBAAA,CACA,anBg5CJ,CmB74CE,2FAII,qCnB44CN,CmBn4CE,uFACE,kCnBq4CJ,CmBn3CE,iYASI,qCnB82CN,CmBh4CE,qBASA,gNASI,qCnBk3CJ,CACF,CmBttCE,oEACE,6BnBwtCJ,CmBrtCE,wJAEE,6BnButCJ,CmBptCE,8KAEE,6EnBstCJ,CmBntCE,8KAEE,8EnBqtCJ,CmBltCE,8MAEE,kBnBotCJ,CmBjtCE,wMAEE,kBnBmtCJ,CmBx7CE,6DACE,wBAAA,CACA,UnB07CJ,CmBv7CE,yFAII,mCnBs7CN,CmB76CE,qFACE,+BnB+6CJ,CmB75CE,6XASI,mCnBw5CN,CmB16CE,qBASA,8MASI,mCnB45CJ,CACF,CmBtzCE,8BD8HI,yGlB6rCN,CmBvzCE,8BACE,anB0zCJ,CmBxzCI,yCACE,anB0zCN,CmBvzCI,uCACE,anByzCN,CmBrzCE,sCACE,qBnBwzCJ,CoBx8CE,kBF6PI,sGAqGS,CL/TX,8CAAA,CAAA,sCb46CJ,Cc9rBE,6BD9uBE,iEb+6CJ,CcvrBE,+BDxvBE,mEbm7CJ,Cc3qBE,8BDxwBE,8Dbu7CJ,CchpBE,+GDvyBE,wBAAA,CAAA,8Db47CJ,Cc1qBE,oBDlxBE,8Dbq8CJ,CchnBI,6IAII,WdknBR,CclHI,mZDz1CA,sCb89CJ,CcrHI,8QDz2CA,sCbu+CJ,CcroBE,sCDl2BE,iEb2+CJ,CqBv9CI,oEP42CA,wBDh4CA,wBbg/CF,CACF,CcpgBE,kBD7+BE,gCbo/CJ,CsBh/CI,sBTJA,mDAAA,CAAA,qDAAA,CAAA,kDAAA,CAAA,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,uDAAA,CAAA,iDAAA,CAAA,iDAAA,CAAA,mDAAA,CAAA,2CAAA,CAAA,kDAAA,CAAA,kDAAA,CAAA,oDAAA,CAAA,+DAAA,CAAA,4CAAA,CAAA,wCAAA,CAAA,iDAAA,CAAA,mDAAA,CAAA,0Cb2gDJ,CuBtjDE,sCV2CE,iEb8gDJ,CsBrgDM,kDACE,qBtBugDR,CsBpgDM,kCTbF,qDAAA,CAAA,0CAAA,CAAA,qDAAA,CAAA,uDAAA,CAAA,gDAAA,CAAA,gDAAA,CAAA,kDAAA,CAAA,+CAAA,CAAA,+CAAA,CAAA,iDAAA,CAAA,yCb8hDJ,CsB7gDM,iCTjBF,qDAAA,CAAA,0CAAA,CAAA,qDAAA,CAAA,uDAAA,CAAA,gDAAA,CAAA,gDAAA,CAAA,kDAAA,CAAA,+CAAA,CAAA,+CAAA,CAAA,iDAAA,CAAA,yCb2iDJ,CsBthDM,+BTrBF,qDAAA,CAAA,0CAAA,CAAA,qDAAA,CAAA,uDAAA,CAAA,gDAAA,CAAA,gDAAA,CAAA,kDAAA,CAAA,+CAAA,CAAA,+CAAA,CAAA,iDAAA,CAAA,yCbwjDJ,CwBtoDA,kBACI,qBxByoDJ,CwBroDA,wBACI,cAAA,CACA,kBAAA,CACA,UAAA,CAEA,eAAA,CACA,gBxBuoDJ,CyBjpDI,2CACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CzBipDZ,CyBzoDI,iDAEQ,8CAjB0C,CAkB1C,kBzB0oDZ,CyBxoDY,uDACI,8CzB0oDhB,CyBjoDI,iDAEQ,8CAhCwF,CAiCxF,ezBkoDZ,C0B9oDQ,oCFPJ,wBACI,WAAA,CACA,aAAA,CACA,cAAA,CACA,UxBypDN,CyB1qDE,2CACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CzB0qDV,CyBlqDE,iDAEQ,8CAjB0C,CAkB1C,kBzBmqDV,CyBjqDU,uDACI,8CzBmqDd,CyB1pDE,iDAEQ,8CAhCwF,CAiCxF,ezB2pDV,CACF,C2B3rDA,gBACI,kBAAA,CACA,YAAA,CACA,U3B6rDJ,C2BxrDA,QAII,sB3B2rDJ,C2BvrDA,QAII,a3BurDJ,C4B1sDA,sDCYI,uCAAA,CACA,mCAAA,CACA,iBAAA,CACA,eAAA,CDCA,a5BgtDJ,C4B3sDA,OEpBI,mD9BquDJ,C4B3sDA,cAHI,uC5BotDJ,C4BjtDA,OE1BI,oD9B2uDJ,C4B3sDA,OEhCI,sD9BivDJ,C4B3sDA,cAHI,uC5BotDJ,C4BjtDA,OEtCI,sD9BuvDJ,C4B3sDA,OE5CI,uD9B6vDJ,C4B3sDA,cAHI,uC5BotDJ,C4BjtDA,OElDI,oD9BmwDJ,C4B3sDA,WExDI,oD9BywDJ,C4B3sDA,wBAHI,uC5BotDJ,C4BjtDA,aE9DI,mD9B+wDJ,C4B3sDA,oBEpEI,oDAF2B,CF0E3B,uC5B8sDJ,C4B1sDA,gCAEI,gCAAA,CACA,c5B6sDJ,C4B3sDI,wFAEI,gCAAA,CACA,yB5B8sDR,C4B1sDA,EACI,wBAAA,CACA,oB5B6sDJ,C4B1sDA,QACI,yB5B6sDJ,C4B1sDA,YACI,oB5B6sDJ,C4BtsDA,MACI,wC5B6sDJ,C+B1zDA,6BACI,iBAAA,CACA,U/B6zDJ,C+B3zDI,kDDDA,mDAF2B,CCKvB,8CAAA,CACA,8CAAA,CACA,2CAAA,CACA,iCAAA,CACA,qCAAA,CACA,iBAAA,CACA,yCAAA,CACA,uCAAA,CACA,+C/B6zDR,C+B3zDQ,2DACI,iDAAA,CACA,6CAAA,CACA,iC/B6zDZ,CgCj1DA,KAEI,8CAAA,CACA,kDAAA,CAEA,aAAA,CAEA,mCAAA,CACA,uChCk1DJ,CiC11DA,UDMI,WhC02DJ,CiCh3DA,KAEI,gDAAA,CACA,sCAAA,CACA,kDAAA,CACA,8CAAA,CACA,kDAAA,CAEA,yCAAA,CACA,2BAAA,CACA,uCAAA,CACA,4BAAA,CACA,mCAAA,CACA,+BAAA,CACA,kCAAA,CACA,iBAAA,CACA,eAAA,CAEA,uCAAA,CACA,QAAA,CACA,eAAA,CACA,iCjC21DJ,CkCl1DA,KACI,qBlC+1DJ,CkC31DI,iBAGI,kBlC41DR,CkC90DA,gEASI,yBlCi1DJ,CkCz0DA,sBACI,sBlC40DJ,CkCx0DA,SACI,sBlC20DJ,CkCx0DA,wCAOI,mClC20DJ,CkCx0DA,aAEI,kBAAA,CACA,mBAAA,CACA,iBAAA,CACA,eAAA,CACA,uCAAA,CACA,iBlC20DJ,CkCx0DA,GAEI,iBlC00DJ,CkCv0DA,kBAGI,elC00DJ,CkCx0DI,mDAEI,iBlC60DR,CkCz0DA,kBAII,mCAAA,CL5EA,iDAAA,CACA,iBAAA,CACA,e7By5DJ,CkC30DA,KACI,aAAA,CACA,aAAA,CACA,oBlC80DJ,CkC30DA,MACI,alC80DJ,CkC30DA,IACI,8CAAA,CACA,2CAAA,CACA,iCAAA,CACA,qCAAA,CACA,uClC80DJ,CkC30DA,IACI,2BAAA,CACA,aAAA,CACA,eAAA,CACA,uCAAA,CACA,YAAA,CACA,alC80DJ,CkC30DA,WACI,0EAAA,CACA,4DlC80DJ,CkC30DA,WAEI,gDAAA,CACA,mClC80DJ,CmC1+DA,wBACI,wBAAA,CACA,wBAAA,CACA,gBAAA,CACA,gCAAA,CACA,cAAA,CACA,aAAA,CACA,iBnC6+DJ,CmC1+DI,4GAGI,kBnC4+DR,CmCz+DI,4DAEI,iCnC2+DR,CmCv+DQ,iCACI,qDAAA,CACA,mCAAA,CACA,mCAAA,CACA,2DAAA,CACA,qBAAA,CNKR,iBAAA,CACA,e7Bq+DJ,CmCv+DQ,iCACI,uCAAA,CACA,YnCy+DZ,CmCp+DI,8BACI,gCnCs+DR,CmCp+DQ,kDACI,4CnCs+DZ,CmC/9DQ,yGACI,6CnCo+DZ,CmCl+DY,uDACI,4CnCo+DhB,CmC/9DI,2BACI,qDAAA,CACA,iBnCi+DR,CmC39DY,0CACI,4DnC69DhB,CmCz9DQ,uCACI,6DnC29DZ,CmCt9DI,oCACI,aAAA,CACA,UnCw9DR,CmCt9DQ,8CACI,QnCw9DZ,CmCl9DQ,0EAEI,8CnCo9DZ,CmC/8DI,kCACI,wCnCi9DR,CmC18DQ,oKAGI,kBnC+8DZ,CmC18DI,kCACI,aAAA,CACA,aAAA,CACA,UnC48DR,CmCv8DQ,sJAGI,qBnCy8DZ,CoCvjEA,2CATI,yBAAA,CACA,2BAAA,CAEA,mCAAA,CACA,uCpCslEJ,CoCjlEA,wBAII,oDAAA,CChBA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DrC2lER,CoCpkEI,yCACI,4CpCskER,CoCpkEQ,+CACI,yCpCskEZ,CoClkEI,oDACI,4CAAA,CACA,2CAAA,CACA,8CpCokER,CoC9jEA,+BAEI,yBAAA,CACA,2BAAA,CACA,oDAAA,CACA,mDAAA,CACA,oDAAA,CChDA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DAAA,CDkDJ,mCAAA,CACA,uCpCwkEJ,CoCpkEQ,wCACI,WpCskEZ,CoCpkEY,2CACI,iEpCskEhB,CoChkEQ,wCACI,WpCkkEZ,CoChkEY,2CACI,8DpCkkEhB,CoC5jEQ,wCACI,WpC8jEZ,CoC5jEY,2CACI,iEpC8jEhB,CoCtjEA,6BAEI,yBAAA,CACA,2BAAA,CACA,iDAAA,CACA,oDAAA,CC9FA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DAAA,CDgGJ,mCAAA,CACA,uCpCgkEJ,CoC1jEgB,qJAEI,oCpC2jEpB,CoCxjEgB,2JAEI,uCpCyjEpB,CoCpjEgB,sEACI,uCpCsjEpB,CsC5qEA,sEACI,iBACI,UtC+qEN,CACF,CsC7qEA,cAEI,IACI,2BAAA,CACA,oBAAA,CACA,8BtC8qEN,CACF,CuCzrEA,uBACI,uBAAA,CACA,uBAAA,CACA,2BAAA,CACA,mBAAA,CACA,uCAAA,CACA,mCAAA,CACA,6CAAA,CACA,8CAAA,CACA,kDAAA,CACA,yCvC2rEJ,CwCtsEA,gBACI,WAAA,CACA,MAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,YxCysEJ,CwCvsEI,wBAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,uDAAA,CACA,aAAA,CACA,YAAA,CACA,QAAA,CACA,wBAAA,CACA,iBAAA,CACA,OAAA,CACA,WxC2sER,CwCzsEQ,+BAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,sDAAA,CACA,UAAA,CACA,UAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,OxC6sEZ,CwC1sEQ,8BAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,uDAAA,CACA,WAAA,CACA,UAAA,CACA,SAAA,CACA,iBAAA,CACA,UAAA,CACA,QxC8sEZ,CwC3rEA,gBACI,GAGI,sBxC2sEN,CwCxsEE,GAGI,uBxC0sEN,CACF,CwC3rEA,qBACI,GACI,mBAAA,CACA,yDxC0sEN,CwCxsEE,IACI,wBAAA,CACA,uDxC0sEN,CwCxsEE,GACI,uBxC0sEN,CACF,CyCpzEA,mBACI,2CzCszEJ,CyCnzEA,sBACI,sDzCuzEJ,CyCnzEA,yCAHI,2CzC0zEJ,CyCnzEA,sBACI,sDzCuzEJ,CyClzEQ,4CAJJ,8CzC0zEJ,CyClzEQ,yBACI,yDAAA,CACA,uDzCqzEZ,CyC3zEQ,qBACI,6CzC8zEZ,CyC3zEQ,wBACI,wDAAA,CACA,sDzC8zEZ,CyCp0EQ,qBACI,6CzCu0EZ,CyCp0EQ,wBACI,wDAAA,CACA,sDzCu0EZ,CyC70EQ,qBACI,6CzCg1EZ,CyC70EQ,wBACI,wDAAA,CACA,sDzCg1EZ,CyCt1EQ,qBACI,6CzCy1EZ,CyCt1EQ,wBACI,wDAAA,CACA,sDzCy1EZ,CyC/1EQ,qBACI,6CzCk2EZ,CyC/1EQ,wBACI,wDAAA,CACA,sDzCk2EZ,CyCx2EQ,qBACI,6CzC22EZ,CyCx2EQ,wBACI,wDAAA,CACA,sDzC22EZ,CyCj3EQ,qBACI,6CzCo3EZ,CyCj3EQ,wBACI,wDAAA,CACA,sDzCo3EZ,CyC13EQ,qBACI,6CzC63EZ,CyC13EQ,wBACI,wDAAA,CACA,sDzC63EZ,CyCn4EQ,qBACI,6CzCs4EZ,CyCn4EQ,wBACI,wDAAA,CACA,sDzCs4EZ,CyC54EQ,oBACI,4CzC+4EZ,CyC54EQ,uBACI,uDAAA,CACA,qDzC+4EZ,CyCr5EQ,oBACI,4CzCw5EZ,CyCr5EQ,uBACI,uDAAA,CACA,qDzCw5EZ,CyC95EQ,yBACI,iDzCi6EZ,CyC95EQ,4BACI,4DAAA,CACA,0DzCi6EZ,CyCv6EQ,yBACI,iDzC06EZ,CyCv6EQ,4BACI,4DAAA,CACA,0DzC06EZ,CyCh7EQ,yBACI,iDzCm7EZ,CyCh7EQ,4BACI,4DAAA,CACA,0DzCm7EZ,CyCz7EQ,yBACI,iDzC47EZ,CyCz7EQ,4BACI,4DAAA,CACA,0DzC47EZ,CyCl8EQ,yBACI,iDzCq8EZ,CyCl8EQ,4BACI,4DAAA,CACA,0DzCq8EZ,CyC38EQ,wBACI,gDzC88EZ,CyC38EQ,2BACI,2DAAA,CACA,yDzC88EZ,CyCp9EQ,wBACI,gDzCu9EZ,CyCp9EQ,2BACI,2DAAA,CACA,yDzCu9EZ,CyC79EQ,wBACI,gDzCg+EZ,CyC79EQ,2BACI,2DAAA,CACA,yDzCg+EZ,CyCt+EQ,wBACI,gDzCy+EZ,CyCt+EQ,2BACI,2DAAA,CACA,yDzCy+EZ,CyC/+EQ,uBACI,+CzCk/EZ,CyC/+EQ,0BACI,0DAAA,CACA,wDzCk/EZ,CyCx/EQ,wBACI,gDzC2/EZ,CyCx/EQ,2BACI,2DAAA,CACA,yDzC2/EZ,CyCjgFQ,wBACI,gDzCogFZ,CyCjgFQ,2BACI,2DAAA,CACA,yDzCogFZ,CyC1gFQ,wBACI,gDzC6gFZ,CyC1gFQ,2BACI,2DAAA,CACA,yDzC6gFZ,CyCnhFQ,wBACI,gDzCshFZ,CyCnhFQ,2BACI,2DAAA,CACA,yDzCshFZ,CyC5hFQ,wBACI,gDzC+hFZ,CyC5hFQ,2BACI,2DAAA,CACA,yDzC+hFZ,CyCriFQ,uBACI,+CzCwiFZ,CyCriFQ,0BACI,0DAAA,CACA,wDzCwiFZ,CyC9iFQ,uBACI,+CzCijFZ,CyC9iFQ,0BACI,0DAAA,CACA,wDzCijFZ,CyCvjFQ,uBACI,+CzC0jFZ,CyCvjFQ,0BACI,0DAAA,CACA,wDzC0jFZ,CyChkFQ,uBACI,+CzCmkFZ,CyChkFQ,0BACI,0DAAA,CACA,wDzCmkFZ,CyCzkFQ,sBACI,8CzC4kFZ,CyCzkFQ,yBACI,yDAAA,CACA,uDzC4kFZ,CyCllFQ,sBACI,8CzCqlFZ,CyCllFQ,yBACI,yDAAA,CACA,uDzCqlFZ,CyC3lFQ,sBACI,8CzC8lFZ,CyC3lFQ,yBACI,yDAAA,CACA,uDzC8lFZ,CyCpmFQ,sBACI,8CzCumFZ,CyCpmFQ,yBACI,yDAAA,CACA,uDzCumFZ,CyC7mFQ,sBACI,8CzCgnFZ,CyC7mFQ,yBACI,yDAAA,CACA,uDzCgnFZ,CyCtnFQ,sBACI,8CzCynFZ,CyCtnFQ,yBACI,yDAAA,CACA,uDzCynFZ,CyC/nFQ,qBACI,6CzCkoFZ,CyC/nFQ,wBACI,wDAAA,CACA,sDzCkoFZ,CyCxoFQ,qBACI,6CzC2oFZ,CyCxoFQ,wBACI,wDAAA,CACA,sDzC2oFZ,CyCjpFQ,qBACI,6CzCopFZ,CyCjpFQ,wBACI,wDAAA,CACA,sDzCopFZ,CyC1pFQ,qBACI,6CzC6pFZ,CyC1pFQ,wBACI,wDAAA,CACA,sDzC6pFZ,CyCnqFQ,oBACI,4CzCsqFZ,CyCnqFQ,uBACI,uDAAA,CACA,qDzCsqFZ,CyC5qFQ,yBACI,iDzC+qFZ,CyC5qFQ,4BACI,4DAAA,CACA,0DzC+qFZ,CyCrrFQ,yBACI,iDzCwrFZ,CyCrrFQ,4BACI,4DAAA,CACA,0DzCwrFZ,CyC9rFQ,yBACI,iDzCisFZ,CyC9rFQ,4BACI,4DAAA,CACA,0DzCisFZ,CyCvsFQ,yBACI,iDzC0sFZ,CyCvsFQ,4BACI,4DAAA,CACA,0DzC0sFZ,CyChtFQ,yBACI,iDzCmtFZ,CyChtFQ,4BACI,4DAAA,CACA,0DzCmtFZ,CyCztFQ,wBACI,gDzC4tFZ,CyCztFQ,2BACI,2DAAA,CACA,yDzC4tFZ,CyCluFQ,wBACI,gDzCquFZ,CyCluFQ,2BACI,2DAAA,CACA,yDzCquFZ,CyC3uFQ,wBACI,gDzC8uFZ,CyC3uFQ,2BACI,2DAAA,CACA,yDzC8uFZ,CyCpvFQ,wBACI,gDzCuvFZ,CyCpvFQ,2BACI,2DAAA,CACA,yDzCuvFZ,CyC7vFQ,uBACI,+CzCgwFZ,CyC7vFQ,0BACI,0DAAA,CACA,wDzCgwFZ,CyCtwFQ,yBACI,iDzCywFZ,CyCtwFQ,4BACI,4DAAA,CACA,0DzCywFZ,CyC/wFQ,yBACI,iDzCkxFZ,CyC/wFQ,4BACI,4DAAA,CACA,0DzCkxFZ,CyCxxFQ,yBACI,iDzC2xFZ,CyCxxFQ,4BACI,4DAAA,CACA,0DzC2xFZ,CyCjyFQ,yBACI,iDzCoyFZ,CyCjyFQ,4BACI,4DAAA,CACA,0DzCoyFZ,CyC1yFQ,yBACI,iDzC6yFZ,CyC1yFQ,4BACI,4DAAA,CACA,0DzC6yFZ,CyCnzFQ,wBACI,gDzCszFZ,CyCnzFQ,2BACI,2DAAA,CACA,yDzCszFZ,CyC5zFQ,wBACI,gDzC+zFZ,CyC5zFQ,2BACI,2DAAA,CACA,yDzC+zFZ,CyCr0FQ,wBACI,gDzCw0FZ,CyCr0FQ,2BACI,2DAAA,CACA,yDzCw0FZ,CyC90FQ,wBACI,gDzCi1FZ,CyC90FQ,2BACI,2DAAA,CACA,yDzCi1FZ,CyCv1FQ,uBACI,+CzC01FZ,CyCv1FQ,0BACI,0DAAA,CACA,wDzC01FZ,CyCh2FQ,wBACI,gDzCm2FZ,CyCh2FQ,2BACI,2DAAA,CACA,yDzCm2FZ,CyCz2FQ,wBACI,gDzC42FZ,CyCz2FQ,2BACI,2DAAA,CACA,yDzC42FZ,CyCl3FQ,wBACI,gDzCq3FZ,CyCl3FQ,2BACI,2DAAA,CACA,yDzCq3FZ,CyC33FQ,wBACI,gDzC83FZ,CyC33FQ,2BACI,2DAAA,CACA,yDzC83FZ,CyCp4FQ,wBACI,gDzCu4FZ,CyCp4FQ,2BACI,2DAAA,CACA,yDzCu4FZ,CyC74FQ,uBACI,+CzCg5FZ,CyC74FQ,0BACI,0DAAA,CACA,wDzCg5FZ,CyCt5FQ,uBACI,+CzCy5FZ,CyCt5FQ,0BACI,0DAAA,CACA,wDzCy5FZ,CyC/5FQ,uBACI,+CzCk6FZ,CyC/5FQ,0BACI,0DAAA,CACA,wDzCk6FZ,CyCx6FQ,uBACI,+CzC26FZ,CyCx6FQ,0BACI,0DAAA,CACA,wDzC26FZ,CyCj7FQ,sBACI,8CzCo7FZ,CyCj7FQ,yBACI,yDAAA,CACA,uDzCo7FZ,CyC/6FI,kBACI,8CzCk7FR,CyC/6FI,qBACI,yDAAA,CACA,wDzCk7FR,CyCx7FI,qBACI,iDzC27FR,CyCx7FI,wBACI,4DAAA,CACA,2DzC27FR,CyCj8FI,oBACI,gDzCo8FR,CyCj8FI,uBACI,2DAAA,CACA,0DzCo8FR,CyC18FI,kBACI,8CzC68FR,CyC18FI,qBACI,yDAAA,CACA,wDzC68FR,CyCn9FI,qBACI,iDzCs9FR,CyCn9FI,wBACI,4DAAA,CACA,2DzCs9FR,CyC59FI,qBACI,iDzC+9FR,CyC59FI,wBACI,4DAAA,CACA,2DzC+9FR,CyCr+FI,oBACI,gDzCw+FR,CyCr+FI,uBACI,2DAAA,CACA,0DzCw+FR,C0C1gGI,qBACI,4B1C6gGR,C0C9gGI,qBACI,2B1CihGR,C0ClhGI,qBACI,wB1CqhGR,C0CthGI,qBACI,2B1CyhGR,C0C1hGI,qBACI,0B1C6hGR,C0C9hGI,oBACI,2B1CiiGR,C0CliGI,mBACI,4B1CqiGR,C0CtiGI,mBACI,wB1CyiGR,C0C1iGI,mBACI,2B1C6iGR,C0C9iGI,oBACI,0B1CijGR,C0CljGI,qBACI,2B1CqjGR,C0CziGQ,gBACI,kE1C4iGZ,C0C7iGQ,gBACI,iE1CgjGZ,C0CjjGQ,gBACI,6D1CojGZ,C0CrjGQ,gBACI,8D1CwjGZ,C0CzjGQ,gBACI,gE1C4jGZ,C0C7jGQ,eACI,gE1CgkGZ,C0CjkGQ,cACI,iE1CokGZ,C0CrkGQ,cACI,8D1CwkGZ,C0CzkGQ,cACI,8D1C4kGZ,C0C7kGQ,eACI,6D1CglGZ,C0CjlGQ,gBACI,8D1ColGZ,C0CrlGQ,yBACI,iE1CwlGZ,C0CzlGQ,wBACI,kE1C4lGZ,C0C7lGQ,wBACI,6D1CgmGZ,C0CjmGQ,wBACI,iE1ComGZ,C0CrmGQ,yBACI,gE1CwmGZ,C0CnmGA,oBACI,2BAAA,CACA,yB1CsmGJ,C0CnmGA,iBACI,2BAAA,CACA,yB1CsmGJ,C0CnmGA,wBACI,2BAAA,CACA,yB1CsmGJ,C0CnmGA,mBACI,2BAAA,CACA,yB1CsmGJ,C0CnmGA,kBACI,2BAAA,CACA,yB1CsmGJ,C0CjmGA,iBAA2B,yB1CqmG3B,C0CpmGA,kBAA2B,0B1CwmG3B,C0CvmGA,mBAA2B,2B1C2mG3B,C0C1mGA,oBAA2B,4B1C8mG3B,C0C5mGA,wCAD2B,4B1CunG3B,C0CtnGA,qBAA2B,yBAAA,CAA6B,gC1CsnGxD,C0CnnGA,qBAA2B,kC1CunG3B,C0CtnGA,sBAA2B,mC1C0nG3B,C0CznGA,yBAA2B,sC1C6nG3B,C0C1nGA,sBAA2B,kC1C8nG3B,C0C7nGA,sBAA2B,kC1CioG3B,C0ChoGA,uBAA2B,mC1CooG3B,C0CjoGA,kBAA2B,a1CqoG3B,C0CpoGA,sBbzBI,iDAAA,CACA,iBAAA,CACA,e7BiqGJ,C0CxoGA,iBACI,0CAAA,CACA,wBAAA,CACA,oB1C2oGJ,C0CzoGI,8CAEI,mC1C0oGR,C0CvoGI,uBCvEA,wDAAA,CACA,kBDuE0C,CCtE1C,iDAAA,CACA,2D3CitGJ,C0CzoGA,0BACI,0CAAA,CACA,wBAAA,CACA,oB1C4oGJ,C0C1oGI,gEAEI,mC1C2oGR,C0CxoGI,gCCrFA,wDAAA,CACA,kBDqF0C,CCpF1C,iDAAA,CACA,2D3CguGJ,C0CnoGA,sBACI,6CAAA,CACA,0D1CsoGJ,C4C/uGI,eACI,uB5CoyGR,C4ClyGI,eACI,0B5CqyGR,C4CnyGI,eACI,wB5CsyGR,C4CpyGI,eACI,yB5CuyGR,C4CpyGI,cACI,mB5CuyGR,C4CryGI,eACI,uBAAA,CACA,0B5CwyGR,C4CtyGI,eACI,wBAAA,CACA,yB5CyyGR,C4CtyGI,oBACI,qBAAA,CACA,iB5CyyGR,C4Cp0GI,cACI,4B5Cu0GR,C4Cr0GI,cACI,+B5Cw0GR,C4Ct0GI,cACI,6B5Cy0GR,C4Cv0GI,cACI,8B5C00GR,C4Cv0GI,aACI,wB5C00GR,C4Cx0GI,cACI,4BAAA,CACA,+B5C20GR,C4Cz0GI,cACI,6BAAA,CACA,8B5C40GR,C4Cz0GI,mBACI,0BAAA,CACA,sB5C40GR,C4Cv2GI,aACI,2B5C02GR,C4Cx2GI,aACI,8B5C22GR,C4Cz2GI,aACI,4B5C42GR,C4C12GI,aACI,6B5C62GR,C4C12GI,YACI,uB5C62GR,C4C32GI,aACI,2BAAA,CACA,8B5C82GR,C4C52GI,aACI,4BAAA,CACA,6B5C+2GR,C4C52GI,kBACI,yBAAA,CACA,qB5C+2GR,C4C14GI,YACI,4B5C64GR,C4C34GI,YACI,+B5C84GR,C4C54GI,YACI,6B5C+4GR,C4C74GI,YACI,8B5Cg5GR,C4C74GI,WACI,wB5Cg5GR,C4C94GI,YACI,4BAAA,CACA,+B5Ci5GR,C4C/4GI,YACI,6BAAA,CACA,8B5Ck5GR,C4C/4GI,iBACI,0BAAA,CACA,sB5Ck5GR,C4C76GI,YACI,0B5Cg7GR,C4C96GI,YACI,6B5Ci7GR,C4C/6GI,YACI,2B5Ck7GR,C4Ch7GI,YACI,4B5Cm7GR,C4Ch7GI,WACI,sB5Cm7GR,C4Cj7GI,YACI,0BAAA,CACA,6B5Co7GR,C4Cl7GI,YACI,2BAAA,CACA,4B5Cq7GR,C4Cl7GI,iBACI,wBAAA,CACA,oB5Cq7GR,C4Ch9GI,YACI,4B5Cm9GR,C4Cj9GI,YACI,+B5Co9GR,C4Cl9GI,YACI,6B5Cq9GR,C4Cn9GI,YACI,8B5Cs9GR,C4Cn9GI,WACI,wB5Cs9GR,C4Cp9GI,YACI,4BAAA,CACA,+B5Cu9GR,C4Cr9GI,YACI,6BAAA,CACA,8B5Cw9GR,C4Cr9GI,iBACI,0BAAA,CACA,sB5Cw9GR,C4Cn/GI,aACI,0B5Cs/GR,C4Cp/GI,aACI,6B5Cu/GR,C4Cr/GI,aACI,2B5Cw/GR,C4Ct/GI,aACI,4B5Cy/GR,C4Ct/GI,YACI,sB5Cy/GR,C4Cv/GI,aACI,0BAAA,CACA,6B5C0/GR,C4Cx/GI,aACI,2BAAA,CACA,4B5C2/GR,C4Cx/GI,kBACI,wBAAA,CACA,oB5C2/GR,C4CthHI,cACI,4B5CyhHR,C4CvhHI,cACI,+B5C0hHR,C4CxhHI,cACI,6B5C2hHR,C4CzhHI,cACI,8B5C4hHR,C4CzhHI,aACI,wB5C4hHR,C4C1hHI,cACI,4BAAA,CACA,+B5C6hHR,C4C3hHI,cACI,6BAAA,CACA,8B5C8hHR,C4C3hHI,mBACI,0BAAA,CACA,sB5C8hHR,C4CzjHI,cACI,0B5C4jHR,C4C1jHI,cACI,6B5C6jHR,C4C3jHI,cACI,2B5C8jHR,C4C5jHI,cACI,4B5C+jHR,C4C5jHI,aACI,sB5C+jHR,C4C7jHI,cACI,0BAAA,CACA,6B5CgkHR,C4C9jHI,cACI,2BAAA,CACA,4B5CikHR,C4C9jHI,mBACI,wBAAA,CACA,oB5CikHR,C4C5lHI,cACI,0B5C+lHR,C4C7lHI,cACI,6B5CgmHR,C4C9lHI,cACI,2B5CimHR,C4C/lHI,cACI,4B5CkmHR,C4C/lHI,aACI,sB5CkmHR,C4ChmHI,cACI,0BAAA,CACA,6B5CmmHR,C4CjmHI,cACI,2BAAA,CACA,4B5ComHR,C4CjmHI,mBACI,wBAAA,CACA,oB5ComHR,C6C/nHI,eACI,sB7CkoHR,C6ChoHI,eACI,yB7CmoHR,C6CjoHI,eACI,uB7CooHR,C6CloHI,eACI,wB7CqoHR,C6CnoHI,cACI,kB7CsoHR,C6CpoHI,eACI,sBAAA,CACA,yB7CuoHR,C6CroHI,eACI,uBAAA,CACA,wB7CwoHR,C6C7pHI,cACI,2B7CgqHR,C6C9pHI,cACI,8B7CiqHR,C6C/pHI,cACI,4B7CkqHR,C6ChqHI,cACI,6B7CmqHR,C6CjqHI,aACI,uB7CoqHR,C6ClqHI,cACI,2BAAA,CACA,8B7CqqHR,C6CnqHI,cACI,4BAAA,CACA,6B7CsqHR,C6C3rHI,aACI,0B7C8rHR,C6C5rHI,aACI,6B7C+rHR,C6C7rHI,aACI,2B7CgsHR,C6C9rHI,aACI,4B7CisHR,C6C/rHI,YACI,sB7CksHR,C6ChsHI,aACI,0BAAA,CACA,6B7CmsHR,C6CjsHI,aACI,2BAAA,CACA,4B7CosHR,C6CztHI,YACI,2B7C4tHR,C6C1tHI,YACI,8B7C6tHR,C6C3tHI,YACI,4B7C8tHR,C6C5tHI,YACI,6B7C+tHR,C6C7tHI,WACI,uB7CguHR,C6C9tHI,YACI,2BAAA,CACA,8B7CiuHR,C6C/tHI,YACI,4BAAA,CACA,6B7CkuHR,C6CvvHI,YACI,yB7C0vHR,C6CxvHI,YACI,4B7C2vHR,C6CzvHI,YACI,0B7C4vHR,C6C1vHI,YACI,2B7C6vHR,C6C3vHI,WACI,qB7C8vHR,C6C5vHI,YACI,yBAAA,CACA,4B7C+vHR,C6C7vHI,YACI,0BAAA,CACA,2B7CgwHR,C6CrxHI,YACI,2B7CwxHR,C6CtxHI,YACI,8B7CyxHR,C6CvxHI,YACI,4B7C0xHR,C6CxxHI,YACI,6B7C2xHR,C6CzxHI,WACI,uB7C4xHR,C6C1xHI,YACI,2BAAA,CACA,8B7C6xHR,C6C3xHI,YACI,4BAAA,CACA,6B7C8xHR,C6CnzHI,aACI,yB7CszHR,C6CpzHI,aACI,4B7CuzHR,C6CrzHI,aACI,0B7CwzHR,C6CtzHI,aACI,2B7CyzHR,C6CvzHI,YACI,qB7C0zHR,C6CxzHI,aACI,yBAAA,CACA,4B7C2zHR,C6CzzHI,aACI,0BAAA,CACA,2B7C4zHR,C6Cj1HI,cACI,2B7Co1HR,C6Cl1HI,cACI,8B7Cq1HR,C6Cn1HI,cACI,4B7Cs1HR,C6Cp1HI,cACI,6B7Cu1HR,C6Cr1HI,aACI,uB7Cw1HR,C6Ct1HI,cACI,2BAAA,CACA,8B7Cy1HR,C6Cv1HI,cACI,4BAAA,CACA,6B7C01HR,C6C/2HI,cACI,yB7Ck3HR,C6Ch3HI,cACI,4B7Cm3HR,C6Cj3HI,cACI,0B7Co3HR,C6Cl3HI,cACI,2B7Cq3HR,C6Cn3HI,aACI,qB7Cs3HR,C6Cp3HI,cACI,yBAAA,CACA,4B7Cu3HR,C6Cr3HI,cACI,0BAAA,CACA,2B7Cw3HR,C6C74HI,cACI,yB7Cg5HR,C6C94HI,cACI,4B7Ci5HR,C6C/4HI,cACI,0B7Ck5HR,C6Ch5HI,cACI,2B7Cm5HR,C6Cj5HI,aACI,qB7Co5HR,C6Cl5HI,cACI,yBAAA,CACA,4B7Cq5HR,C6Cn5HI,cACI,0BAAA,CACA,2B7Cs5HR,C6Cl5HA,eACI,0B7Cq5HJ,C6Cn5HA,eACI,2B7Cs5HJ,C6Cp5HA,eACI,yB7Cu5HJ,C6Cr5HA,eACI,4B7Cw5HJ,C8C17HA,YACI,4BAAA,CAEA,oB9C67HJ,C8Cz7HA,gCALI,sB9Ck8HJ,C8Cz7HA,2BACI,6B9C47HJ,C8Cx7HA,oDAEI,oC9C27HJ,C8Cx7HA,gDAEI,kC9C27HJ,C8Cx7HA,mCACI,gC9C27HJ,C8Cx7HA,mCACI,sC9C27HJ,C8Cx7HA,wDAEI,uC9C27HJ,C8Cx7HA,sDAEI,sC9C27HJ,C8Cv7HA,qDAEI,gC9C07HJ,C8Cv7HA,wDAEI,4B9C07HJ,C8Cx7HA,oDAEI,8B9C27HJ,C8Cv7HA,gBACI,4B9C07HJ,C8Cv7HA,wBACI,oC9C07HJ,C8Cv7HA,mBACI,+B9C07HJ,C8Cx7HI,8FAEI,gC9C07HR,C8Ct7HA,2BACI,uC9Cy7HJ,C8Cr7HA,iBACI,wB9Cw7HJ,C8Cr7HA,yBACI,gC9Cw7HJ,C8Cr7HA,mBACI,0B9Cw7HJ,C8Cr7HA,gBACI,qB9Cw7HJ,C+CzhIA,sBACI,sB/C4hIJ,C+CzhIA,uBACI,4B/C4hIJ,C+CzhIA,qBACI,uB/C4hIJ,C+CzhIA,sBACI,wB/C4hIJ,C+CzhIA,4BACI,8B/C4hIJ,C+CzhIA,0BACI,sB/C4hIJ,C+CzhIA,mCACI,e/C4hIJ,C0BhiIQ,oCqBQJ,mCACI,sB/C4hIN,CACF,CgD3jIA,kBACI,oBhD6jIJ,CgD1jIA,iBACI,oBhD6jIJ,CgD1jIA,eACI,mCAAA,CACA,mCAAA,CACA,yChD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,eACI,2CAAA,CACA,2CAAA,CACA,iDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ,CgD1jIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDhD6jIJ","file":"eui.css","sourcesContent":["/*! @ecl/preset-reset - 3.4.2 Built on 2022-09-21T10:02:32.565Z */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body{margin:0;overflow-x:hidden}","/**\n * ECL color variants formula\n * Applies tint or shade of base color provided\n *\n * @param color: base color, has variant of 100\n * @param variant: number in range between 0 - 200\n * 100 - neutral variant, no changes\n * 0 - 99: brightens base color by mixing in white color, the lower, the brighter\n * 99 - 200: darkens base color by mixing in black color, the bigger, the darker\n *\n * @return color variant of provided base color\n *\n * @examples\n *\n * // provides 30% darker pink color\n * background-color: eui-color-variant(pink, 130);\n *\n * // provides 95% lighter pink color\n * background-color: eui-color-variant(pink, 5);\n */\n/** Common weight name mapping\n @See the OpenType specification:\n https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass\n The numerical values 100 to 900 roughly correspond to the following common weight names:\n 100 Thin (Hairline)\n 200\t Extra Light (Ultra Light)\n 300\t Light\n 400\t Normal\n 500\t Medium\n 600\t Semi Bold (Demi Bold)\n 700\t Bold\n 800\t Extra Bold (Ultra Bold)\n 900\t Black (Heavy)\n**/\n/*! @ecl/preset-reset - 3.4.2 Built on 2022-09-21T10:02:32.565Z */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\nhtml {\n -webkit-text-size-adjust: 100%;\n line-height: 1.15;\n}\n\nmain {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\nimg {\n border-style: none;\n}\n\nbutton, input, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton, input {\n overflow: visible;\n}\n\nbutton, select {\n text-transform: none;\n}\n\n[type=button], [type=reset], [type=submit], button {\n -webkit-appearance: button;\n}\n\n[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=checkbox], [type=radio] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nbody {\n margin: 0;\n overflow-x: hidden;\n}\n\n:root {\n --eui-base-color-grey-100: #404040;\n --eui-base-color-grey-90: #535353;\n --eui-base-color-grey-80: #666666;\n --eui-base-color-grey-75: #707070;\n --eui-base-color-grey-50: #a0a0a0;\n --eui-base-color-grey-35: #bcbcbc;\n --eui-base-color-grey-25: #cfcfcf;\n --eui-base-color-grey-20: #d9d9d9;\n --eui-base-color-grey-15: #e2e2e2;\n --eui-base-color-grey-10: #ececec;\n --eui-base-color-grey-5: whitesmoke;\n --eui-base-color-grey-2: #fbfbfb;\n --eui-base-color-primary-140: #002959;\n --eui-base-color-primary-130: #003068;\n --eui-base-color-primary-120: #003676;\n --eui-base-color-primary-110: #003d85;\n --eui-base-color-primary-100: #004494;\n --eui-base-color-primary-75: #4073af;\n --eui-base-color-primary-50: #80a2ca;\n --eui-base-color-primary-25: #bfd0e4;\n --eui-base-color-primary-10: #e6ecf4;\n --eui-base-color-primary-5: #f2f6fa;\n --eui-base-color-accent-140: #99800e;\n --eui-base-color-accent-130: #b39610;\n --eui-base-color-accent-120: #f8ae21;\n --eui-base-color-accent-110: #fbc11d;\n --eui-base-color-accent-100: #ffd617;\n --eui-base-color-accent-75: #ffde39;\n --eui-base-color-accent-50: #ffe879;\n --eui-base-color-accent-25: #fff4bb;\n --eui-base-color-accent-10: #fffbe8;\n --eui-base-color-accent-5: #fffdf3;\n --eui-base-color-info-140: #00436c;\n --eui-base-color-info-130: #004e7e;\n --eui-base-color-info-120: #005990;\n --eui-base-color-info-110: #0064a2;\n --eui-base-color-info-100: #006fb4;\n --eui-base-color-info-75: #4093c7;\n --eui-base-color-info-50: #80b7da;\n --eui-base-color-info-25: #bfdbec;\n --eui-base-color-info-10: #e6f1f8;\n --eui-base-color-info-5: #f2f8fb;\n --eui-base-color-success-140: #2a4922;\n --eui-base-color-success-130: #315528;\n --eui-base-color-success-120: #38622e;\n --eui-base-color-success-110: #3f6e33;\n --eui-base-color-success-100: #467a39;\n --eui-base-color-success-75: #749b6b;\n --eui-base-color-success-50: #a3bd9c;\n --eui-base-color-success-25: #d1dece;\n --eui-base-color-success-10: #edf2eb;\n --eui-base-color-success-5: #f6f8f5;\n --eui-base-color-warning-140: #915917;\n --eui-base-color-warning-130: #a9681b;\n --eui-base-color-warning-120: #c2771f;\n --eui-base-color-warning-110: #da8623;\n --eui-base-color-warning-100: #f29527;\n --eui-base-color-warning-75: #f5b05d;\n --eui-base-color-warning-50: #f9ca93;\n --eui-base-color-warning-25: #fce5c9;\n --eui-base-color-warning-10: #fef4e9;\n --eui-base-color-warning-5: #fefaf4;\n --eui-base-color-danger-140: #83141d;\n --eui-base-color-danger-130: #991722;\n --eui-base-color-danger-120: #ae1a27;\n --eui-base-color-danger-110: #c41e2c;\n --eui-base-color-danger-100: #da2131;\n --eui-base-color-danger-75: #e35965;\n --eui-base-color-danger-50: #ed9098;\n --eui-base-color-danger-25: #f6c8cc;\n --eui-base-color-danger-10: #fbe9ea;\n --eui-base-color-danger-5: #fdf4f5;\n --eui-base-color-grey: #a0a0a0;\n --eui-base-color-primary: #004494;\n --eui-base-color-accent: #ffd617;\n --eui-base-color-info: #006fb4;\n --eui-base-color-success: #467a39;\n --eui-base-color-warning: #f29527;\n --eui-base-color-danger: #da2131;\n --eui-base-color-text: var(--eui-base-color-grey-100);\n --eui-base-color-link: var(--eui-base-color-primary-100);\n --eui-base-color-black: black;\n --eui-base-color-white: white;\n --eui-base-color: var(--eui-base-color-grey-100);\n --eui-base-font-size: 16px;\n --eui-base-font-size-6xl: 2.625rem;\n --eui-base-font-size-5xl: 2.25rem;\n --eui-base-font-size-4xl: 2rem;\n --eui-base-font-size-3xl: 1.75rem;\n --eui-base-font-size-2xl: 1.5rem;\n --eui-base-font-size-xl: 1.25rem;\n --eui-base-font-size-l: 1.125rem;\n --eui-base-font-size-m: 1rem;\n --eui-base-font-size-s: 0.875rem;\n --eui-base-font-size-xs: 0.75rem;\n --eui-base-font-size-2xs: 0.625rem;\n --eui-base-font-family: Arial, Helvetica Neue, Helvetica, sans-serif;\n --eui-base-font-family-icons: eui-icons, sans-serif;\n --eui-base-font-family-monospace: Consolas, Liberation Mono, Courier New, monospace;\n --eui-base-icon-size: 1.5rem;\n --eui-base-icon-size-2xs: 0.25rem;\n --eui-base-icon-size-xs: 1rem;\n --eui-base-icon-size-s: 1.25rem;\n --eui-base-icon-size-m: 1.5rem;\n --eui-base-icon-size-l: 2rem;\n --eui-base-icon-size-xl: 2.5rem;\n --eui-base-icon-size-2xl: 3rem;\n --eui-base-icon-size-3xl: 3.5rem;\n --eui-base-icon-size-4xl: 4rem;\n --eui-base-font-6xl: normal normal 400 2.625rem/3.25rem arial, sans-serif;\n --eui-base-font-5xl: normal normal 400 2.25rem/2.75rem arial, sans-serif;\n --eui-base-font-4xl: normal normal 400 2rem/2.5rem arial, sans-serif;\n --eui-base-font-3xl: normal normal 400 1.75rem/2rem arial, sans-serif;\n --eui-base-font-2xl: normal normal 400 1.5rem/1.75rem arial, sans-serif;\n --eui-base-font-xl: normal normal 400 1.25rem/1.5rem arial, sans-serif;\n --eui-base-font-l: normal normal 400 1.125rem/1.5rem arial, sans-serif;\n --eui-base-font-m: normal normal 400 1rem/1.25rem arial, sans-serif;\n --eui-base-font-s: normal normal 400 0.875rem/1rem arial, sans-serif;\n --eui-base-font-xs: normal normal 400 0.75rem/1rem arial, sans-serif;\n --eui-base-font-2xs: normal normal 400 0.625rem/1rem arial, sans-serif;\n --eui-base-font-prolonged-xl: normal normal 400 1.25rem/1.75rem arial, sans-serif;\n --eui-base-font-prolonged-l: normal normal 400 1.125rem/1.75rem arial, sans-serif;\n --eui-base-font-prolonged-m: normal normal 400 1rem/1.5rem arial, sans-serif;\n --eui-base-font-prolonged-s: normal normal 400 0.875rem/1.25rem arial, sans-serif;\n --eui-base-font-prolonged-xs: normal normal 400 0.75rem/1.25rem arial, sans-serif;\n --eui-base-spacing-none: 0;\n --eui-base-spacing-2xs: 0.25rem;\n --eui-base-spacing-xs: 0.5rem;\n --eui-base-spacing-s: 0.75rem;\n --eui-base-spacing-m: 1rem;\n --eui-base-spacing-l: 1.5rem;\n --eui-base-spacing-xl: 2rem;\n --eui-base-spacing-2xl: 2.5rem;\n --eui-base-spacing-3xl: 3rem;\n --eui-base-spacing-4xl: 4rem;\n --eui-base-shadow-1: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-2: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-3: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-4: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-6: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-8: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-9: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-12: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-16: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-24: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-z-depth-0: 0 1px 0 rgba(0, 0, 0, 0.08), 0 1px 1px rgba(0, 0, 0, 0.08);\n --eui-base-shadow-z-depth-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n --eui-base-shadow-z-depth-2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n --eui-base-shadow-z-depth-3: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n --eui-base-shadow-z-depth-4: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\n --eui-base-shadow-z-depth-5: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);\n --eui-base-z-index-auto: auto;\n --eui-base-z-index-zero: 0;\n --eui-base-z-index-root: 1;\n --eui-base-z-index-input-maxlength: 2;\n --eui-base-z-index-header: 5;\n --eui-base-z-index-top-message: 8;\n --eui-base-z-index-nav: 10;\n --eui-base-z-index-clearable-icon: 11;\n --eui-base-z-index-loading-indicator: 20;\n --eui-base-z-index-cdk-overlay-pane: 999;\n --eui-base-z-index-logo: 1000;\n --eui-base-z-index-sticky: 1040;\n --eui-base-z-index-sidebar: 1044;\n --eui-base-z-index-overlay: 1045;\n --eui-base-z-index-btn-floating: 1046;\n --eui-base-z-index-highlighted: 1047;\n --eui-base-z-index-footer-action-bar: 1048;\n --eui-base-z-index-modal-backdrop: 1049;\n --eui-base-z-index-modal: 1050;\n --eui-base-z-index-menu: 1060;\n --eui-base-z-index-tooltip: 1070;\n --eui-base-z-index-max: 9999;\n --eui-base-z-index-cdk-overlay-container: 10000;\n --eui-base-z-index-block-document: 10010;\n --eui-base-z-index-growl-message: 99999;\n}\n\n:root {\n --eui-base-line-height: 1.15;\n --eui-base-scale-factor: 1;\n --eui-base-disabled-opacity: 0.45;\n --eui-base-border-radius: 3px;\n --eui-base-border: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-light: 1px solid var(--eui-color-grey-light);\n --eui-base-border-lighter: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-lightest: 1px solid var(--eui-color-grey-lightest);\n --eui-base-animation-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 1);\n --eui-base-animation-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --eui-base-animation-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1);\n --eui-base-animation-ease-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);\n --eui-base-animation-ease-in-out-timing-function: ease-in-out;\n --eui-base-animation-duration-fast: 0.25s;\n --eui-base-animation-duration-medium: 0.5s;\n --eui-base-animation-duration-slow: 1s;\n --eui-base-animation-duration-base: 500ms;\n --eui-base-animation-duration: var(--eui-base-animation-duration-base);\n --eui-base-animation-transition-base: all 0.2s var(--eui-base-animation-linear-out-slow-in-timing-function);\n --eui-base-animation-transition-ease: all 0.2s var(--eui-base-animation-ease-timing-function);\n --eui-base-animation-transition-ease-in-out: all 0.2s var(--eui-base-animation-ease-in-out-timing-function);\n --eui-base-animation-transition-ease-in-out-1s: all 1s var(--eui-base-animation-ease-in-out-timing-function);\n --eui-base-animation-delay: 0s;\n --eui-base-animation-direction: normal;\n --eui-base-animation-fill-mode: forwards;\n --eui-base-animation-background-color: var(--eui-base-color-primary-50);\n --eui-base-color-accessible-focus: var(--eui-base-color-accent-110);\n}\n\n:root {\n --eui-app-header-height-default: 0px;\n --eui-app-header-height: 0px;\n --eui-app-header-height-active: 90px;\n --eui-app-header-height-shrink: 0px;\n --eui-app-breadcrumbs-height-default: 0px;\n --eui-app-breadcrumbs-height: 0px;\n --eui-app-breadcrumbs-height-active: 20px;\n --eui-app-top-message-height-default: 0px;\n --eui-app-top-message-height: 0px;\n --eui-app-top-message-height-active: 42px;\n --eui-app-toolbar-height-default: 0px;\n --eui-app-toolbar-height: 0px;\n --eui-app-toolbar-height-active: 55px;\n --eui-app-sidebar-width-default: 0px;\n --eui-app-sidebar-width: 0px;\n --eui-app-sidebar-width-active: 300px;\n --eui-app-sidebar-width-close-default: 0px;\n --eui-app-sidebar-width-close: 0px;\n --eui-app-sidebar-width-close-active: 64px;\n --eui-app-sidebar-header-height: 0px;\n --eui-app-sidebar-header-height-default: 0px;\n --eui-app-sidebar-header-height-active: 48px;\n --eui-app-sidebar-footer-height: 0px;\n --eui-app-sidebar-footer-height-default: 0px;\n --eui-app-sidebar-footer-height-active: 24px;\n --eui-page-header-with-subtitle-height: 4rem;\n --eui-page-header-without-subtitle-height: 2rem;\n --eui-page-column--size-s: 50px;\n --eui-page-column--size-m: 150px;\n --eui-page-column--size-l: 200px;\n --eui-page-column--size-xl: 250px;\n --eui-page-column--size-xxl: 300px;\n --eui-page-column--size-xxxl: 350px;\n --eui-page-column-footer-height: 3.5rem;\n --eui-border-state-width: 6px;\n --eui-app-header-bg-color: var(--eui-base-color-white);\n --eui-app-header-title-color: var(--eui-base-color-grey-100);\n --eui-app-header-subtitle-color: var(--eui-base-color-grey-75);\n --eui-app-toolbar-color: var(--eui-base-color-white);\n --eui-app-toolbar-bg-color: var(--eui-base-color-primary-100);\n --eui-app-toolbar-border-bottom-color: var(--eui-base-color-primary-25);\n --eui-app-sidebar-bg-color: var(--eui-base-color-grey-2);\n --eui-app-sidebar-border-right-color: #f2f4f9;\n --eui-app-body-bg-color: var(--eui-base-color-grey-5);\n --eui-app-main-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-color: var(--eui-base-color-font);\n --eui-app-footer-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-border-top-color: #e8ebf1;\n}\n\n.xs, .sm {\n --eui-app-header-height: 0px;\n}\n\n.eui-icon-svg {\n fill: currentColor;\n margin: 0;\n transform: scaleX(1) scaleY(1) rotateZ(0deg);\n transition: transform 300ms ease-in-out;\n display: inline-flex;\n align-items: center;\n}\n\n.eui-icon-svg--size-2xs {\n height: 0.25rem;\n width: 0.25rem;\n}\n\n.eui-icon-svg--size-xs {\n height: 1rem;\n width: 1rem;\n}\n\n.eui-icon-svg--size-s {\n height: 1.25rem;\n width: 1.25rem;\n}\n\n.eui-icon-svg--size-m {\n height: 1.5rem;\n width: 1.5rem;\n}\n\n.eui-icon-svg--size-l {\n height: 2rem;\n width: 2rem;\n}\n\n.eui-icon-svg--size-xl {\n height: 2.5rem;\n width: 2.5rem;\n}\n\n.eui-icon-svg--size-2xl {\n height: 3rem;\n width: 3rem;\n}\n\n.eui-icon-svg--size-3xl {\n height: 3.5rem;\n width: 3.5rem;\n}\n\n.eui-icon-svg--size-4xl {\n height: 4rem;\n width: 4rem;\n}\n\n.eui-icon-svg--color-grey-100 {\n color: #404040;\n fill: #404040;\n}\n\n.eui-icon-svg--color-grey-90 {\n color: #535353;\n fill: #535353;\n}\n\n.eui-icon-svg--color-grey-80 {\n color: #666666;\n fill: #666666;\n}\n\n.eui-icon-svg--color-grey-75 {\n color: #707070;\n fill: #707070;\n}\n\n.eui-icon-svg--color-grey-50 {\n color: #a0a0a0;\n fill: #a0a0a0;\n}\n\n.eui-icon-svg--color-grey-35 {\n color: #bcbcbc;\n fill: #bcbcbc;\n}\n\n.eui-icon-svg--color-grey-25 {\n color: #cfcfcf;\n fill: #cfcfcf;\n}\n\n.eui-icon-svg--color-grey-20 {\n color: #d9d9d9;\n fill: #d9d9d9;\n}\n\n.eui-icon-svg--color-grey-15 {\n color: #e2e2e2;\n fill: #e2e2e2;\n}\n\n.eui-icon-svg--color-grey-10 {\n color: #ececec;\n fill: #ececec;\n}\n\n.eui-icon-svg--color-grey-5 {\n color: whitesmoke;\n fill: whitesmoke;\n}\n\n.eui-icon-svg--color-grey-2 {\n color: #fbfbfb;\n fill: #fbfbfb;\n}\n\n.eui-icon-svg--color-primary-140 {\n color: #002959;\n fill: #002959;\n}\n\n.eui-icon-svg--color-primary-130 {\n color: #003068;\n fill: #003068;\n}\n\n.eui-icon-svg--color-primary-120 {\n color: #003676;\n fill: #003676;\n}\n\n.eui-icon-svg--color-primary-110 {\n color: #003d85;\n fill: #003d85;\n}\n\n.eui-icon-svg--color-primary-100 {\n color: #004494;\n fill: #004494;\n}\n\n.eui-icon-svg--color-primary-75 {\n color: #4073af;\n fill: #4073af;\n}\n\n.eui-icon-svg--color-primary-50 {\n color: #80a2ca;\n fill: #80a2ca;\n}\n\n.eui-icon-svg--color-primary-25 {\n color: #bfd0e4;\n fill: #bfd0e4;\n}\n\n.eui-icon-svg--color-primary-10 {\n color: #e6ecf4;\n fill: #e6ecf4;\n}\n\n.eui-icon-svg--color-primary-5 {\n color: #f2f6fa;\n fill: #f2f6fa;\n}\n\n.eui-icon-svg--color-accent-140 {\n color: #99800e;\n fill: #99800e;\n}\n\n.eui-icon-svg--color-accent-130 {\n color: #b39610;\n fill: #b39610;\n}\n\n.eui-icon-svg--color-accent-120 {\n color: #f8ae21;\n fill: #f8ae21;\n}\n\n.eui-icon-svg--color-accent-110 {\n color: #fbc11d;\n fill: #fbc11d;\n}\n\n.eui-icon-svg--color-accent-100 {\n color: #ffd617;\n fill: #ffd617;\n}\n\n.eui-icon-svg--color-accent-75 {\n color: #ffde39;\n fill: #ffde39;\n}\n\n.eui-icon-svg--color-accent-50 {\n color: #ffe879;\n fill: #ffe879;\n}\n\n.eui-icon-svg--color-accent-25 {\n color: #fff4bb;\n fill: #fff4bb;\n}\n\n.eui-icon-svg--color-accent-10 {\n color: #fffbe8;\n fill: #fffbe8;\n}\n\n.eui-icon-svg--color-accent-5 {\n color: #fffdf3;\n fill: #fffdf3;\n}\n\n.eui-icon-svg--color-info-140 {\n color: #00436c;\n fill: #00436c;\n}\n\n.eui-icon-svg--color-info-130 {\n color: #004e7e;\n fill: #004e7e;\n}\n\n.eui-icon-svg--color-info-120 {\n color: #005990;\n fill: #005990;\n}\n\n.eui-icon-svg--color-info-110 {\n color: #0064a2;\n fill: #0064a2;\n}\n\n.eui-icon-svg--color-info-100 {\n color: #006fb4;\n fill: #006fb4;\n}\n\n.eui-icon-svg--color-info-75 {\n color: #4093c7;\n fill: #4093c7;\n}\n\n.eui-icon-svg--color-info-50 {\n color: #80b7da;\n fill: #80b7da;\n}\n\n.eui-icon-svg--color-info-25 {\n color: #bfdbec;\n fill: #bfdbec;\n}\n\n.eui-icon-svg--color-info-10 {\n color: #e6f1f8;\n fill: #e6f1f8;\n}\n\n.eui-icon-svg--color-info-5 {\n color: #f2f8fb;\n fill: #f2f8fb;\n}\n\n.eui-icon-svg--color-success-140 {\n color: #2a4922;\n fill: #2a4922;\n}\n\n.eui-icon-svg--color-success-130 {\n color: #315528;\n fill: #315528;\n}\n\n.eui-icon-svg--color-success-120 {\n color: #38622e;\n fill: #38622e;\n}\n\n.eui-icon-svg--color-success-110 {\n color: #3f6e33;\n fill: #3f6e33;\n}\n\n.eui-icon-svg--color-success-100 {\n color: #467a39;\n fill: #467a39;\n}\n\n.eui-icon-svg--color-success-75 {\n color: #749b6b;\n fill: #749b6b;\n}\n\n.eui-icon-svg--color-success-50 {\n color: #a3bd9c;\n fill: #a3bd9c;\n}\n\n.eui-icon-svg--color-success-25 {\n color: #d1dece;\n fill: #d1dece;\n}\n\n.eui-icon-svg--color-success-10 {\n color: #edf2eb;\n fill: #edf2eb;\n}\n\n.eui-icon-svg--color-success-5 {\n color: #f6f8f5;\n fill: #f6f8f5;\n}\n\n.eui-icon-svg--color-warning-140 {\n color: #915917;\n fill: #915917;\n}\n\n.eui-icon-svg--color-warning-130 {\n color: #a9681b;\n fill: #a9681b;\n}\n\n.eui-icon-svg--color-warning-120 {\n color: #c2771f;\n fill: #c2771f;\n}\n\n.eui-icon-svg--color-warning-110 {\n color: #da8623;\n fill: #da8623;\n}\n\n.eui-icon-svg--color-warning-100 {\n color: #f29527;\n fill: #f29527;\n}\n\n.eui-icon-svg--color-warning-75 {\n color: #f5b05d;\n fill: #f5b05d;\n}\n\n.eui-icon-svg--color-warning-50 {\n color: #f9ca93;\n fill: #f9ca93;\n}\n\n.eui-icon-svg--color-warning-25 {\n color: #fce5c9;\n fill: #fce5c9;\n}\n\n.eui-icon-svg--color-warning-10 {\n color: #fef4e9;\n fill: #fef4e9;\n}\n\n.eui-icon-svg--color-warning-5 {\n color: #fefaf4;\n fill: #fefaf4;\n}\n\n.eui-icon-svg--color-danger-140 {\n color: #83141d;\n fill: #83141d;\n}\n\n.eui-icon-svg--color-danger-130 {\n color: #991722;\n fill: #991722;\n}\n\n.eui-icon-svg--color-danger-120 {\n color: #ae1a27;\n fill: #ae1a27;\n}\n\n.eui-icon-svg--color-danger-110 {\n color: #c41e2c;\n fill: #c41e2c;\n}\n\n.eui-icon-svg--color-danger-100 {\n color: #da2131;\n fill: #da2131;\n}\n\n.eui-icon-svg--color-danger-75 {\n color: #e35965;\n fill: #e35965;\n}\n\n.eui-icon-svg--color-danger-50 {\n color: #ed9098;\n fill: #ed9098;\n}\n\n.eui-icon-svg--color-danger-25 {\n color: #f6c8cc;\n fill: #f6c8cc;\n}\n\n.eui-icon-svg--color-danger-10 {\n color: #fbe9ea;\n fill: #fbe9ea;\n}\n\n.eui-icon-svg--color-danger-5 {\n color: #fdf4f5;\n fill: #fdf4f5;\n}\n\n.eui-icon-svg--color-grey {\n color: #a0a0a0;\n fill: #a0a0a0;\n}\n\n.eui-icon-svg--color-primary {\n color: #004494;\n fill: #004494;\n}\n\n.eui-icon-svg--color-accent {\n color: #ffd617;\n fill: #ffd617;\n}\n\n.eui-icon-svg--color-info {\n color: #006fb4;\n fill: #006fb4;\n}\n\n.eui-icon-svg--color-success {\n color: #467a39;\n fill: #467a39;\n}\n\n.eui-icon-svg--color-warning {\n color: #f29527;\n fill: #f29527;\n}\n\n.eui-icon-svg--color-danger {\n color: #da2131;\n fill: #da2131;\n}\n\n.eui-icon-svg--color-white {\n color: white;\n fill: white;\n}\n\n.eui-icon-svg--color-black {\n color: black;\n fill: black;\n}\n\n.mat-ripple {\n overflow: hidden;\n position: relative;\n}\n.mat-ripple:not(:empty) {\n transform: translateZ(0);\n}\n\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n}\n\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale3d(0, 0, 0);\n}\n.cdk-high-contrast-active .mat-ripple-element {\n display: none;\n}\n\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n left: 0;\n}\n[dir=rtl] .cdk-visually-hidden {\n left: auto;\n right: 0;\n}\n\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n}\n\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000;\n}\n.cdk-overlay-container:empty {\n display: none;\n}\n\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000;\n}\n\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n}\n\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n}\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1;\n}\n.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6;\n}\n\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32);\n}\n\n.cdk-overlay-transparent-backdrop {\n transition: visibility 1ms linear, opacity 1ms linear;\n visibility: hidden;\n opacity: 1;\n}\n.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0;\n visibility: visible;\n}\n\n.cdk-overlay-backdrop-noop-animation {\n transition: none;\n}\n\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px;\n}\n\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll;\n}\n\ntextarea.cdk-textarea-autosize {\n resize: none;\n}\n\ntextarea.cdk-textarea-autosize-measuring {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: auto !important;\n overflow: hidden !important;\n}\n\ntextarea.cdk-textarea-autosize-measuring-firefox {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: 0 !important;\n}\n\n@keyframes cdk-text-field-autofill-start {\n /*!*/\n}\n@keyframes cdk-text-field-autofill-end {\n /*!*/\n}\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n animation: cdk-text-field-autofill-start 0s 1ms;\n}\n\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n animation: cdk-text-field-autofill-end 0s 1ms;\n}\n\n.mat-focus-indicator {\n position: relative;\n}\n.mat-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-focus-indicator-display, none);\n border: var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);\n border-radius: var(--mat-focus-indicator-border-radius, 4px);\n}\n.mat-focus-indicator:focus::before {\n content: \"\";\n}\n\n.cdk-high-contrast-active {\n --mat-focus-indicator-display: block;\n}\n\n.mat-mdc-focus-indicator {\n position: relative;\n}\n.mat-mdc-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-mdc-focus-indicator-display, none);\n border: var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);\n border-radius: var(--mat-mdc-focus-indicator-border-radius, 4px);\n}\n.mat-mdc-focus-indicator:focus::before {\n content: \"\";\n}\n\n.cdk-high-contrast-active {\n --mat-mdc-focus-indicator-display: block;\n}\n\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.mat-mdc-option {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n.mat-mdc-option:hover:not(.mdc-list-item--disabled), .mat-mdc-option:focus:not(.mdc-list-item--disabled), .mat-mdc-option.mat-mdc-option-active, .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled) {\n background: rgba(0, 0, 0, 0.04);\n}\n\n.mat-primary .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n}\n\n.mat-accent .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-secondary, #fffcf4);\n}\n\n.mat-warn .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-error, #da2131);\n}\n\n.mat-mdc-optgroup-label {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54);\n}\n.mat-pseudo-checkbox::after {\n color: #fafafa;\n}\n\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0;\n}\n\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #004494;\n}\n\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #fffcf4;\n}\n\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #da2131;\n}\n\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0;\n}\n\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87);\n}\n\n.mat-elevation-z0, .mat-mdc-elevation-specific.mat-elevation-z0 {\n /* @alternate */\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z1, .mat-mdc-elevation-specific.mat-elevation-z1 {\n /* @alternate */\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z2, .mat-mdc-elevation-specific.mat-elevation-z2 {\n /* @alternate */\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z3, .mat-mdc-elevation-specific.mat-elevation-z3 {\n /* @alternate */\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z4, .mat-mdc-elevation-specific.mat-elevation-z4 {\n /* @alternate */\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z5, .mat-mdc-elevation-specific.mat-elevation-z5 {\n /* @alternate */\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z6, .mat-mdc-elevation-specific.mat-elevation-z6 {\n /* @alternate */\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z7, .mat-mdc-elevation-specific.mat-elevation-z7 {\n /* @alternate */\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z8, .mat-mdc-elevation-specific.mat-elevation-z8 {\n /* @alternate */\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z9, .mat-mdc-elevation-specific.mat-elevation-z9 {\n /* @alternate */\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z10, .mat-mdc-elevation-specific.mat-elevation-z10 {\n /* @alternate */\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z11, .mat-mdc-elevation-specific.mat-elevation-z11 {\n /* @alternate */\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z12, .mat-mdc-elevation-specific.mat-elevation-z12 {\n /* @alternate */\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z13, .mat-mdc-elevation-specific.mat-elevation-z13 {\n /* @alternate */\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z14, .mat-mdc-elevation-specific.mat-elevation-z14 {\n /* @alternate */\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z15, .mat-mdc-elevation-specific.mat-elevation-z15 {\n /* @alternate */\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z16, .mat-mdc-elevation-specific.mat-elevation-z16 {\n /* @alternate */\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z17, .mat-mdc-elevation-specific.mat-elevation-z17 {\n /* @alternate */\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z18, .mat-mdc-elevation-specific.mat-elevation-z18 {\n /* @alternate */\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z19, .mat-mdc-elevation-specific.mat-elevation-z19 {\n /* @alternate */\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z20, .mat-mdc-elevation-specific.mat-elevation-z20 {\n /* @alternate */\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z21, .mat-mdc-elevation-specific.mat-elevation-z21 {\n /* @alternate */\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z22, .mat-mdc-elevation-specific.mat-elevation-z22 {\n /* @alternate */\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z23, .mat-mdc-elevation-specific.mat-elevation-z23 {\n /* @alternate */\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z24, .mat-mdc-elevation-specific.mat-elevation-z24 {\n /* @alternate */\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-theme-loaded-marker {\n display: none;\n}\n\n.mat-calendar-arrow {\n fill: rgba(0, 0, 0, 0.54);\n}\n\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54);\n}\n\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.mat-calendar-table-header,\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54);\n}\n\n.mat-calendar-body-cell-content,\n.mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent;\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-form-field-disabled .mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-calendar-body-in-preview {\n color: rgba(0, 0, 0, 0.24);\n}\n\n.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.18);\n}\n\n.mat-calendar-body-in-range::before {\n background: rgba(0, 68, 148, 0.2);\n}\n\n.mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n\n.mat-calendar-body-comparison-bridge-start::before,\n[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-calendar-body-comparison-bridge-end::before,\n[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n\n.mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n\n.mat-calendar-body-selected {\n background-color: #004494;\n color: white;\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(0, 68, 148, 0.4);\n}\n\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n}\n\n@media (hover: hover) {\n .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n }\n}\n.mat-datepicker-content {\n /* @alternate */\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {\n background: rgba(255, 252, 244, 0.2);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,\n.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,\n.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #fffcf4;\n color: #404040;\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 252, 244, 0.4);\n}\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px #404040;\n}\n.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n}\n@media (hover: hover) {\n .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n }\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {\n background: rgba(218, 33, 49, 0.2);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,\n.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,\n.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #da2131;\n color: white;\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(218, 33, 49, 0.4);\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n}\n@media (hover: hover) {\n .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n }\n}\n\n.mat-datepicker-content-touch {\n /* @alternate */\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-datepicker-toggle-active {\n color: #004494;\n}\n.mat-datepicker-toggle-active.mat-accent {\n color: #fffcf4;\n}\n.mat-datepicker-toggle-active.mat-warn {\n color: #da2131;\n}\n\n.mat-date-range-input-inner[disabled] {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mdc-menu-surface {\n /* @alternate */\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: var(--mdc-theme-surface, #fff);\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item__primary-text {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n.mdc-list-item__secondary-text {\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));\n}\n\n.mdc-list-item__overline-text {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n background-color: transparent;\n}\n\n.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item__end {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item--disabled .mdc-list-item__start,\n.mdc-list-item--disabled .mdc-list-item__content,\n.mdc-list-item--disabled .mdc-list-item__end {\n opacity: 0.38;\n}\n\n.mdc-list-item--disabled .mdc-list-item__primary-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item--disabled .mdc-list-item__secondary-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item--disabled .mdc-list-item__overline-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n}\n.mdc-list-item--disabled.mdc-list-item--with-trailing-meta .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--selected .mdc-list-item__primary-text,\n.mdc-list-item--activated .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n}\n.mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-primary, #004494);\n}\n\n.mdc-deprecated-list-group__subheader {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n@media screen and (forced-colors: active), (-ms-high-contrast: active) {\n .mdc-list-divider::after {\n border-bottom-color: white;\n }\n}\n.mdc-list-divider {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.mat-mdc-slide-toggle {\n --mdc-switch-disabled-selected-handle-color: #424242;\n --mdc-switch-disabled-unselected-handle-color: #424242;\n --mdc-switch-disabled-selected-track-color: #424242;\n --mdc-switch-disabled-unselected-track-color: #424242;\n --mdc-switch-unselected-focus-state-layer-color: #424242;\n --mdc-switch-unselected-pressed-state-layer-color: #424242;\n --mdc-switch-unselected-hover-state-layer-color: #424242;\n --mdc-switch-unselected-focus-track-color: #e0e0e0;\n --mdc-switch-unselected-hover-track-color: #e0e0e0;\n --mdc-switch-unselected-pressed-track-color: #e0e0e0;\n --mdc-switch-unselected-track-color: #e0e0e0;\n --mdc-switch-unselected-focus-handle-color: #212121;\n --mdc-switch-unselected-hover-handle-color: #212121;\n --mdc-switch-unselected-pressed-handle-color: #212121;\n --mdc-switch-handle-surface-color: var(--mdc-theme-surface, #fff);\n --mdc-switch-unselected-handle-color: #616161;\n --mdc-switch-selected-icon-color: #f5f5f5;\n --mdc-switch-disabled-selected-icon-color: #f5f5f5;\n --mdc-switch-disabled-unselected-icon-color: #f5f5f5;\n --mdc-switch-unselected-icon-color: #f5f5f5;\n}\n.mat-mdc-slide-toggle .mdc-form-field {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n.mat-mdc-slide-toggle .mdc-switch--disabled + label {\n color: rgba(0, 0, 0, 0.38);\n}\n.mat-mdc-slide-toggle.mat-primary {\n --mdc-switch-selected-focus-state-layer-color: #004494;\n --mdc-switch-selected-handle-color: #004494;\n --mdc-switch-selected-hover-state-layer-color: #004494;\n --mdc-switch-selected-pressed-state-layer-color: #004494;\n --mdc-switch-selected-focus-handle-color: #00224a;\n --mdc-switch-selected-hover-handle-color: #00224a;\n --mdc-switch-selected-pressed-handle-color: #00224a;\n --mdc-switch-selected-focus-track-color: #a5ceff;\n --mdc-switch-selected-hover-track-color: #a5ceff;\n --mdc-switch-selected-pressed-track-color: #a5ceff;\n --mdc-switch-selected-track-color: #a5ceff;\n}\n.mat-mdc-slide-toggle.mat-accent {\n --mdc-switch-selected-focus-state-layer-color: #fffcf4;\n --mdc-switch-selected-handle-color: #fffcf4;\n --mdc-switch-selected-hover-state-layer-color: #fffcf4;\n --mdc-switch-selected-pressed-state-layer-color: #fffcf4;\n --mdc-switch-selected-focus-handle-color: #a7a7a7;\n --mdc-switch-selected-hover-handle-color: #a7a7a7;\n --mdc-switch-selected-pressed-handle-color: #a7a7a7;\n --mdc-switch-selected-focus-track-color: #fffefc;\n --mdc-switch-selected-hover-track-color: #fffefc;\n --mdc-switch-selected-pressed-track-color: #fffefc;\n --mdc-switch-selected-track-color: #fffefc;\n}\n.mat-mdc-slide-toggle.mat-warn {\n --mdc-switch-selected-focus-state-layer-color: #da2131;\n --mdc-switch-selected-handle-color: #da2131;\n --mdc-switch-selected-hover-state-layer-color: #da2131;\n --mdc-switch-selected-pressed-state-layer-color: #da2131;\n --mdc-switch-selected-focus-handle-color: #6d2128;\n --mdc-switch-selected-hover-handle-color: #6d2128;\n --mdc-switch-selected-pressed-handle-color: #6d2128;\n --mdc-switch-selected-focus-track-color: #f6c7cb;\n --mdc-switch-selected-hover-track-color: #f6c7cb;\n --mdc-switch-selected-pressed-track-color: #f6c7cb;\n --mdc-switch-selected-track-color: #f6c7cb;\n}\n\n.cdk-overlay-pane {\n background-color: white;\n}\n\n.cdk-global-scrollblock {\n position: fixed;\n overflow-y: visible;\n width: 100%;\n top: 0 !important;\n left: 0 !important;\n}\n.cdk-global-scrollblock::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n}\n.cdk-global-scrollblock::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n}\n.cdk-global-scrollblock::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n}\n.cdk-global-scrollblock::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n}\n\n@media screen and (max-width: 767px) {\n .cdk-global-scrollblock {\n height: 100%;\n overflow: auto;\n position: fixed;\n width: 100%;\n }\n .cdk-global-scrollblock::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n }\n .cdk-global-scrollblock::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n }\n .cdk-global-scrollblock::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n }\n .cdk-global-scrollblock::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n }\n}\n.flex-container {\n align-items: center;\n display: flex;\n width: 100%;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -webkit-flex !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.ux-col {\n flex: 1 0 auto;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6,\n.h7,\n.h8,\n.h9 {\n font-family: var(--eui-base-font-family);\n font-size: var(--eui-base-font-size);\n font-style: normal;\n font-weight: 400;\n color: inherit;\n}\n\nh1,\n.h1 {\n font: normal normal 400 2rem/2.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh2,\n.h2 {\n font: normal normal 400 1.75rem/2rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh3,\n.h3 {\n font: normal normal 400 1.5rem/1.75rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh4,\n.h4 {\n font: normal normal 400 1.25rem/1.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh5,\n.h5 {\n font: normal normal 400 1.125rem/1.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh6,\n.h6 {\n font: normal normal 400 1rem/1.25rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h7,\n.small {\n font: normal normal 400 0.875rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h8,\n.smaller {\n font: normal normal 400 0.75rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h9,\n.smallest,\n.tiny {\n font: normal normal 400 0.625rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\na,\na:not([href]):not([tabindex]) {\n color: var(--eui-base-color-link);\n cursor: pointer;\n}\na:hover, a:focus,\na:not([href]):not([tabindex]):hover,\na:not([href]):not([tabindex]):focus {\n color: var(--eui-base-color-link);\n text-decoration: underline;\n}\n\na {\n background-color: transparent;\n text-decoration: none;\n}\n\na:focus {\n text-decoration: underline;\n}\n\nabbr[title] {\n text-decoration: none;\n}\n\n.label, abbr, blockquote, del, label, mark, p {\n font-size: var(--eui-base-font-size);\n}\n\nlabel {\n margin-bottom: var(--eui-base-spacing-xs);\n}\n\n.eui-input-maxlength-wrapper {\n position: relative;\n width: 100%;\n}\n.eui-input-maxlength-wrapper .eui-input-maxlength {\n font: normal normal 400 0.75rem/1rem arial, sans-serif;\n background-color: var(--eui-base-color-grey-10);\n border: 1px solid var(--eui-base-color-grey-50);\n border-radius: var(--eui-base-border-radius);\n color: var(--eui-base-color-black);\n padding: 0 var(--eui-base-spacing-2xs);\n position: absolute;\n right: calc(-1 * var(--eui-base-spacing-xs));\n top: calc(-1 * var(--eui-base-spacing-xs));\n z-index: var(--eui-base-z-index-input-maxlength);\n}\n.eui-input-maxlength-wrapper .eui-input-maxlength--invalid {\n background-color: var(--eui-base-color-danger-100);\n border-color: var(--eui-base-color-danger-100);\n color: var(--eui-base-color-white);\n}\n\nhtml {\n --eui-html-font-size: var(--eui-base-font-size);\n --eui-html-line-height: var(--eui-base-line-height);\n display: block;\n height: 100%;\n font-size: var(--eui-html-font-size);\n line-height: var(--eui-html-line-height);\n}\n\nbody {\n --eui-body-bg-color: var(--eui-app-body-bg-color);\n --eui-body-color: var(--eui-base-color);\n --eui-body-font-family: var(--eui-base-font-family);\n --eui-body-font-size: var(--eui-base-font-size);\n --eui-body-line-height: var(--eui-base-line-height);\n background-color: var(--eui-body-bg-color);\n color: var(--eui-body-color);\n font-family: var(--eui-body-font-family);\n font-feature-settings: \"liga\";\n font-size: var(--eui-body-font-size);\n -moz-font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n font-style: normal;\n font-weight: normal;\n height: 100%;\n line-height: var(--eui-body-line-height);\n margin: 0;\n text-align: left;\n text-rendering: optimizeLegibility;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n/* ==========================================================================\n #BOX-SIZING\n ========================================================================== */\n/**\n * More sensible default box-sizing:\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n */\nhtml {\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: inherit;\n}\n\na,\narea,\nbutton,\n[role=button],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n[hidden] {\n display: none !important;\n}\n\np,\nlabel,\n.label,\nblockquote,\nabbr,\nmark,\ndel {\n font-size: var(--eui-base-font-size);\n}\n\n.label,\nlabel {\n align-items: center;\n display: inline-flex;\n font-style: normal;\n font-weight: normal;\n padding-right: var(--eui-base-spacing-m);\n position: relative;\n}\n\nem {\n font-style: italic;\n}\n\noptgroup,\nstrong,\nb {\n font-weight: bold;\n}\noptgroup i, optgroup em,\nstrong i,\nstrong em,\nb i,\nb em {\n font-style: italic;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-size: var(--eui-base-font-size);\n font-family: var(--eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\ncode {\n color: #cc367b;\n font-size: 95%;\n word-wrap: break-word;\n}\n\nsmall {\n font-size: 80%;\n}\n\nkbd {\n background-color: var(--eui-base-color-grey-75);\n border-radius: var(--eui-base-border-radius);\n color: var(--eui-base-color-white);\n font-size: var(--eui-base-font-size-s);\n padding: 1px var(--eui-base-spacing-2xs);\n}\n\npre {\n color: var(--eui-base-color);\n display: block;\n font-size: 87.5%;\n margin-bottom: var(--eui-base-spacing-m);\n margin-top: 0;\n overflow: auto;\n}\n\nblockquote {\n border-left: var(--eui-base-spacing-xs) solid var(--eui-base-color-grey-20);\n padding: var(--eui-base-spacing-xs) var(--eui-base-spacing-m);\n}\n\nmark,\n.mark {\n background-color: var(--eui-base-color-accent-25);\n padding: var(--eui-base-spacing-2xs);\n}\n\ntable.eui-table-default {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n color: var(--eui-base-color-font);\n max-width: 100%;\n overflow: auto;\n position: relative;\n}\ntable.eui-table-default thead > tr > th,\ntable.eui-table-default tbody > tr > td,\ntable.eui-table-default tfoot > tr > td {\n vertical-align: top;\n}\ntable.eui-table-default tr > th,\ntable.eui-table-default tr > td {\n padding: var(--eui-base-spacing-s);\n}\ntable.eui-table-default thead th {\n border-bottom: 1px solid var(--eui-base-color-grey-10);\n color: var(--eui-base-color-grey-75);\n font-size: var(--eui-base-font-size);\n padding: var(--eui-base-spacing-m) var(--eui-base-spacing-s);\n vertical-align: middle;\n font-style: normal;\n font-weight: 700;\n}\ntable.eui-table-default thead tr {\n background: var(--eui-base-color-grey-5);\n border-top: 0;\n}\ntable.eui-table-default tbody {\n -webkit-overflow-scrolling: touch;\n}\ntable.eui-table-default tbody tr:nth-of-type(odd) {\n background-color: var(--eui-base-color-white);\n}\ntable.eui-table-default tbody tr:nth-of-type(odd):hover {\n background-color: var(--eui-base-color-grey-5);\n}\ntable.eui-table-default tbody tr:nth-of-type(even) {\n background-color: var(--eui-base-color-grey-5);\n}\ntable.eui-table-default tbody tr:nth-of-type(even):hover {\n background-color: var(--eui-base-color-white);\n}\ntable.eui-table-default tr {\n border-bottom: 1px solid var(--eui-base-color-grey-20);\n display: table-row;\n}\ntable.eui-table-default--compact thead th {\n padding: var(--eui-base-spacing-xs) var(--eui-base-spacing-s);\n}\ntable.eui-table-default--compact tr > td {\n padding: var(--eui-base-spacing-2xs) var(--eui-base-spacing-s);\n}\ntable.eui-table-default--responsive {\n display: block;\n width: 100%;\n}\ntable.eui-table-default--responsive--bordered {\n border: 0;\n}\ntable.eui-table-default--bordered th,\ntable.eui-table-default--bordered td {\n border: 1px solid var(--eui-base-color-grey-20);\n}\ntable.eui-table-default--shadowed {\n box-shadow: var(--eui-base-base-shadow-1);\n}\ntable.eui-table-default--nowrap {\n white-space: nowrap;\n}\ntable.eui-table-default--nowrap thead > tr > th,\ntable.eui-table-default--nowrap tbody > tr > td,\ntable.eui-table-default--nowrap tfoot > tr > td {\n white-space: nowrap;\n}\ntable.eui-table-default--centered {\n display: table;\n margin: 0 auto;\n width: auto;\n}\ntable.eui-table-default--align-middle thead > tr > th,\ntable.eui-table-default--align-middle tbody > tr > td,\ntable.eui-table-default--align-middle tfoot > tr > td {\n vertical-align: middle;\n}\n\nhtml.eui-t-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n\nform.eui-t-form-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-input-group-spacing: var(--eui-base-spacing-xs);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\nform.eui-t-form-compact .eui-input-group {\n margin-bottom: var(--eui-input-group-spacing);\n}\nform.eui-t-form-compact .eui-input-group label {\n margin-bottom: var(--eui-base-spacing-2xs);\n}\nform.eui-t-form-compact .eui-input-group-addon-item {\n min-height: calc(2.5 * var(--eui-base-spacing));\n min-width: calc(2.5 * var(--eui-base-spacing));\n padding: calc(var(--eui-base-spacing-xs) - 1px);\n}\n\n.eui-table.eui-t-table-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-table-header-padding: var(--eui-base-spacing-s);\n --eui-table-row-padding: var(--eui-base-spacing-2xs);\n --eui-table-footer-padding: var(--eui-base-spacing-s);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n.eui-table.eui-t-table-compact thead tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact thead tr th {\n padding: var(--eui-table-header-padding) var(--eui-base-spacing-s);\n}\n.eui-table.eui-t-table-compact tbody tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact tbody tr td {\n padding: var(--eui-table-row-padding) var(--eui-base-spacing-s);\n}\n.eui-table.eui-t-table-compact tfoot tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact tfoot tr td {\n padding: var(--eui-table-footer-padding) var(--eui-base-spacing-s);\n}\n\n.eui-card.eui-t-card-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-card-title-size: var(--eui-base-font-size-m);\n --eui-card-subtitle-size: var(--eui-base-font-size-s);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n.eui-card.eui-t-card-compact .eui-card-header__title-container-title, .eui-card.eui-t-card-compact .eui-card-header__title-container-title .eui-label {\n font-size: var(--eui-card-title-size);\n}\n.eui-card.eui-t-card-compact .eui-card-header__title-container-subtitle, .eui-card.eui-t-card-compact .eui-card-header__title-container-subtitle .eui-label {\n font-size: var(--eui-card-subtitle-size);\n}\n.eui-card.eui-t-card-compact .eui-card-header__urgent-indicator::after {\n font-size: var(--eui-base-font-size-2xl);\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n img[src$=\".svg\"] {\n width: 100%;\n }\n}\n@media screen {\n img {\n background-repeat: no-repeat;\n background-size: 100%;\n -ms-interpolation-mode: bicubic;\n }\n}\n.cookie-consent-banner {\n display: block !important;\n min-width: 50% !important;\n position: absolute !important;\n right: 50% !important;\n top: var(--eui-base-spacing-m) !important;\n transform: translateX(50%) !important;\n z-index: var(--eui-base-z-index-max) !important;\n box-shadow: var(--eui-base-shadow-24) !important;\n background: var(--eui-base-color-primary) !important;\n color: var(eui-base-color-white) !important;\n}\n\n#loader-wrapper {\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 1000;\n}\n#loader-wrapper #loader {\n -webkit-animation: spin 2s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 5s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-warning-100);\n display: block;\n height: 200px;\n left: 50%;\n margin: -100px 0 0 -100px;\n position: relative;\n top: 50%;\n width: 200px;\n}\n#loader-wrapper #loader::before {\n -webkit-animation: spin 2s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 4s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-danger-100);\n bottom: 5px;\n content: \"\";\n left: 5px;\n position: absolute;\n right: 5px;\n top: 5px;\n}\n#loader-wrapper #loader::after {\n -webkit-animation: spin 1s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 1s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 3s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-primary-100);\n bottom: 20px;\n content: \"\";\n left: 20px;\n position: absolute;\n right: 20px;\n top: 20px;\n}\n\n/* stylelint-enable */\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n@keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n.eui-u-color-black {\n color: var(--eui-base-color-black) !important;\n}\n\n.eui-u-bg-color-black {\n background-color: var(--eui-base-color-black) !important;\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-color-white {\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-bg-color-white {\n background-color: var(--eui-base-color-white) !important;\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-color-grey-100 {\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-bg-color-grey-100 {\n background-color: var(--eui-base-color-grey-100) !important;\n color: var(--eui-base-color-grey-100-contrast) !important;\n}\n\n.eui-u-color-grey-90 {\n color: var(--eui-base-color-grey-90) !important;\n}\n\n.eui-u-bg-color-grey-90 {\n background-color: var(--eui-base-color-grey-90) !important;\n color: var(--eui-base-color-grey-90-contrast) !important;\n}\n\n.eui-u-color-grey-80 {\n color: var(--eui-base-color-grey-80) !important;\n}\n\n.eui-u-bg-color-grey-80 {\n background-color: var(--eui-base-color-grey-80) !important;\n color: var(--eui-base-color-grey-80-contrast) !important;\n}\n\n.eui-u-color-grey-75 {\n color: var(--eui-base-color-grey-75) !important;\n}\n\n.eui-u-bg-color-grey-75 {\n background-color: var(--eui-base-color-grey-75) !important;\n color: var(--eui-base-color-grey-75-contrast) !important;\n}\n\n.eui-u-color-grey-50 {\n color: var(--eui-base-color-grey-50) !important;\n}\n\n.eui-u-bg-color-grey-50 {\n background-color: var(--eui-base-color-grey-50) !important;\n color: var(--eui-base-color-grey-50-contrast) !important;\n}\n\n.eui-u-color-grey-35 {\n color: var(--eui-base-color-grey-35) !important;\n}\n\n.eui-u-bg-color-grey-35 {\n background-color: var(--eui-base-color-grey-35) !important;\n color: var(--eui-base-color-grey-35-contrast) !important;\n}\n\n.eui-u-color-grey-25 {\n color: var(--eui-base-color-grey-25) !important;\n}\n\n.eui-u-bg-color-grey-25 {\n background-color: var(--eui-base-color-grey-25) !important;\n color: var(--eui-base-color-grey-25-contrast) !important;\n}\n\n.eui-u-color-grey-20 {\n color: var(--eui-base-color-grey-20) !important;\n}\n\n.eui-u-bg-color-grey-20 {\n background-color: var(--eui-base-color-grey-20) !important;\n color: var(--eui-base-color-grey-20-contrast) !important;\n}\n\n.eui-u-color-grey-15 {\n color: var(--eui-base-color-grey-15) !important;\n}\n\n.eui-u-bg-color-grey-15 {\n background-color: var(--eui-base-color-grey-15) !important;\n color: var(--eui-base-color-grey-15-contrast) !important;\n}\n\n.eui-u-color-grey-10 {\n color: var(--eui-base-color-grey-10) !important;\n}\n\n.eui-u-bg-color-grey-10 {\n background-color: var(--eui-base-color-grey-10) !important;\n color: var(--eui-base-color-grey-10-contrast) !important;\n}\n\n.eui-u-color-grey-5 {\n color: var(--eui-base-color-grey-5) !important;\n}\n\n.eui-u-bg-color-grey-5 {\n background-color: var(--eui-base-color-grey-5) !important;\n color: var(--eui-base-color-grey-5-contrast) !important;\n}\n\n.eui-u-color-grey-2 {\n color: var(--eui-base-color-grey-2) !important;\n}\n\n.eui-u-bg-color-grey-2 {\n background-color: var(--eui-base-color-grey-2) !important;\n color: var(--eui-base-color-grey-2-contrast) !important;\n}\n\n.eui-u-color-primary-140 {\n color: var(--eui-base-color-primary-140) !important;\n}\n\n.eui-u-bg-color-primary-140 {\n background-color: var(--eui-base-color-primary-140) !important;\n color: var(--eui-base-color-primary-140-contrast) !important;\n}\n\n.eui-u-color-primary-130 {\n color: var(--eui-base-color-primary-130) !important;\n}\n\n.eui-u-bg-color-primary-130 {\n background-color: var(--eui-base-color-primary-130) !important;\n color: var(--eui-base-color-primary-130-contrast) !important;\n}\n\n.eui-u-color-primary-120 {\n color: var(--eui-base-color-primary-120) !important;\n}\n\n.eui-u-bg-color-primary-120 {\n background-color: var(--eui-base-color-primary-120) !important;\n color: var(--eui-base-color-primary-120-contrast) !important;\n}\n\n.eui-u-color-primary-110 {\n color: var(--eui-base-color-primary-110) !important;\n}\n\n.eui-u-bg-color-primary-110 {\n background-color: var(--eui-base-color-primary-110) !important;\n color: var(--eui-base-color-primary-110-contrast) !important;\n}\n\n.eui-u-color-primary-100 {\n color: var(--eui-base-color-primary-100) !important;\n}\n\n.eui-u-bg-color-primary-100 {\n background-color: var(--eui-base-color-primary-100) !important;\n color: var(--eui-base-color-primary-100-contrast) !important;\n}\n\n.eui-u-color-primary-75 {\n color: var(--eui-base-color-primary-75) !important;\n}\n\n.eui-u-bg-color-primary-75 {\n background-color: var(--eui-base-color-primary-75) !important;\n color: var(--eui-base-color-primary-75-contrast) !important;\n}\n\n.eui-u-color-primary-50 {\n color: var(--eui-base-color-primary-50) !important;\n}\n\n.eui-u-bg-color-primary-50 {\n background-color: var(--eui-base-color-primary-50) !important;\n color: var(--eui-base-color-primary-50-contrast) !important;\n}\n\n.eui-u-color-primary-25 {\n color: var(--eui-base-color-primary-25) !important;\n}\n\n.eui-u-bg-color-primary-25 {\n background-color: var(--eui-base-color-primary-25) !important;\n color: var(--eui-base-color-primary-25-contrast) !important;\n}\n\n.eui-u-color-primary-10 {\n color: var(--eui-base-color-primary-10) !important;\n}\n\n.eui-u-bg-color-primary-10 {\n background-color: var(--eui-base-color-primary-10) !important;\n color: var(--eui-base-color-primary-10-contrast) !important;\n}\n\n.eui-u-color-primary-5 {\n color: var(--eui-base-color-primary-5) !important;\n}\n\n.eui-u-bg-color-primary-5 {\n background-color: var(--eui-base-color-primary-5) !important;\n color: var(--eui-base-color-primary-5-contrast) !important;\n}\n\n.eui-u-color-accent-140 {\n color: var(--eui-base-color-accent-140) !important;\n}\n\n.eui-u-bg-color-accent-140 {\n background-color: var(--eui-base-color-accent-140) !important;\n color: var(--eui-base-color-accent-140-contrast) !important;\n}\n\n.eui-u-color-accent-130 {\n color: var(--eui-base-color-accent-130) !important;\n}\n\n.eui-u-bg-color-accent-130 {\n background-color: var(--eui-base-color-accent-130) !important;\n color: var(--eui-base-color-accent-130-contrast) !important;\n}\n\n.eui-u-color-accent-120 {\n color: var(--eui-base-color-accent-120) !important;\n}\n\n.eui-u-bg-color-accent-120 {\n background-color: var(--eui-base-color-accent-120) !important;\n color: var(--eui-base-color-accent-120-contrast) !important;\n}\n\n.eui-u-color-accent-110 {\n color: var(--eui-base-color-accent-110) !important;\n}\n\n.eui-u-bg-color-accent-110 {\n background-color: var(--eui-base-color-accent-110) !important;\n color: var(--eui-base-color-accent-110-contrast) !important;\n}\n\n.eui-u-color-accent-100 {\n color: var(--eui-base-color-accent-100) !important;\n}\n\n.eui-u-bg-color-accent-100 {\n background-color: var(--eui-base-color-accent-100) !important;\n color: var(--eui-base-color-accent-100-contrast) !important;\n}\n\n.eui-u-color-accent-75 {\n color: var(--eui-base-color-accent-75) !important;\n}\n\n.eui-u-bg-color-accent-75 {\n background-color: var(--eui-base-color-accent-75) !important;\n color: var(--eui-base-color-accent-75-contrast) !important;\n}\n\n.eui-u-color-accent-50 {\n color: var(--eui-base-color-accent-50) !important;\n}\n\n.eui-u-bg-color-accent-50 {\n background-color: var(--eui-base-color-accent-50) !important;\n color: var(--eui-base-color-accent-50-contrast) !important;\n}\n\n.eui-u-color-accent-25 {\n color: var(--eui-base-color-accent-25) !important;\n}\n\n.eui-u-bg-color-accent-25 {\n background-color: var(--eui-base-color-accent-25) !important;\n color: var(--eui-base-color-accent-25-contrast) !important;\n}\n\n.eui-u-color-accent-10 {\n color: var(--eui-base-color-accent-10) !important;\n}\n\n.eui-u-bg-color-accent-10 {\n background-color: var(--eui-base-color-accent-10) !important;\n color: var(--eui-base-color-accent-10-contrast) !important;\n}\n\n.eui-u-color-accent-5 {\n color: var(--eui-base-color-accent-5) !important;\n}\n\n.eui-u-bg-color-accent-5 {\n background-color: var(--eui-base-color-accent-5) !important;\n color: var(--eui-base-color-accent-5-contrast) !important;\n}\n\n.eui-u-color-info-140 {\n color: var(--eui-base-color-info-140) !important;\n}\n\n.eui-u-bg-color-info-140 {\n background-color: var(--eui-base-color-info-140) !important;\n color: var(--eui-base-color-info-140-contrast) !important;\n}\n\n.eui-u-color-info-130 {\n color: var(--eui-base-color-info-130) !important;\n}\n\n.eui-u-bg-color-info-130 {\n background-color: var(--eui-base-color-info-130) !important;\n color: var(--eui-base-color-info-130-contrast) !important;\n}\n\n.eui-u-color-info-120 {\n color: var(--eui-base-color-info-120) !important;\n}\n\n.eui-u-bg-color-info-120 {\n background-color: var(--eui-base-color-info-120) !important;\n color: var(--eui-base-color-info-120-contrast) !important;\n}\n\n.eui-u-color-info-110 {\n color: var(--eui-base-color-info-110) !important;\n}\n\n.eui-u-bg-color-info-110 {\n background-color: var(--eui-base-color-info-110) !important;\n color: var(--eui-base-color-info-110-contrast) !important;\n}\n\n.eui-u-color-info-100 {\n color: var(--eui-base-color-info-100) !important;\n}\n\n.eui-u-bg-color-info-100 {\n background-color: var(--eui-base-color-info-100) !important;\n color: var(--eui-base-color-info-100-contrast) !important;\n}\n\n.eui-u-color-info-75 {\n color: var(--eui-base-color-info-75) !important;\n}\n\n.eui-u-bg-color-info-75 {\n background-color: var(--eui-base-color-info-75) !important;\n color: var(--eui-base-color-info-75-contrast) !important;\n}\n\n.eui-u-color-info-50 {\n color: var(--eui-base-color-info-50) !important;\n}\n\n.eui-u-bg-color-info-50 {\n background-color: var(--eui-base-color-info-50) !important;\n color: var(--eui-base-color-info-50-contrast) !important;\n}\n\n.eui-u-color-info-25 {\n color: var(--eui-base-color-info-25) !important;\n}\n\n.eui-u-bg-color-info-25 {\n background-color: var(--eui-base-color-info-25) !important;\n color: var(--eui-base-color-info-25-contrast) !important;\n}\n\n.eui-u-color-info-10 {\n color: var(--eui-base-color-info-10) !important;\n}\n\n.eui-u-bg-color-info-10 {\n background-color: var(--eui-base-color-info-10) !important;\n color: var(--eui-base-color-info-10-contrast) !important;\n}\n\n.eui-u-color-info-5 {\n color: var(--eui-base-color-info-5) !important;\n}\n\n.eui-u-bg-color-info-5 {\n background-color: var(--eui-base-color-info-5) !important;\n color: var(--eui-base-color-info-5-contrast) !important;\n}\n\n.eui-u-color-success-140 {\n color: var(--eui-base-color-success-140) !important;\n}\n\n.eui-u-bg-color-success-140 {\n background-color: var(--eui-base-color-success-140) !important;\n color: var(--eui-base-color-success-140-contrast) !important;\n}\n\n.eui-u-color-success-130 {\n color: var(--eui-base-color-success-130) !important;\n}\n\n.eui-u-bg-color-success-130 {\n background-color: var(--eui-base-color-success-130) !important;\n color: var(--eui-base-color-success-130-contrast) !important;\n}\n\n.eui-u-color-success-120 {\n color: var(--eui-base-color-success-120) !important;\n}\n\n.eui-u-bg-color-success-120 {\n background-color: var(--eui-base-color-success-120) !important;\n color: var(--eui-base-color-success-120-contrast) !important;\n}\n\n.eui-u-color-success-110 {\n color: var(--eui-base-color-success-110) !important;\n}\n\n.eui-u-bg-color-success-110 {\n background-color: var(--eui-base-color-success-110) !important;\n color: var(--eui-base-color-success-110-contrast) !important;\n}\n\n.eui-u-color-success-100 {\n color: var(--eui-base-color-success-100) !important;\n}\n\n.eui-u-bg-color-success-100 {\n background-color: var(--eui-base-color-success-100) !important;\n color: var(--eui-base-color-success-100-contrast) !important;\n}\n\n.eui-u-color-success-75 {\n color: var(--eui-base-color-success-75) !important;\n}\n\n.eui-u-bg-color-success-75 {\n background-color: var(--eui-base-color-success-75) !important;\n color: var(--eui-base-color-success-75-contrast) !important;\n}\n\n.eui-u-color-success-50 {\n color: var(--eui-base-color-success-50) !important;\n}\n\n.eui-u-bg-color-success-50 {\n background-color: var(--eui-base-color-success-50) !important;\n color: var(--eui-base-color-success-50-contrast) !important;\n}\n\n.eui-u-color-success-25 {\n color: var(--eui-base-color-success-25) !important;\n}\n\n.eui-u-bg-color-success-25 {\n background-color: var(--eui-base-color-success-25) !important;\n color: var(--eui-base-color-success-25-contrast) !important;\n}\n\n.eui-u-color-success-10 {\n color: var(--eui-base-color-success-10) !important;\n}\n\n.eui-u-bg-color-success-10 {\n background-color: var(--eui-base-color-success-10) !important;\n color: var(--eui-base-color-success-10-contrast) !important;\n}\n\n.eui-u-color-success-5 {\n color: var(--eui-base-color-success-5) !important;\n}\n\n.eui-u-bg-color-success-5 {\n background-color: var(--eui-base-color-success-5) !important;\n color: var(--eui-base-color-success-5-contrast) !important;\n}\n\n.eui-u-color-warning-140 {\n color: var(--eui-base-color-warning-140) !important;\n}\n\n.eui-u-bg-color-warning-140 {\n background-color: var(--eui-base-color-warning-140) !important;\n color: var(--eui-base-color-warning-140-contrast) !important;\n}\n\n.eui-u-color-warning-130 {\n color: var(--eui-base-color-warning-130) !important;\n}\n\n.eui-u-bg-color-warning-130 {\n background-color: var(--eui-base-color-warning-130) !important;\n color: var(--eui-base-color-warning-130-contrast) !important;\n}\n\n.eui-u-color-warning-120 {\n color: var(--eui-base-color-warning-120) !important;\n}\n\n.eui-u-bg-color-warning-120 {\n background-color: var(--eui-base-color-warning-120) !important;\n color: var(--eui-base-color-warning-120-contrast) !important;\n}\n\n.eui-u-color-warning-110 {\n color: var(--eui-base-color-warning-110) !important;\n}\n\n.eui-u-bg-color-warning-110 {\n background-color: var(--eui-base-color-warning-110) !important;\n color: var(--eui-base-color-warning-110-contrast) !important;\n}\n\n.eui-u-color-warning-100 {\n color: var(--eui-base-color-warning-100) !important;\n}\n\n.eui-u-bg-color-warning-100 {\n background-color: var(--eui-base-color-warning-100) !important;\n color: var(--eui-base-color-warning-100-contrast) !important;\n}\n\n.eui-u-color-warning-75 {\n color: var(--eui-base-color-warning-75) !important;\n}\n\n.eui-u-bg-color-warning-75 {\n background-color: var(--eui-base-color-warning-75) !important;\n color: var(--eui-base-color-warning-75-contrast) !important;\n}\n\n.eui-u-color-warning-50 {\n color: var(--eui-base-color-warning-50) !important;\n}\n\n.eui-u-bg-color-warning-50 {\n background-color: var(--eui-base-color-warning-50) !important;\n color: var(--eui-base-color-warning-50-contrast) !important;\n}\n\n.eui-u-color-warning-25 {\n color: var(--eui-base-color-warning-25) !important;\n}\n\n.eui-u-bg-color-warning-25 {\n background-color: var(--eui-base-color-warning-25) !important;\n color: var(--eui-base-color-warning-25-contrast) !important;\n}\n\n.eui-u-color-warning-10 {\n color: var(--eui-base-color-warning-10) !important;\n}\n\n.eui-u-bg-color-warning-10 {\n background-color: var(--eui-base-color-warning-10) !important;\n color: var(--eui-base-color-warning-10-contrast) !important;\n}\n\n.eui-u-color-warning-5 {\n color: var(--eui-base-color-warning-5) !important;\n}\n\n.eui-u-bg-color-warning-5 {\n background-color: var(--eui-base-color-warning-5) !important;\n color: var(--eui-base-color-warning-5-contrast) !important;\n}\n\n.eui-u-color-danger-140 {\n color: var(--eui-base-color-danger-140) !important;\n}\n\n.eui-u-bg-color-danger-140 {\n background-color: var(--eui-base-color-danger-140) !important;\n color: var(--eui-base-color-danger-140-contrast) !important;\n}\n\n.eui-u-color-danger-130 {\n color: var(--eui-base-color-danger-130) !important;\n}\n\n.eui-u-bg-color-danger-130 {\n background-color: var(--eui-base-color-danger-130) !important;\n color: var(--eui-base-color-danger-130-contrast) !important;\n}\n\n.eui-u-color-danger-120 {\n color: var(--eui-base-color-danger-120) !important;\n}\n\n.eui-u-bg-color-danger-120 {\n background-color: var(--eui-base-color-danger-120) !important;\n color: var(--eui-base-color-danger-120-contrast) !important;\n}\n\n.eui-u-color-danger-110 {\n color: var(--eui-base-color-danger-110) !important;\n}\n\n.eui-u-bg-color-danger-110 {\n background-color: var(--eui-base-color-danger-110) !important;\n color: var(--eui-base-color-danger-110-contrast) !important;\n}\n\n.eui-u-color-danger-100 {\n color: var(--eui-base-color-danger-100) !important;\n}\n\n.eui-u-bg-color-danger-100 {\n background-color: var(--eui-base-color-danger-100) !important;\n color: var(--eui-base-color-danger-100-contrast) !important;\n}\n\n.eui-u-color-danger-75 {\n color: var(--eui-base-color-danger-75) !important;\n}\n\n.eui-u-bg-color-danger-75 {\n background-color: var(--eui-base-color-danger-75) !important;\n color: var(--eui-base-color-danger-75-contrast) !important;\n}\n\n.eui-u-color-danger-50 {\n color: var(--eui-base-color-danger-50) !important;\n}\n\n.eui-u-bg-color-danger-50 {\n background-color: var(--eui-base-color-danger-50) !important;\n color: var(--eui-base-color-danger-50-contrast) !important;\n}\n\n.eui-u-color-danger-25 {\n color: var(--eui-base-color-danger-25) !important;\n}\n\n.eui-u-bg-color-danger-25 {\n background-color: var(--eui-base-color-danger-25) !important;\n color: var(--eui-base-color-danger-25-contrast) !important;\n}\n\n.eui-u-color-danger-10 {\n color: var(--eui-base-color-danger-10) !important;\n}\n\n.eui-u-bg-color-danger-10 {\n background-color: var(--eui-base-color-danger-10) !important;\n color: var(--eui-base-color-danger-10-contrast) !important;\n}\n\n.eui-u-color-danger-5 {\n color: var(--eui-base-color-danger-5) !important;\n}\n\n.eui-u-bg-color-danger-5 {\n background-color: var(--eui-base-color-danger-5) !important;\n color: var(--eui-base-color-danger-5-contrast) !important;\n}\n\n.eui-u-color-grey {\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-bg-color-grey {\n background-color: var(--eui-base-color-grey-100) !important;\n color: var(--eui-base-color-grey-100-constrast) !important;\n}\n\n.eui-u-color-primary {\n color: var(--eui-base-color-primary-100) !important;\n}\n\n.eui-u-bg-color-primary {\n background-color: var(--eui-base-color-primary-100) !important;\n color: var(--eui-base-color-primary-100-constrast) !important;\n}\n\n.eui-u-color-accent {\n color: var(--eui-base-color-accent-100) !important;\n}\n\n.eui-u-bg-color-accent {\n background-color: var(--eui-base-color-accent-100) !important;\n color: var(--eui-base-color-accent-100-constrast) !important;\n}\n\n.eui-u-color-info {\n color: var(--eui-base-color-info-100) !important;\n}\n\n.eui-u-bg-color-info {\n background-color: var(--eui-base-color-info-100) !important;\n color: var(--eui-base-color-info-100-constrast) !important;\n}\n\n.eui-u-color-success {\n color: var(--eui-base-color-success-100) !important;\n}\n\n.eui-u-bg-color-success {\n background-color: var(--eui-base-color-success-100) !important;\n color: var(--eui-base-color-success-100-constrast) !important;\n}\n\n.eui-u-color-warning {\n color: var(--eui-base-color-warning-100) !important;\n}\n\n.eui-u-bg-color-warning {\n background-color: var(--eui-base-color-warning-100) !important;\n color: var(--eui-base-color-warning-100-constrast) !important;\n}\n\n.eui-u-color-danger {\n color: var(--eui-base-color-danger-100) !important;\n}\n\n.eui-u-bg-color-danger {\n background-color: var(--eui-base-color-danger-100) !important;\n color: var(--eui-base-color-danger-100-constrast) !important;\n}\n\n.eui-u-font-size-6xl {\n font-size: 2.625rem !important;\n}\n\n.eui-u-font-size-5xl {\n font-size: 2.25rem !important;\n}\n\n.eui-u-font-size-4xl {\n font-size: 2rem !important;\n}\n\n.eui-u-font-size-3xl {\n font-size: 1.75rem !important;\n}\n\n.eui-u-font-size-2xl {\n font-size: 1.5rem !important;\n}\n\n.eui-u-font-size-xl {\n font-size: 1.25rem !important;\n}\n\n.eui-u-font-size-l {\n font-size: 1.125rem !important;\n}\n\n.eui-u-font-size-m {\n font-size: 1rem !important;\n}\n\n.eui-u-font-size-s {\n font-size: 0.875rem !important;\n}\n\n.eui-u-font-size-xs {\n font-size: 0.75rem !important;\n}\n\n.eui-u-font-size-2xs {\n font-size: 0.625rem !important;\n}\n\n.eui-u-font-6xl {\n font: normal normal 400 2.625rem/3.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-5xl {\n font: normal normal 400 2.25rem/2.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-4xl {\n font: normal normal 400 2rem/2.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-3xl {\n font: normal normal 400 1.75rem/2rem arial, sans-serif !important;\n}\n\n.eui-u-font-2xl {\n font: normal normal 400 1.5rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-xl {\n font: normal normal 400 1.25rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-l {\n font: normal normal 400 1.125rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-m {\n font: normal normal 400 1rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-s {\n font: normal normal 400 0.875rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-xs {\n font: normal normal 400 0.75rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-2xs {\n font: normal normal 400 0.625rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-xl {\n font: normal normal 400 1.25rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-l {\n font: normal normal 400 1.125rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-m {\n font: normal normal 400 1rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-s {\n font: normal normal 400 0.875rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-xs {\n font: normal normal 400 0.75rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-regular {\n font-style: normal !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-bold {\n font-style: normal !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-bold-italic {\n font-style: italic !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-italic {\n font-style: italic !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-light {\n font-style: normal !important;\n font-weight: 300 !important;\n}\n\n.eui-u-text-left {\n text-align: left !important;\n}\n\n.eui-u-text-right {\n text-align: right !important;\n}\n\n.eui-u-text-center {\n text-align: center !important;\n}\n\n.eui-u-text-justify {\n text-align: justify !important;\n}\n\n.eui-u-text-nowrap {\n white-space: nowrap !important;\n}\n\n.eui-u-text-truncate {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n}\n\n.eui-u-text-overline {\n text-decoration: overline !important;\n}\n\n.eui-u-text-underline {\n text-decoration: underline !important;\n}\n\n.eui-u-text-line-through {\n text-decoration: line-through !important;\n}\n\n.eui-u-text-lowercase {\n text-transform: lowercase !important;\n}\n\n.eui-u-text-uppercase {\n text-transform: uppercase !important;\n}\n\n.eui-u-text-capitalize {\n text-transform: capitalize !important;\n}\n\n.eui-u-text-small {\n font-size: 80%;\n}\n\n.eui-u-text-monospace {\n font-family: var(--eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\n.eui-u-text-link {\n color: var(--eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n}\n.eui-u-text-link:focus, .eui-u-text-link:hover {\n text-decoration: underline !important;\n}\n.eui-u-text-link:focus {\n outline: 2px solid var(--eui-base-color-accessible-focus);\n outline-offset: 2px;\n -moz-outline-radius: var(--eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n\n.eui-u-text-link-external {\n color: var(--eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n}\n.eui-u-text-link-external:focus, .eui-u-text-link-external:hover {\n text-decoration: underline !important;\n}\n.eui-u-text-link-external:focus {\n outline: 2px solid var(--eui-base-color-accessible-focus);\n outline-offset: 2px;\n -moz-outline-radius: var(--eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n\n.eui-u-text-highlight {\n padding: var(--eui-base-spacing-2xs) !important;\n background-color: var(--eui-base-color-accent-10) !important;\n}\n\n.eui-u-spacing-none {\n min-width: 0 !important;\n width: 0 !important;\n}\n\n.eui-u-spacing-2xs {\n min-width: 0.25rem !important;\n width: 0.25rem !important;\n}\n\n.eui-u-spacing-xs {\n min-width: 0.5rem !important;\n width: 0.5rem !important;\n}\n\n.eui-u-spacing-s {\n min-width: 0.75rem !important;\n width: 0.75rem !important;\n}\n\n.eui-u-spacing-m {\n min-width: 1rem !important;\n width: 1rem !important;\n}\n\n.eui-u-spacing-l {\n min-width: 1.5rem !important;\n width: 1.5rem !important;\n}\n\n.eui-u-spacing-xl {\n min-width: 2rem !important;\n width: 2rem !important;\n}\n\n.eui-u-spacing-2xl {\n min-width: 2.5rem !important;\n width: 2.5rem !important;\n}\n\n.eui-u-spacing-3xl {\n min-width: 3rem !important;\n width: 3rem !important;\n}\n\n.eui-u-spacing-4xl {\n min-width: 4rem !important;\n width: 4rem !important;\n}\n\n.eui-u-pt-none {\n padding-top: 0 !important;\n}\n\n.eui-u-pb-none {\n padding-bottom: 0 !important;\n}\n\n.eui-u-pl-none {\n padding-left: 0 !important;\n}\n\n.eui-u-pr-none {\n padding-right: 0 !important;\n}\n\n.eui-u-p-none {\n padding: 0 !important;\n}\n\n.eui-u-pv-none {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.eui-u-ph-none {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.eui-u-spacing-none {\n min-width: 0 !important;\n width: 0 !important;\n}\n\n.eui-u-pt-2xs {\n padding-top: 0.25rem !important;\n}\n\n.eui-u-pb-2xs {\n padding-bottom: 0.25rem !important;\n}\n\n.eui-u-pl-2xs {\n padding-left: 0.25rem !important;\n}\n\n.eui-u-pr-2xs {\n padding-right: 0.25rem !important;\n}\n\n.eui-u-p-2xs {\n padding: 0.25rem !important;\n}\n\n.eui-u-pv-2xs {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.eui-u-ph-2xs {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.eui-u-spacing-2xs {\n min-width: 0.25rem !important;\n width: 0.25rem !important;\n}\n\n.eui-u-pt-xs {\n padding-top: 0.5rem !important;\n}\n\n.eui-u-pb-xs {\n padding-bottom: 0.5rem !important;\n}\n\n.eui-u-pl-xs {\n padding-left: 0.5rem !important;\n}\n\n.eui-u-pr-xs {\n padding-right: 0.5rem !important;\n}\n\n.eui-u-p-xs {\n padding: 0.5rem !important;\n}\n\n.eui-u-pv-xs {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.eui-u-ph-xs {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.eui-u-spacing-xs {\n min-width: 0.5rem !important;\n width: 0.5rem !important;\n}\n\n.eui-u-pt-s {\n padding-top: 0.75rem !important;\n}\n\n.eui-u-pb-s {\n padding-bottom: 0.75rem !important;\n}\n\n.eui-u-pl-s {\n padding-left: 0.75rem !important;\n}\n\n.eui-u-pr-s {\n padding-right: 0.75rem !important;\n}\n\n.eui-u-p-s {\n padding: 0.75rem !important;\n}\n\n.eui-u-pv-s {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n}\n\n.eui-u-ph-s {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n}\n\n.eui-u-spacing-s {\n min-width: 0.75rem !important;\n width: 0.75rem !important;\n}\n\n.eui-u-pt-m {\n padding-top: 1rem !important;\n}\n\n.eui-u-pb-m {\n padding-bottom: 1rem !important;\n}\n\n.eui-u-pl-m {\n padding-left: 1rem !important;\n}\n\n.eui-u-pr-m {\n padding-right: 1rem !important;\n}\n\n.eui-u-p-m {\n padding: 1rem !important;\n}\n\n.eui-u-pv-m {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.eui-u-ph-m {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.eui-u-spacing-m {\n min-width: 1rem !important;\n width: 1rem !important;\n}\n\n.eui-u-pt-l {\n padding-top: 1.5rem !important;\n}\n\n.eui-u-pb-l {\n padding-bottom: 1.5rem !important;\n}\n\n.eui-u-pl-l {\n padding-left: 1.5rem !important;\n}\n\n.eui-u-pr-l {\n padding-right: 1.5rem !important;\n}\n\n.eui-u-p-l {\n padding: 1.5rem !important;\n}\n\n.eui-u-pv-l {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.eui-u-ph-l {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.eui-u-spacing-l {\n min-width: 1.5rem !important;\n width: 1.5rem !important;\n}\n\n.eui-u-pt-xl {\n padding-top: 2rem !important;\n}\n\n.eui-u-pb-xl {\n padding-bottom: 2rem !important;\n}\n\n.eui-u-pl-xl {\n padding-left: 2rem !important;\n}\n\n.eui-u-pr-xl {\n padding-right: 2rem !important;\n}\n\n.eui-u-p-xl {\n padding: 2rem !important;\n}\n\n.eui-u-pv-xl {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n}\n\n.eui-u-ph-xl {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n}\n\n.eui-u-spacing-xl {\n min-width: 2rem !important;\n width: 2rem !important;\n}\n\n.eui-u-pt-2xl {\n padding-top: 2.5rem !important;\n}\n\n.eui-u-pb-2xl {\n padding-bottom: 2.5rem !important;\n}\n\n.eui-u-pl-2xl {\n padding-left: 2.5rem !important;\n}\n\n.eui-u-pr-2xl {\n padding-right: 2.5rem !important;\n}\n\n.eui-u-p-2xl {\n padding: 2.5rem !important;\n}\n\n.eui-u-pv-2xl {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n}\n\n.eui-u-ph-2xl {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n}\n\n.eui-u-spacing-2xl {\n min-width: 2.5rem !important;\n width: 2.5rem !important;\n}\n\n.eui-u-pt-3xl {\n padding-top: 3rem !important;\n}\n\n.eui-u-pb-3xl {\n padding-bottom: 3rem !important;\n}\n\n.eui-u-pl-3xl {\n padding-left: 3rem !important;\n}\n\n.eui-u-pr-3xl {\n padding-right: 3rem !important;\n}\n\n.eui-u-p-3xl {\n padding: 3rem !important;\n}\n\n.eui-u-pv-3xl {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.eui-u-ph-3xl {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.eui-u-spacing-3xl {\n min-width: 3rem !important;\n width: 3rem !important;\n}\n\n.eui-u-pt-4xl {\n padding-top: 4rem !important;\n}\n\n.eui-u-pb-4xl {\n padding-bottom: 4rem !important;\n}\n\n.eui-u-pl-4xl {\n padding-left: 4rem !important;\n}\n\n.eui-u-pr-4xl {\n padding-right: 4rem !important;\n}\n\n.eui-u-p-4xl {\n padding: 4rem !important;\n}\n\n.eui-u-pv-4xl {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n}\n\n.eui-u-ph-4xl {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n}\n\n.eui-u-spacing-4xl {\n min-width: 4rem !important;\n width: 4rem !important;\n}\n\n.eui-u-mt-none {\n margin-top: 0 !important;\n}\n\n.eui-u-mb-none {\n margin-bottom: 0 !important;\n}\n\n.eui-u-ml-none {\n margin-left: 0 !important;\n}\n\n.eui-u-mr-none {\n margin-right: 0 !important;\n}\n\n.eui-u-m-none {\n margin: 0 !important;\n}\n\n.eui-u-mv-none {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.eui-u-mh-none {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.eui-u-mt-2xs {\n margin-top: 0.25rem !important;\n}\n\n.eui-u-mb-2xs {\n margin-bottom: 0.25rem !important;\n}\n\n.eui-u-ml-2xs {\n margin-left: 0.25rem !important;\n}\n\n.eui-u-mr-2xs {\n margin-right: 0.25rem !important;\n}\n\n.eui-u-m-2xs {\n margin: 0.25rem !important;\n}\n\n.eui-u-mv-2xs {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.eui-u-mh-2xs {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.eui-u-mt-xs {\n margin-top: 0.5rem !important;\n}\n\n.eui-u-mb-xs {\n margin-bottom: 0.5rem !important;\n}\n\n.eui-u-ml-xs {\n margin-left: 0.5rem !important;\n}\n\n.eui-u-mr-xs {\n margin-right: 0.5rem !important;\n}\n\n.eui-u-m-xs {\n margin: 0.5rem !important;\n}\n\n.eui-u-mv-xs {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.eui-u-mh-xs {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.eui-u-mt-s {\n margin-top: 0.75rem !important;\n}\n\n.eui-u-mb-s {\n margin-bottom: 0.75rem !important;\n}\n\n.eui-u-ml-s {\n margin-left: 0.75rem !important;\n}\n\n.eui-u-mr-s {\n margin-right: 0.75rem !important;\n}\n\n.eui-u-m-s {\n margin: 0.75rem !important;\n}\n\n.eui-u-mv-s {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n}\n\n.eui-u-mh-s {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n}\n\n.eui-u-mt-m {\n margin-top: 1rem !important;\n}\n\n.eui-u-mb-m {\n margin-bottom: 1rem !important;\n}\n\n.eui-u-ml-m {\n margin-left: 1rem !important;\n}\n\n.eui-u-mr-m {\n margin-right: 1rem !important;\n}\n\n.eui-u-m-m {\n margin: 1rem !important;\n}\n\n.eui-u-mv-m {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.eui-u-mh-m {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.eui-u-mt-l {\n margin-top: 1.5rem !important;\n}\n\n.eui-u-mb-l {\n margin-bottom: 1.5rem !important;\n}\n\n.eui-u-ml-l {\n margin-left: 1.5rem !important;\n}\n\n.eui-u-mr-l {\n margin-right: 1.5rem !important;\n}\n\n.eui-u-m-l {\n margin: 1.5rem !important;\n}\n\n.eui-u-mv-l {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.eui-u-mh-l {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.eui-u-mt-xl {\n margin-top: 2rem !important;\n}\n\n.eui-u-mb-xl {\n margin-bottom: 2rem !important;\n}\n\n.eui-u-ml-xl {\n margin-left: 2rem !important;\n}\n\n.eui-u-mr-xl {\n margin-right: 2rem !important;\n}\n\n.eui-u-m-xl {\n margin: 2rem !important;\n}\n\n.eui-u-mv-xl {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n}\n\n.eui-u-mh-xl {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n}\n\n.eui-u-mt-2xl {\n margin-top: 2.5rem !important;\n}\n\n.eui-u-mb-2xl {\n margin-bottom: 2.5rem !important;\n}\n\n.eui-u-ml-2xl {\n margin-left: 2.5rem !important;\n}\n\n.eui-u-mr-2xl {\n margin-right: 2.5rem !important;\n}\n\n.eui-u-m-2xl {\n margin: 2.5rem !important;\n}\n\n.eui-u-mv-2xl {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n}\n\n.eui-u-mh-2xl {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n}\n\n.eui-u-mt-3xl {\n margin-top: 3rem !important;\n}\n\n.eui-u-mb-3xl {\n margin-bottom: 3rem !important;\n}\n\n.eui-u-ml-3xl {\n margin-left: 3rem !important;\n}\n\n.eui-u-mr-3xl {\n margin-right: 3rem !important;\n}\n\n.eui-u-m-3xl {\n margin: 3rem !important;\n}\n\n.eui-u-mv-3xl {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.eui-u-mh-3xl {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.eui-u-mt-4xl {\n margin-top: 4rem !important;\n}\n\n.eui-u-mb-4xl {\n margin-bottom: 4rem !important;\n}\n\n.eui-u-ml-4xl {\n margin-left: 4rem !important;\n}\n\n.eui-u-mr-4xl {\n margin-right: 4rem !important;\n}\n\n.eui-u-m-4xl {\n margin: 4rem !important;\n}\n\n.eui-u-mv-4xl {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n}\n\n.eui-u-mh-4xl {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n}\n\n.eui-u-ml-auto {\n margin-left: auto !important;\n}\n\n.eui-u-mr-auto {\n margin-right: auto !important;\n}\n\n.eui-u-mt-auto {\n margin-top: auto !important;\n}\n\n.eui-u-mb-auto {\n margin-bottom: auto !important;\n}\n\n.eui-u-flex {\n align-items: center !important;\n display: flex !important;\n width: 100% !important;\n}\n\n.eui-u-display-flex {\n display: flex !important;\n}\n\n.eui-u-display-inline-flex {\n display: inline-flex !important;\n}\n\n.eui-u-flex-start,\n.eui-u-flex-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.eui-u-flex-end,\n.eui-u-flex-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.eui-u-flex-justify-content-center {\n justify-content: center !important;\n}\n\n.eui-u-flex-justify-content-around {\n justify-content: space-around !important;\n}\n\n.eui-u-flex-between,\n.eui-u-flex-justify-content-between {\n justify-content: space-between !important;\n}\n\n.eui-u-flex-evenly,\n.eui-u-flex-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.eui-u-flex-align-left,\n.eui-u-flex-align-items-start {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-align-center,\n.eui-u-flex-align-items-center {\n align-items: center !important;\n}\n\n.eui-u-flex-align-right,\n.eui-u-flex-align-items-end {\n align-items: flex-end !important;\n}\n\n.eui-u-flex-row {\n flex-direction: row !important;\n}\n\n.eui-u-flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.eui-u-flex-column {\n flex-direction: column !important;\n}\n.eui-u-flex-column .eui-u-flex-align-center,\n.eui-u-flex-column .eui-u-flex-align-items-center {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.eui-u-flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.eui-u-flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.eui-u-flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.eui-u-flex-col {\n flex: 1 0 0% !important;\n}\n\n.eui-u-display-hidden {\n display: none !important;\n}\n\n.eui-u-display-visible {\n visibility: visible !important;\n}\n\n.eui-u-display-block {\n display: block !important;\n}\n\n.eui-u-display-inline {\n display: inline !important;\n}\n\n.eui-u-display-inline-block {\n display: inline-block !important;\n}\n\n.eui-u-display-print-only {\n display: none !important;\n}\n\n.eui-u-display-hidden-desktop-down {\n display: initial;\n}\n\n@media screen and (max-width: 995px) {\n .eui-u-display-hidden-desktop-down {\n display: none !important;\n }\n}\n.eui-u-width-auto {\n width: auto !important;\n}\n\n.eui-u-width-100 {\n width: 100% !important;\n}\n\n.eui-u-width-1 {\n max-width: var(--eui-base-spacing-m);\n min-width: var(--eui-base-spacing-m);\n width: var(--eui-base-spacing-m) !important;\n}\n\n.eui-u-width-2 {\n max-width: calc(2 * var(--eui-base-spacing-m));\n min-width: calc(2 * var(--eui-base-spacing-m));\n width: calc(2 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-3 {\n max-width: calc(3 * var(--eui-base-spacing-m));\n min-width: calc(3 * var(--eui-base-spacing-m));\n width: calc(3 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-4 {\n max-width: calc(4 * var(--eui-base-spacing-m));\n min-width: calc(4 * var(--eui-base-spacing-m));\n width: calc(4 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-5 {\n max-width: calc(5 * var(--eui-base-spacing-m));\n min-width: calc(5 * var(--eui-base-spacing-m));\n width: calc(5 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-6 {\n max-width: calc(6 * var(--eui-base-spacing-m));\n min-width: calc(6 * var(--eui-base-spacing-m));\n width: calc(6 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-7 {\n max-width: calc(7 * var(--eui-base-spacing-m));\n min-width: calc(7 * var(--eui-base-spacing-m));\n width: calc(7 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-8 {\n max-width: calc(8 * var(--eui-base-spacing-m));\n min-width: calc(8 * var(--eui-base-spacing-m));\n width: calc(8 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-9 {\n max-width: calc(9 * var(--eui-base-spacing-m));\n min-width: calc(9 * var(--eui-base-spacing-m));\n width: calc(9 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-10 {\n max-width: calc(10 * var(--eui-base-spacing-m));\n min-width: calc(10 * var(--eui-base-spacing-m));\n width: calc(10 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-11 {\n max-width: calc(11 * var(--eui-base-spacing-m));\n min-width: calc(11 * var(--eui-base-spacing-m));\n width: calc(11 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-12 {\n max-width: calc(12 * var(--eui-base-spacing-m));\n min-width: calc(12 * var(--eui-base-spacing-m));\n width: calc(12 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-13 {\n max-width: calc(13 * var(--eui-base-spacing-m));\n min-width: calc(13 * var(--eui-base-spacing-m));\n width: calc(13 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-14 {\n max-width: calc(14 * var(--eui-base-spacing-m));\n min-width: calc(14 * var(--eui-base-spacing-m));\n width: calc(14 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-15 {\n max-width: calc(15 * var(--eui-base-spacing-m));\n min-width: calc(15 * var(--eui-base-spacing-m));\n width: calc(15 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-16 {\n max-width: calc(16 * var(--eui-base-spacing-m));\n min-width: calc(16 * var(--eui-base-spacing-m));\n width: calc(16 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-17 {\n max-width: calc(17 * var(--eui-base-spacing-m));\n min-width: calc(17 * var(--eui-base-spacing-m));\n width: calc(17 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-18 {\n max-width: calc(18 * var(--eui-base-spacing-m));\n min-width: calc(18 * var(--eui-base-spacing-m));\n width: calc(18 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-19 {\n max-width: calc(19 * var(--eui-base-spacing-m));\n min-width: calc(19 * var(--eui-base-spacing-m));\n width: calc(19 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-20 {\n max-width: calc(20 * var(--eui-base-spacing-m));\n min-width: calc(20 * var(--eui-base-spacing-m));\n width: calc(20 * var(--eui-base-spacing-m)) !important;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAyLWJhc2UvZnVuY3Rpb25zL191dGlscy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy9fZXVpLWZvbnQtZmFtaWx5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAxLWVjbC9hbGwvZnVsbC1jc3MvZWNsLXJlc2V0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAzLXZhcnMvX3Rva2Vucy52YXJzLWJhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDMtdmFycy9fb3RoZXIudmFycy5zY3NzIiwiMDJiLWJhc2UtdmFycy9fbGF5b3V0LnZhcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDUtYXNzZXRzL2ljb25zLXN2Zy9faWNvbnMtZ2VuZXJpY3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9jb3JlL3JpcHBsZS9fcmlwcGxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvY2RrL2ExMXkvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvY2RrL292ZXJsYXkvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZS9mb2N1cy1pbmRpY2F0b3JzL19wcml2YXRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZS9zdHlsZS9fbGF5b3V0LWNvbW1vbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUvcmlwcGxlL19yaXBwbGUtdGhlbWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9jb3JlL29wdGlvbi9fb3B0aW9uLXRoZW1lLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RoZW1lL19jc3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGlzdC9fZXZvbHV0aW9uLW1peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUvb3B0aW9uL19vcHRncm91cC10aGVtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUvc2VsZWN0aW9uL3BzZXVkby1jaGVja2JveC9fcHNldWRvLWNoZWNrYm94LXRoZW1lLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZS9fY29yZS10aGVtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9lbGV2YXRpb24vX2VsZXZhdGlvbi10aGVtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXIvX2RhdGVwaWNrZXItdGhlbWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbWVudS1zdXJmYWNlL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGlzdC9fZXZvbHV0aW9uLXZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kb20vX2RvbS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZS9fc2xpZGUtdG9nZ2xlLXRoZW1lLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2Zvcm0tZmllbGQvX21peGlucy5zY3NzIiwiMDUtbWF0ZXJpYWwvb3ZlcnJpZGVzL19jZGsuc2NzcyIsIjAyLWJhc2UvbWl4aW5zL19ldWktc2Nyb2xsYmFycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy91dGlscy9fbWVkaWEuc2NzcyIsIjA2LXNoYXJlZC9fZmxleC5zY3NzIiwiMDYtc2hhcmVkL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAyLWJhc2UvbWl4aW5zL19ldWktZm9udC5zY3NzIiwiMDYtc2hhcmVkL19ldWktaW5wdXQtbWF4bGVuZ3RoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzA0LWVsZW1lbnRzL19odG1sLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzA0LWVsZW1lbnRzL19ib2R5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzA0LWVsZW1lbnRzL19zaGFyZWQuc2NzcyIsIjA3LWVsZW1lbnRzL2V1aS10YWJsZS1kZWZhdWx0L19ldWktdGFibGUtZGVmYXVsdC5zY3NzIiwiMDgtdGhlbWVzL19tb2R1bGUtY29tcGFjdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy90aGVtaW5nL19jb21wYWN0LXZhcnMuc2NzcyIsIjEwLW1lZGlhL19pZWltZ2ZpeC5zY3NzIiwiMTEtZXh0cmFzL19jb29raWUtY29uc2VudC5zY3NzIiwiMTEtZXh0cmFzL19wcmVsb2FkZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvOTktdXRpbGl0aWVzL3Rva2Vucy9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy90b2tlbnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDItYmFzZS9taXhpbnMvX2V1aS1hY2Nlc3NpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy90b2tlbnMvX3NwYWNpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy90b2tlbnMvX3BhZGRpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy90b2tlbnMvX21hcmdpbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvOTktdXRpbGl0aWVzL290aGVycy9fZXVpLXUtZmxleC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvb3RoZXJzL19ldWktdS1kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy9vdGhlcnMvX2V1aS11LXdpZHRoLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUN4Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQ0E7QUFBNEU7RUFBSztFQUE4Qjs7O0FBQWlCO0VBQUs7OztBQUFjO0VBQUc7RUFBYzs7O0FBQWU7RUFBRztFQUF1QjtFQUFTOzs7QUFBaUI7RUFBSTtFQUFnQzs7O0FBQWM7RUFBRTs7O0FBQTZCO0VBQVk7RUFBbUI7RUFBMEI7RUFBeUM7OztBQUFpQztFQUFTOzs7QUFBbUI7RUFBYztFQUFnQzs7O0FBQWM7RUFBTTs7O0FBQWM7RUFBUTtFQUFjO0VBQWM7RUFBa0I7OztBQUF3QjtFQUFJOzs7QUFBYztFQUFJOzs7QUFBVTtFQUFJOzs7QUFBa0I7RUFBc0M7RUFBb0I7RUFBZTtFQUFpQjs7O0FBQVM7RUFBYTs7O0FBQWlCO0VBQWM7OztBQUFvQjtFQUFnRDs7O0FBQTBCO0VBQXdIO0VBQWtCOzs7QUFBVTtFQUE0Rzs7O0FBQThCO0VBQVM7OztBQUEyQjtFQUFPO0VBQXNCO0VBQWM7RUFBYztFQUFlO0VBQVU7OztBQUFtQjtFQUFTOzs7QUFBd0I7RUFBUzs7O0FBQWM7RUFBNkI7RUFBc0I7OztBQUFVO0VBQWtGOzs7QUFBWTtFQUFjO0VBQTZCOzs7QUFBb0I7RUFBeUM7OztBQUF3QjtFQUE2QjtFQUEwQjs7O0FBQWE7RUFBUTs7O0FBQWM7RUFBUTs7O0FBQWtCO0VBQVM7OztBQUFhO0VBQVM7OztBQUFhO0VBQUs7RUFBUzs7O0FDRGgwRDtFQUlZO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQVVKO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlKO0VBQ0E7RUFDQTtFQUdBO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBVUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFNSjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBS0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQ2hFUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FDcENKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUlBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUNyRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUtBO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUtSO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQy9CRjtFQUNFO0VBSUE7O0FBT0E7RUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUlBOztBQ2VBO0VEWEU7OztBQ3BDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUdBO0VBR0E7RUFDQTtFQU1BOztBQUVBO0VBQ0U7RUFDQTs7O0FDaEJKO0VBRUU7RUFHQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBLFNBM0J3Qjs7QUE2QnhCO0VBR0U7OztBQVFKO0VBQ0U7RUFDQTtFQUNBLFNBMUNjOzs7QUE4Q2hCO0VBR0U7RUFDQTtFQUNBO0VBQ0EsU0FwRGM7RUF3RGQ7RUFDQTtFQUNBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxTQXBFdUI7RUFxRXZCO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBS0E7RUFHRTs7O0FBS047RUFDRSxZQXRGcUI7OztBQXlGdkI7RUFFRTtFQUNBO0VBQ0E7O0FBTUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0EsU0FySGM7RUEwSGQ7RUFJQTtFQUdBO0VBQ0E7OztBQUlGO0VBQ0U7RUFLQTtFQUtBOzs7QUNqSkY7RUFDRTs7O0FBTUY7RUF5Q0E7RUFDQTtFQXhDRTtFQUNBOzs7QUFTRjtFQTZCQTtFQUNBO0VBNUJFOzs7QUFVRjtBQUEwQzs7QUFDMUM7QUFBd0M7O0FBRXhDO0VBRUU7OztBQUdGO0VBRUU7OztBQy9CRjtFQUNFOztBQUVBO0VDZkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRGFJO0VBQ0E7RUFDQTtFQUNBO0VBWUE7O0FBUUY7RUFDRTs7O0FIMkNBO0VHN0JBOzs7QUEzQ0o7RUFDRTs7QUFFQTtFQ2ZGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RURhSTtFQUNBO0VBQ0E7RUFDQTtFQVlBOztBQVFGO0VBQ0U7OztBSDJDQTtFRzdCQTs7O0FFOUNKO0VBSUk7OztBQ0RGO0VDZ0VBOztBRDNERTtFQU9FOzs7QUVreUJOO0VEOXVCRTs7O0FDOHVCRjtFRDl1QkU7OztBQzh1QkY7RUQ5dUJFOzs7QUVwRUE7RUZvRUE7OztBRzNERjtFQUNFOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0UsT0FaZTs7O0FBZWpCO0FBQUE7RUFFRTs7O0FBUUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFLQTtBQUFBO0VBQ0UsWUF4Q2E7OztBQ0tqQjtFQUlFO0VBQ0E7OztBQVVBO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRHpXWDtBQ21RRTtFQUNBLFlBcUdTOzs7QUR6V1g7QUNtUUU7RUFDQSxZQXFHUzs7O0FEeldYO0FDbVFFO0VBQ0EsWUFxR1M7OztBRGxXWDtFQUNFOzs7QUVrQ0o7RUFDRTs7O0FBS0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQTVDRjtFQWlESSxPQS9CYTs7O0FBbUNqQjtFQUNFLE9BcENlOzs7QUF1Q2pCO0VBT0k7OztBQWhFSjtFQTJFSTs7O0FBM0VKO0VBb0ZNOzs7QUFrRk47RUFDRSxZQTlNQTs7O0FBaU5GO0FBQUE7RUFFRSxZQVZpQjs7O0FBYW5CO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUUsWUF4QmM7OztBQTJCaEI7QUFBQTtFQUVFLFlBNUJ1Qjs7O0FBek16QjtFQUNFO0VBQ0E7OztBQUdGO0VBSUk7OztBQVNKO0VBQ0U7OztBQWtCRjtBQUFBO0VBU0k7OztBQWxCSjtFQVNBO0lBU0k7OztBQXlGSjtBRDJJSTtFQUNBLFlBcUdTO0VDL09YO0VBQ0E7O0FBaUVGO0VBQ0UsWUE5TUE7O0FBaU5GO0FBQUE7RUFFRSxZQVZpQjs7QUFhbkI7QUFBQTtFQUVFOztBQUdGO0FBQUE7RUFFRTs7QUFHRjtBQUFBO0VBRUUsWUF4QmM7O0FBMkJoQjtBQUFBO0VBRUUsWUE1QnVCOztBQXpNekI7RUFDRTtFQUNBOztBQUdGO0VBSUk7O0FBU0o7RUFDRTs7QUFrQkY7QUFBQTtFQVNJOztBQWxCSjtFQVNBO0lBU0k7OztBQTZKSjtFQUNFLFlBOU1BOztBQWlORjtBQUFBO0VBRUUsWUFWaUI7O0FBYW5CO0FBQUE7RUFFRTs7QUFHRjtBQUFBO0VBRUU7O0FBR0Y7QUFBQTtFQUVFLFlBeEJjOztBQTJCaEI7QUFBQTtFQUVFLFlBNUJ1Qjs7QUF6TXpCO0VBQ0U7RUFDQTs7QUFHRjtFQUlJOztBQVNKO0VBQ0U7O0FBa0JGO0FBQUE7RUFTSTs7QUFsQko7RUFTQTtJQVNJOzs7O0FBdUdKO0FENkhJO0VBQ0EsWUFxR1M7OztBQy9OYjtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTs7O0FDaEpGO0FGNFBJO0VBQ0EsWUFxR1M7RUwvVFg7RUFBQTs7QUM4dUJGO0VEOXVCRTs7O0FDd3ZCRjtFRHh2QkU7OztBQ3d3QkY7RUR4d0JFOzs7QUN1eUJGO0FBQUE7RUR2eUJFOzs7QUM0eEJGO0FBQUE7RUQ1eEJFOzs7QUNreEJGO0VEbHhCRTs7O0FDcTFCQTtBQUFBO0FBQUE7RUFJSSxTT2o2Qm1COzs7QVBzekJ6QjtFRDl1QkU7O0FDd3ZCRjtFRHh2QkU7O0FDd3dCRjtFRHh3QkU7O0FDeTJDQTtFRHoyQ0E7O0FDazNDRTtFRGwzQ0Y7O0FDeTFDQTtFRHoxQ0E7OztBQzh1QkY7QUFBQTtFRDl1QkU7O0FDeTJDQTtBQUFBO0VEejJDQTs7O0FDazJCRjtFRGwyQkU7OztBU29CQTtFUjQyQ0E7SURoNENBOzs7QUM2K0JGO0VENytCRTs7O0FVSUE7RVZKQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOztBVzNDRjtFWDJDRTs7QVVTRTtFQUNFOztBQUdGO0VWYkY7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QVVpQkU7RVZqQkY7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QVVxQkU7RVZyQkY7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FZOUVKO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUNWQTtFQUNJO0VBQ0EsUUFIc0I7RUFJdEIsT0FKc0I7RUFPbEIsa0JBUHdGOztBQWVoRztFQUVRLGtCQWpCMEM7RUFrQjFDLGVBbEJtSTs7QUFvQm5JO0VBQ0k7O0FBU1o7RUFFUSxrQkFoQ3dGO0VBaUN4Rjs7O0FDWko7RUZQSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQ2pCSjtJQUNJO0lBQ0EsUUFIc0I7SUFJdEIsT0FKc0I7SUFPbEIsa0JBUHdGOztFQWVoRztJQUVRLGtCQWpCMEM7SUFrQjFDLGVBbEJtSTs7RUFvQm5JO0lBQ0k7O0VBU1o7SUFFUSxrQkFoQ3dGO0lBaUN4Rjs7O0FFL0JaO0VBQ0k7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUlJOzs7QUNuQko7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0U5QllJO0VBQ0E7RUFDQTtFQUNBO0U4QkNBOzs7QUFLSjtBQUFBO0VDcEJJLE1BRjJCO0VEeUIzQjs7O0FBR0o7QUFBQTtFQzFCSSxNQUYyQjtFRCtCM0I7OztBQUdKO0FBQUE7RUNoQ0ksTUFGMkI7RURxQzNCOzs7QUFHSjtBQUFBO0VDdENJLE1BRjJCO0VEMkMzQjs7O0FBR0o7QUFBQTtFQzVDSSxNQUYyQjtFRGlEM0I7OztBQUdKO0FBQUE7RUNsREksTUFGMkI7RUR1RDNCOzs7QUFHSjtBQUFBO0VDeERJLE1BRjJCO0VENkQzQjs7O0FBR0o7QUFBQTtFQzlESSxNQUYyQjtFRG1FM0I7OztBQUdKO0FBQUE7QUFBQTtFQ3BFSSxNQUYyQjtFRDBFM0I7OztBQUlKO0FBQUE7RUFFSTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FFN0dKO0VBQ0k7RUFDQTs7QUFFQTtFRERBLE1BRjJCO0VDS3ZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FDcEJaO0VBRUk7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUNSSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNMQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTs7O0FBSUE7RUFHSTs7O0FBY1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBU0k7OztBQVFKO0VBQ0k7OztBQUlKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtFQUdJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFSTs7O0FBSVI7QUFBQTtBQUFBO0FBQUE7RUFJSTtFbkM1RUE7RUFDQTtFQUNBOzs7QW1DOEVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUM1Sko7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0FBQUE7RUFHSTs7QUFHSjtBQUFBO0VBRUk7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwQ0tSO0VBQ0E7O0FvQ0ZJO0VBQ0k7RUFDQTs7QUFLUjtFQUNJOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTtFQUNBOztBQU1JO0VBQ0k7O0FBSVI7RUFDSTs7QUFLUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFNSjtBQUFBO0VBRUk7O0FBS1I7RUFDSTs7QUFJSjtFQUNJOztBQUVBO0FBQUE7QUFBQTtFQUdJOztBQUtSO0VBQ0k7RUFDQTtFQUNBOztBQUtBO0FBQUE7QUFBQTtFQUdJOzs7QUN6SFo7RUFFSTtFQUNBO0VBRUE7RUFDQTs7O0FBS0o7RUFFSTtFQUNBO0VBQ0E7RUNoQkE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFRG1CSjtFQUNBOztBQUdBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBTVI7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VDaERBO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RURrREo7RUFDQTs7QUFJSTtFQUNJOztBQUVBO0VBQ0k7O0FBTVI7RUFDSTs7QUFFQTtFQUNJOztBQU1SO0VBQ0k7O0FBRUE7RUFDSTs7O0FBUWhCO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUM5RkE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFRGdHSjtFQUNBOztBQU1ZO0VBRUk7O0FBR0o7RUFFSTs7QUFLSjtFQUNJOzs7QUV0SHBCO0VBQ0k7SUFDSTs7O0FBR1I7RUFFSTtJQUNJO0lBQ0E7SUFDQTs7O0FDVlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDWEo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtBQUE0QztFQUM1QztBQUFvQztFQUNwQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7QUFBNEM7RUFDNUM7QUFBb0M7RUFDcEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtBQUE0QztFQUM1QztBQUFvQztFQUNwQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7QUFDQTtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7O0FBR1I7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7OztBQ3pHUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUk7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUNsQ0o7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBWUE7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBREo7RUFDSTs7O0FBS1o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUtKO0VBQTJCOzs7QUFDM0I7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBQzNCO0VBQTJCOzs7QUFDM0I7RUFBMkI7OztBQUMzQjtFQUEyQjtFQUE2QjtFQUFvQzs7O0FBRzVGO0VBQTJCOzs7QUFDM0I7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBRzNCO0VBQTJCOzs7QUFDM0I7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBRzNCO0VBQTJCOzs7QUFDM0I7RTNDekJJO0VBQ0E7RUFDQTs7O0EyQ3lCSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VDdkVBO0VBQ0EsZ0JEdUUwQztFQ3RFMUM7RUFDQTs7O0FEd0VKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBRUk7O0FBR0o7RUNyRkE7RUFDQSxnQkRxRjBDO0VDcEYxQztFQUNBOzs7QUQ2Rko7RUFDSTtFQUNBOzs7QUV6R0E7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUNGSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUMzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ2xDSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUo7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFJSjtBQUFBO0VBRUk7OztBQUdKO0FBQUE7RUFFSTs7O0FBRUo7QUFBQTtFQUVJOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOztBQUVBO0FBQUE7RUFFSTs7O0FBSVI7RUFDSTs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDakdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBckJKSTtFcUJRSjtJQUNJOzs7QUM5QlI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBIiwiZmlsZSI6ImV1aS50ZW1wLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkBmdW5jdGlvbiB2KCR2YXIsICRmYWxsYmFjazogbnVsbCkge1xuICAgIEBpZiAoJGZhbGxiYWNrKSB7XG4gICAgICAgIEByZXR1cm4gdmFyKC0tI3skdmFyfSwgI3skZmFsbGJhY2t9KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHZhcigtLSN7JHZhcn0pO1xuICAgIH1cbn1cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgQGRlYnVnICN7JG1hcH07XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbkBmdW5jdGlvbiB0b1JHQigkY29sb3IpIHtcbiAgICBAcmV0dXJuIFwicmdiKFwiICsgcmVkKCRjb2xvcikgKyBcIiwgXCIgKyBncmVlbigkY29sb3IpICsgXCIsIFwiICsgYmx1ZSgkY29sb3IpKyBcIilcIjtcbn1cbkBmdW5jdGlvbiBnZXRDb250cmFzdCgkY29sb3IpIHtcbiAgICAkY29sb3ItYnJpZ2h0bmVzczogcm91bmQoKHJlZCgkY29sb3IpICogMjk5KSArIChncmVlbigkY29sb3IpICogNTg3KSArIG1hdGguZGl2KChibHVlKCRjb2xvcikgKiAxMTQpLCAxMDAwKSk7XG4gICAgJGxpZ2h0LWNvbG9yOiByb3VuZCgocmVkKCNmZmYpICogMjk5KSArIChncmVlbigjZmZmKSAqIDU4NykgKyBtYXRoLmRpdigoYmx1ZSgjZmZmKSAqIDExNCksIDEwMDApKTtcbiAgICBAaWYgYWJzKCRjb2xvci1icmlnaHRuZXNzKSA8IG1hdGguZGl2KCRsaWdodC1jb2xvciwgMikge1xuICAgICAgICBAcmV0dXJuIHdoaXRlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkZWNsLWNvbG9yLCAnZ3JleS0xMDAnKTtcbiAgICB9XG59XG5AZnVuY3Rpb24gZ2V0Q29sb3IoJHNoYWRlOiBwcmltYXJ5LCAkaHVlOiAxMDApIHtcbiAgICAkc2VsZWN0ZWQtc2hhZGU6IG1hcC1nZXQoJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMsICRzaGFkZSk7XG4gICAgQGlmICgkc2VsZWN0ZWQtc2hhZGUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRzZWxlY3RlZC1zaGFkZSwgJGh1ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBibGFjaztcbiAgICB9XG4gICAgQHJldHVybiAkc2VsZWN0ZWQtY29sb3I7XG59XG5cbi8qKlxuICAgKiBFQ0wgY29sb3IgdmFyaWFudHMgZm9ybXVsYVxuICAgKiBBcHBsaWVzIHRpbnQgb3Igc2hhZGUgb2YgYmFzZSBjb2xvciBwcm92aWRlZFxuICAgKlxuICAgKiBAcGFyYW0gY29sb3I6IGJhc2UgY29sb3IsIGhhcyB2YXJpYW50IG9mIDEwMFxuICAgKiBAcGFyYW0gdmFyaWFudDogbnVtYmVyIGluIHJhbmdlIGJldHdlZW4gMCAtIDIwMFxuICAgKiAgICAgICAgICAgICAgICAgMTAwIC0gbmV1dHJhbCB2YXJpYW50LCBubyBjaGFuZ2VzXG4gICAqICAgICAgICAgICAgICAgICAwIC0gOTk6IGJyaWdodGVucyBiYXNlIGNvbG9yIGJ5IG1peGluZyBpbiB3aGl0ZSBjb2xvciwgdGhlIGxvd2VyLCB0aGUgYnJpZ2h0ZXJcbiAgICogICAgICAgICAgICAgICAgIDk5IC0gMjAwOiBkYXJrZW5zIGJhc2UgY29sb3IgYnkgbWl4aW5nIGluIGJsYWNrIGNvbG9yLCB0aGUgYmlnZ2VyLCB0aGUgZGFya2VyXG4gICAqXG4gICAqIEByZXR1cm4gY29sb3IgdmFyaWFudCBvZiBwcm92aWRlZCBiYXNlIGNvbG9yXG4gICAqXG4gICAqIEBleGFtcGxlc1xuICAgKlxuICAgKiAvLyBwcm92aWRlcyAzMCUgZGFya2VyIHBpbmsgY29sb3JcbiAgICogYmFja2dyb3VuZC1jb2xvcjogZXVpLWNvbG9yLXZhcmlhbnQocGluaywgMTMwKTtcbiAgICpcbiAgICogLy8gcHJvdmlkZXMgOTUlIGxpZ2h0ZXIgcGluayBjb2xvclxuICAgKiBiYWNrZ3JvdW5kLWNvbG9yOiBldWktY29sb3ItdmFyaWFudChwaW5rLCA1KTtcbiAgICovXG5AZnVuY3Rpb24gZXVpLWNvbG9yLXZhcmlhbnQoJGNvbG9yLCAkdmFyaWFudDogMTAwKSB7XG4gICAgQGlmICgkdmFyaWFudCA8IDEwMCkge1xuICAgICAgICBAcmV0dXJuIG1peCgjZmZmZmZmLCAkY29sb3IsIDEwMCAtICR2YXJpYW50KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIG1peCgjMDAwMDAwLCAkY29sb3IsICR2YXJpYW50IC0gMTAwKTtcbiAgICB9XG59XG5AZnVuY3Rpb24gbmV3LWJyZWFrcG9pbnQoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUpIHtcbiAgICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgICAgICRxdWVyeTogJGRlZmF1bHQtZmVhdHVyZSBudGgoJHF1ZXJ5LCAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkge1xuICAgICAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksIDEyKTtcbiAgICB9XG4gICAgQHJldHVybiAkcXVlcnk7XG59XG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcbn1cbkBmdW5jdGlvbiB0by1yZW0oJHB4dmFsKSB7XG4gICAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICAgIH1cbiAgICAkYmFzZTogMTZweDtcbiAgICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gICAgfVxuICAgIEByZXR1cm4gbWF0aC5kaXYoJHB4dmFsLCAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLyoqIENvbW1vbiB3ZWlnaHQgbmFtZSBtYXBwaW5nXG4gICAgQFNlZSB0aGUgT3BlblR5cGUgc3BlY2lmaWNhdGlvbjpcbiAgICBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy90eXBvZ3JhcGh5L29wZW50eXBlL3NwZWMvb3MyI3Vzd2VpZ2h0Y2xhc3NcbiAgICBUaGUgbnVtZXJpY2FsIHZhbHVlcyAxMDAgdG8gOTAwIHJvdWdobHkgY29ycmVzcG9uZCB0byB0aGUgZm9sbG93aW5nIGNvbW1vbiB3ZWlnaHQgbmFtZXM6XG4gICAgMTAwICAgICBUaGluIChIYWlybGluZSlcbiAgICAyMDBcdCAgICBFeHRyYSBMaWdodCAoVWx0cmEgTGlnaHQpXG4gICAgMzAwXHQgICAgTGlnaHRcbiAgICA0MDBcdCAgICBOb3JtYWxcbiAgICA1MDBcdCAgICBNZWRpdW1cbiAgICA2MDBcdCAgICBTZW1pIEJvbGQgKERlbWkgQm9sZClcbiAgICA3MDBcdCAgICBCb2xkXG4gICAgODAwXHQgICAgRXh0cmEgQm9sZCAoVWx0cmEgQm9sZClcbiAgICA5MDBcdCAgICBCbGFjayAoSGVhdnkpXG4qKi9cbkBtaXhpbiBldWktZm9udC1mYW1pbHkoKSB7XG4gICAgZm9udC1mYW1pbHk6IHYoZXVpLWJhc2UtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuQG1peGluIGV1aS1mb250LWZhbWlseS1saWdodCgpIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtaXhpbiBldWktZm9udC1mYW1pbHktbm9ybWFsKCkge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuQG1peGluIGV1aS1mb250LWZhbWlseS1pdGFsaWMoKSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWl4aW4gZXVpLWZvbnQtZmFtaWx5LWJvbGQoKSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWl4aW4gZXVpLWZvbnQtZmFtaWx5LWJvbGQtaXRhbGljKCkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gZXVpLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSgpIHtcbiAgICBmb250LWZhbWlseTogdihldWktYmFzZS1mb250LWZhbWlseS1tb25vc3BhY2UpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuIiwiLyohIEBlY2wvcHJlc2V0LXJlc2V0IC0gMy40LjIgQnVpbHQgb24gMjAyMi0wOS0yMVQxMDowMjozMi41NjVaICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovaHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtsaW5lLWhlaWdodDoxLjE1fW1haW57ZGlzcGxheTpibG9ja31oMXtmb250LXNpemU6MmVtO21hcmdpbjouNjdlbSAwfWhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX1wcmV7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOm5vbmU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19aW1ne2JvcmRlci1zdHlsZTpub25lfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTAwJTtsaW5lLWhlaWdodDoxLjE1O21hcmdpbjowfWJ1dHRvbixpbnB1dHtvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1bdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufVt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlci1zdHlsZTpub25lO3BhZGRpbmc6MH1bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxbdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nLGJ1dHRvbjotbW96LWZvY3VzcmluZ3tvdXRsaW5lOjFweCBkb3R0ZWQgQnV0dG9uVGV4dH1maWVsZHNldHtwYWRkaW5nOi4zNWVtIC43NWVtIC42MjVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXRleHRhcmVhe292ZXJmbG93OmF1dG99W3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfVt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH1bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9ZGV0YWlsc3tkaXNwbGF5OmJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1ib2R5e21hcmdpbjowO292ZXJmbG93LXg6aGlkZGVufSIsIjpyb290IHtcbiAgICAvLyBDT0xPUlNcbiAgICBAZWFjaCAkY29sb3IsICRzaGFkZXMgaW4gJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMge1xuICAgICAgICBAZWFjaCAkc2hhZGUsICR2YWx1ZSBpbiAkc2hhZGVzIHtcbiAgICAgICAgICAgIC0tZXVpLWJhc2UtY29sb3ItI3skY29sb3IgKyAnLScgKyAkc2hhZGV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICAvLyBub3QgaW4gYmFzZVxuICAgICAgICAgICAgLy8gLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0tcmdiOiAje3RvUkdCKCR2YWx1ZSl9O1xuICAgICAgICAgICAgLy8gLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0tY29udHJhc3Q6ICN7Z2V0Q29udHJhc3QoJHZhbHVlKX07XG4gICAgICAgICAgICAvLyAtLWV1aS1iYXNlLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfS1jb250cmFzdC1yZ2I6ICN7dG9SR0IoZ2V0Q29udHJhc3QoJHZhbHVlKSl9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gREVGQVVMVFMgMTAwc1xuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtY29sb3JzLTEwMHMge1xuICAgICAgICAtLWV1aS1iYXNlLWNvbG9yLSN7JycgKyAkY29sb3J9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLy8gT1RIRVIgQ09MT1JTXG4gICAgLS1ldWktYmFzZS1jb2xvci10ZXh0OiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTEwMCk7XG4gICAgLS1ldWktYmFzZS1jb2xvci1saW5rOiB2YXIoLS1ldWktYmFzZS1jb2xvci1wcmltYXJ5LTEwMCk7XG4gICAgLS1ldWktYmFzZS1jb2xvci1ibGFjazogYmxhY2s7XG4gICAgLS1ldWktYmFzZS1jb2xvci13aGl0ZTogd2hpdGU7XG4gICAgLS1ldWktYmFzZS1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS0xMDApO1xuXG4gICAgLy8gRk9OVC1TSVpFU1xuICAgIC0tZXVpLWJhc2UtZm9udC1zaXplOiAxNnB4O1xuICAgIEBlYWNoICRmb250LXNpemUsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLWZvbnQtc2l6ZXMge1xuICAgICAgICAtLWV1aS1iYXNlLWZvbnQtc2l6ZS0jeyRmb250LXNpemV9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLy8gLy8gRk9OVFNcbiAgICAtLWV1aS1iYXNlLWZvbnQtZmFtaWx5OiAjeyRldWktYmFzZS1mb250LWZhbWlseX07XG4gICAgLS1ldWktYmFzZS1mb250LWZhbWlseS1pY29uczogI3skZXVpLWJhc2UtZm9udC1mYW1pbHktaWNvbnN9O1xuICAgIC0tZXVpLWJhc2UtZm9udC1mYW1pbHktbW9ub3NwYWNlOiAjeyRldWktYmFzZS1mb250LWZhbWlseS1tb25vc3BhY2V9O1xuXG4gICAgLy8gSUNPTi1TSVpFU1xuICAgIC0tZXVpLWJhc2UtaWNvbi1zaXplOiAxLjVyZW07XG4gICAgQGVhY2ggJGljb24tc2l6ZSwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtaWNvbi1zaXplcyB7XG4gICAgICAgIC0tZXVpLWJhc2UtaWNvbi1zaXplLSN7JGljb24tc2l6ZX06ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkZmFtaWx5LCAkc2l6ZXMgaW4gJGV1aS1iYXNlLXRva2Vucy1mb250cyB7XG4gICAgICAgICRmYW1pbHktdHlwZTogJGZhbWlseSArICctJztcbiAgICAgICAgQGlmKCRmYW1pbHkgPT0gdWkpIHtcbiAgICAgICAgICAgICRmYW1pbHktdHlwZTogJyc7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGRlZmluaXRpb24gaW4gJHNpemVzIHtcbiAgICAgICAgICAgIC0tZXVpLWJhc2UtZm9udC0jeyRmYW1pbHktdHlwZX0jeyRzaXplfTogI3skZGVmaW5pdGlvbn07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTUEFDSU5HU1xuICAgIEBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1zcGFjaW5ncyB7XG4gICAgICAgIC0tZXVpLWJhc2Utc3BhY2luZy0jeyRzcGFjaW5nfTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC8vIFNIQURPV1NcbiAgICBAZWFjaCAkc2hhZG93LCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1zaGFkb3dzIHtcbiAgICAgICAgLS1ldWktYmFzZS1zaGFkb3ctI3skc2hhZG93fTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC8vIFotSU5ERVhFU1xuICAgIEBlYWNoICRpZHgsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXotaW5kZXhlcyB7XG4gICAgICAgIC0tZXVpLWJhc2Utei1pbmRleC0jeyRpZHh9OiAjeyR2YWx1ZX07XG4gICAgfVxufVxuIiwiOnJvb3Qge1xuICAgIC0tZXVpLWJhc2UtbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgLS1ldWktYmFzZS1zY2FsZS1mYWN0b3I6IDE7XG4gICAgLS1ldWktYmFzZS1kaXNhYmxlZC1vcGFjaXR5OiAwLjQ1O1xuXG4gICAgLS1ldWktYmFzZS1ib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAtLWV1aS1iYXNlLWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWV1aS1jb2xvci1ncmV5LWxpZ2h0ZXIpO1xuICAgIC0tZXVpLWJhc2UtYm9yZGVyLWxpZ2h0OiAxcHggc29saWQgdmFyKC0tZXVpLWNvbG9yLWdyZXktbGlnaHQpO1xuICAgIC0tZXVpLWJhc2UtYm9yZGVyLWxpZ2h0ZXI6IDFweCBzb2xpZCB2YXIoLS1ldWktY29sb3ItZ3JleS1saWdodGVyKTtcbiAgICAtLWV1aS1iYXNlLWJvcmRlci1saWdodGVzdDogMXB4IHNvbGlkIHZhcigtLWV1aS1jb2xvci1ncmV5LWxpZ2h0ZXN0KTtcblxuICAgIC8vIEFuaW1hdGlvbnMgcmVsYXRlZFxuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWZhc3Qtb3V0LWxpbmVhci1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWVhc2UtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC4xLCAwLjI1LCAxKTsgICAgLy8gZWFzZVxuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbi1mYXN0OiAwLjI1cztcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbi1tZWRpdW06IDAuNXM7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZHVyYXRpb24tc2xvdzogMXM7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZHVyYXRpb24tYmFzZTogNTAwbXM7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlKTtcblxuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLXRyYW5zaXRpb24tYmFzZTogYWxsIDAuMnMgI3t2YXIoLS1ldWktYmFzZS1hbmltYXRpb24tbGluZWFyLW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbil9O1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLXRyYW5zaXRpb24tZWFzZTogYWxsIDAuMnMgI3t2YXIoLS1ldWktYmFzZS1hbmltYXRpb24tZWFzZS10aW1pbmctZnVuY3Rpb24pfTtcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi10cmFuc2l0aW9uLWVhc2UtaW4tb3V0OiBhbGwgMC4ycyAje3ZhcigtLWV1aS1iYXNlLWFuaW1hdGlvbi1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb24pfTtcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi10cmFuc2l0aW9uLWVhc2UtaW4tb3V0LTFzOiBhbGwgMXMgI3t2YXIoLS1ldWktYmFzZS1hbmltYXRpb24tZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uKX07XG5cbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgICAgLy8gdGhpcyBwcmV2ZW50cyB0aGUgYW5pbWF0aW9uIGZyb20gcmVzdGFydGluZ1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXByaW1hcnktNTApOyAgLy8gI2NmY2ZkZjtcblxuICAgIC8vIEV4dHJhIGNvbG9yc1xuICAgIC0tZXVpLWJhc2UtY29sb3ItYWNjZXNzaWJsZS1mb2N1czogdmFyKC0tZXVpLWJhc2UtY29sb3ItYWNjZW50LTExMCk7ICAgIC8vIENhcmJvbiBibHVlOiAjMGY2MmZlO1xufVxuIiwiOnJvb3Qge1xuICAgIC8vIGVVSSBBUFBcbiAgICAtLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLWhlYWRlci1oZWlnaHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1hY3RpdmU6IDkwcHg7XG4gICAgLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtc2hyaW5rOiAwcHg7XG5cbiAgICAtLWV1aS1hcHAtYnJlYWRjcnVtYnMtaGVpZ2h0LWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtYnJlYWRjcnVtYnMtaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLWJyZWFkY3J1bWJzLWhlaWdodC1hY3RpdmU6IDIwcHg7XG5cbiAgICAtLWV1aS1hcHAtdG9wLW1lc3NhZ2UtaGVpZ2h0LWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtdG9wLW1lc3NhZ2UtaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLXRvcC1tZXNzYWdlLWhlaWdodC1hY3RpdmU6IDQycHg7XG5cbiAgICAtLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtZGVmYXVsdDogMHB4O1xuICAgIC0tZXVpLWFwcC10b29sYmFyLWhlaWdodDogMHB4O1xuICAgIC0tZXVpLWFwcC10b29sYmFyLWhlaWdodC1hY3RpdmU6IDU1cHg7XG5cbiAgICAtLWV1aS1hcHAtc2lkZWJhci13aWR0aC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItd2lkdGg6IDBweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci13aWR0aC1hY3RpdmU6IDMwMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlLWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZTogMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlLWFjdGl2ZTogNjRweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodC1hY3RpdmU6IDQ4cHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodDogMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtZGVmYXVsdDogMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtYWN0aXZlOiAyNHB4O1xuXG4gICAgLy8gUGFnZSBMYXlvdXRcbiAgICAtLWV1aS1wYWdlLWhlYWRlci13aXRoLXN1YnRpdGxlLWhlaWdodDogNHJlbTtcbiAgICAtLWV1aS1wYWdlLWhlYWRlci13aXRob3V0LXN1YnRpdGxlLWhlaWdodDogMnJlbTtcblxuICAgIC0tZXVpLXBhZ2UtY29sdW1uLS1zaXplLXM6IDUwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUtbTogMTUwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUtbDogMjAwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUteGw6IDI1MHB4O1xuICAgIC0tZXVpLXBhZ2UtY29sdW1uLS1zaXplLXh4bDogMzAwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUteHh4bDogMzUwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tZm9vdGVyLWhlaWdodDogMy41cmVtO1xuXG4gICAgLy8gTWlzY1xuICAgIC0tZXVpLWJvcmRlci1zdGF0ZS13aWR0aDogNnB4O1xuXG4gICAgLy8gQ29sb3JzXG4gICAgLy8gZVVJIEFwcCBlbGVtZW50c1xuICAgIC0tZXVpLWFwcC1oZWFkZXItYmctY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXdoaXRlKTtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLXRpdGxlLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTEwMCk7XG4gICAgLS1ldWktYXBwLWhlYWRlci1zdWJ0aXRsZS1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS03NSk7XG5cbiAgICAtLWV1aS1hcHAtdG9vbGJhci1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIC0tZXVpLWFwcC10b29sYmFyLWJnLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1wcmltYXJ5LTEwMCk7XG4gICAgLS1ldWktYXBwLXRvb2xiYXItYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItcHJpbWFyeS0yNSk7XG5cbiAgICAtLWV1aS1hcHAtc2lkZWJhci1iZy1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS0yKTtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci1ib3JkZXItcmlnaHQtY29sb3I6ICNmMmY0Zjk7XG5cbiAgICAtLWV1aS1hcHAtYm9keS1iZy1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS01KTtcbiAgICAtLWV1aS1hcHAtbWFpbi1iZy1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS0yKTtcblxuICAgIC0tZXVpLWFwcC1mb290ZXItY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLWZvbnQpO1xuICAgIC0tZXVpLWFwcC1mb290ZXItYmctY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLWdyZXktMik7XG4gICAgLS1ldWktYXBwLWZvb3Rlci1ib3JkZXItdG9wLWNvbG9yOiAjZThlYmYxO1xufVxuXG4ueHMsIC5zbSB7XG4gICAgLS1ldWktYXBwLWhlYWRlci1oZWlnaHQ6IDBweDtcbn1cbiIsIi5ldWktaWNvbi1zdmcge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2NhbGVZKDEpIHJvdGF0ZVooMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtaWNvbi1zaXplcyB7XG4gICAgLmV1aS1pY29uLXN2Zy0tc2l6ZS0jeyRzaXplfSB7XG4gICAgICAgIGhlaWdodDogI3skdmFsdWV9O1xuICAgICAgICB3aWR0aDogI3skdmFsdWV9O1xuICAgIH07XG59XG5AZWFjaCAkY29sb3IsICRzaGFkZXMgaW4gJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMge1xuICAgIEBlYWNoICRzaGFkZSwgJHZhbHVlIGluICRzaGFkZXMge1xuICAgICAgICAuZXVpLWljb24tc3ZnLS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0ge1xuICAgICAgICAgICAgY29sb3I6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIGZpbGw6ICN7JHZhbHVlfTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLWNvbG9ycy0xMDBzIHtcbiAgICAuZXVpLWljb24tc3ZnLS1jb2xvci0jeycnICsgJGNvbG9yfSB7XG4gICAgICAgIGNvbG9yOiAjeyR2YWx1ZX07XG4gICAgICAgIGZpbGw6ICN7JHZhbHVlfTtcbiAgICB9O1xufVxuXG4uZXVpLWljb24tc3ZnLS1jb2xvci13aGl0ZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZpbGw6IHdoaXRlO1xufVxuXG4uZXVpLWljb24tc3ZnLS1jb2xvci1ibGFjayB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrO1xufVxuIiwiQHVzZSAnQGFuZ3VsYXIvY2RrJztcblxuQG1peGluIHJpcHBsZSgpIHtcbiAgLy8gVGhlIGhvc3QgZWxlbWVudCBvZiBhbiBtYXQtcmlwcGxlIGRpcmVjdGl2ZSBzaG91bGQgYWx3YXlzIGhhdmUgYSBwb3NpdGlvbiBvZiBcImFic29sdXRlXCIgb3JcbiAgLy8gXCJyZWxhdGl2ZVwiIHNvIHRoYXQgdGhlIHJpcHBsZXMgaW5zaWRlIGFyZSBjb3JyZWN0bHkgcG9zaXRpb25lZCByZWxhdGl2ZWx5IHRvIHRoZSBjb250YWluZXIuXG4gIC5tYXQtcmlwcGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQnkgZGVmYXVsdCwgZXZlcnkgcmlwcGxlIGNvbnRhaW5lciBzaG91bGQgaGF2ZSBwb3NpdGlvbjogcmVsYXRpdmUgaW4gZmF2b3Igb2YgY3JlYXRpbmcgYW5cbiAgICAvLyBlYXN5IEFQSSBmb3IgZGV2ZWxvcGVycyB1c2luZyB0aGUgTWF0UmlwcGxlIGRpcmVjdGl2ZS5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBQcm9tb3RlIGNvbnRhaW5lcnMgdGhhdCBoYXZlIHJpcHBsZXMgdG8gYSBuZXcgbGF5ZXIuIFdlIHdhbnQgdG8gdGFyZ2V0IGA6bm90KDplbXB0eSlgLFxuICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhbGwgcmlwcGxlIGNvbnRhaW5lcnMgdG8gaGF2ZSB0aGVpciBvd24gbGF5ZXIgc2luY2UgdGhleSdyZSB1c2VkIGluIGFcbiAgICAvLyBsb3Qgb2YgcGxhY2VzIGFuZCB0aGUgbGF5ZXIgaXMgb25seSByZWxldmFudCB3aGlsZSBhbmltYXRpbmcuIE5vdGUgdGhhdCBpZGVhbGx5IHdlJ2QgdXNlXG4gICAgLy8gdGhlIGBjb250YWluYCBwcm9wZXJ0eSBoZXJlIChzZWUgIzEzMTc1KSwgYmVjYXVzZSBgOmVtcHR5YCBjYW4gYmUgYnJva2VuIGJ5IGhhdmluZyBleHRyYVxuICAgIC8vIHRleHQgaW5zaWRlIHRoZSBlbGVtZW50LCBidXQgaXQgaXNuJ3QgdmVyeSB3ZWxsIHN1cHBvcnRlZCB5ZXQuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHksIHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG5cbiAgICAvLyBXZSB1c2UgYSAzZCB0cmFuc2Zvcm0gaGVyZSBpbiBvcmRlciB0byBhdm9pZCBhbiBpc3N1ZSBpbiBTYWZhcmkgd2hlcmVcbiAgICAvLyB0aGUgcmlwcGxlcyBhcmVuJ3QgY2xpcHBlZCB3aGVuIGluc2lkZSB0aGUgc2hhZG93IERPTSAoc2VlICMyNDAyOCkuXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApO1xuXG4gICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByaXBwbGUgaXMgb3BhcXVlLCBjYXVzaW5nIGl0IHRvIG9ic3RydWN0IHRoZSBjb250ZW50LlxuICAgIEBpbmNsdWRlIGNkay5oaWdoLWNvbnRyYXN0KGFjdGl2ZSwgb2ZmKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEVtaXRzIGEgQ1NTIGNsYXNzLCBgLmNkay12aXN1YWxseS1oaWRkZW5gLiBUaGlzIGNsYXNzIGNhbiBiZSBhcHBsaWVkIHRvIGFuIGVsZW1lbnRcbi8vLyB0byBtYWtlIHRoYXQgZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gd2hpbGUgcmVtYWluaW5nIGF2YWlsYWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9neS5cbkBtaXhpbiBhMTF5LXZpc3VhbGx5LWhpZGRlbigpIHtcbiAgLmNkay12aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG5cbiAgICAvLyBUaGlzIHdvcmtzIGFyb3VuZCBhIENocm9tZSBidWcgdGhhdCBjYW4gY2F1c2UgdGhlIHRhYiB0byBjcmFzaCB3aGVuIGxhcmdlIGFtb3VudHMgb2ZcbiAgICAvLyBub24tRW5nbGlzaCB0ZXh0IGdldCB3cmFwcGVkOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMjAxNDQ0XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIC8vIFdlIG5lZWQgYXQgbGVhc3Qgb25lIG9mIHRvcC9ib3R0b20vbGVmdC9yaWdodCBpbiBvcmRlciB0byBwcmV2ZW50IGNhc2VzIHdoZXJlIHRoZVxuICAgIC8vIGFic29sdXRlLXBvc2l0aW9uZWQgZWxlbWVudCBpcyBwdXNoZWQgZG93biBhbmQgY2FuIGFmZmVjdCBzY3JvbGxpbmcgKHNlZSAjMjQ1OTcpLlxuICAgIC8vIGBsZWZ0YCB3YXMgY2hvc2VuIGhlcmUsIGJlY2F1c2UgaXQncyB0aGUgbGVhc3QgbGlrZWx5IHRvIGJyZWFrIG92ZXJyaWRlcyB3aGVyZSB0aGVcbiAgICAvLyBlbGVtZW50IG1pZ2h0IGhhdmUgYmVlbiBwb3NpdGlvbmVkIChlLmcuIGBtYXQtY2hlY2tib3hgKS5cbiAgICBsZWZ0OiAwO1xuXG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBAZGVwcmVjYXRlZCBVc2UgYGExMXktdmlzdWFsbHktaGlkZGVuYC5cbkBtaXhpbiBhMTF5KCkge1xuICBAaW5jbHVkZSBhMTF5LXZpc3VhbGx5LWhpZGRlbjtcbn1cblxuLy8vIEVtaXRzIHRoZSBtaXhpbidzIGNvbnRlbnQgbmVzdGVkIHVuZGVyIGAkc2VsZWN0b3ItY29udGV4dGAgaWYgYCRzZWxlY3Rvci1jb250ZXh0YFxuLy8vIGlzIG5vbi1lbXB0eS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3ItY29udGV4dCBUaGUgc2VsZWN0b3IgdW5kZXIgd2hpY2ggdG8gbmVzdCB0aGUgbWl4aW4ncyBjb250ZW50LlxuQG1peGluIF9vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9IHRhcmdldCBUeXBlIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICAgYHdoaXRlLW9uLWJsYWNrYCBvciBgYmxhY2stb24td2hpdGVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSBlbmNhcHN1bGF0aW9uIFdoZXRoZXIgdG8gZW1pdCBzdHlsZXMgZm9yIHZpZXcgZW5jYXBzdWxhdGlvbi4gVmFsdWVzIGFyZTpcbi8vLyAgICAgKiBgb25gIC0gd29ya3MgZm9yIGBFbXVsYXRlZGAsIGBOYXRpdmVgLCBhbmQgYFNoYWRvd0RvbWBcbi8vLyAgICAgKiBgb2ZmYCAtIHdvcmtzIGZvciBgTm9uZWBcbi8vLyAgICAgKiBgYW55YCAtIHdvcmtzIGZvciBhbGwgZW5jYXBzdWxhdGlvbiBtb2RlcyBieSBlbWl0dGluZyB0aGUgQ1NTIHR3aWNlIChkZWZhdWx0KS5cbkBtaXhpbiBoaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC8vIE5vdGUgdGhhdCBpZiB0aGlzIHNlbGVjdG9yIGlzIHVwZGF0ZWQsIHRoZSBzYW1lIGNoYW5nZSBoYXMgdG8gYmUgbWFkZSBpbnNpZGVcbiAgICAgIC8vIGBfb3ZlcmxheS5zY3NzYCB3aGljaCBjYW4ndCBkZXBlbmQgb24gdGhpcyBtaXhpbiBkdWUgdG8gc29tZSBpbmZyYXN0cnVjdHVyZSBsaW1pdGF0aW9ucy5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX29wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvZmYnKSB7XG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtI3skdGFyZ2V0fSA6aG9zdCB7XG4gICAgICAgIEBpbmNsdWRlIF9vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZSB3YW50IG92ZXJsYXlzIHRvIGFsd2F5cyBhcHBlYXIgb3ZlciB1c2VyIGNvbnRlbnQsIHNvIHNldCBhIGJhc2VsaW5lXG4vLyB2ZXJ5IGhpZ2ggei1pbmRleCBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLCB3aGljaCBpcyB3aGVyZSB3ZSBjcmVhdGUgdGhlIG5ld1xuLy8gc3RhY2tpbmcgY29udGV4dCBmb3IgYWxsIG92ZXJsYXlzLlxuJG92ZXJsYXktY29udGFpbmVyLXotaW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kb3ZlcmxheS16LWluZGV4OiAxMDAwICFkZWZhdWx0O1xuJG92ZXJsYXktYmFja2Ryb3Atei1pbmRleDogMTAwMCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcbiRvdmVybGF5LWJhY2tkcm9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzIpICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbi8vLyBFbWl0cyBzdHJ1Y3R1cmFsIHN0eWxlcyByZXF1aXJlZCBmb3IgY2RrL292ZXJsYXkgdG8gZnVuY3Rpb24uXG5AbWl4aW4gb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkb3ZlcmxheS1jb250YWluZXItei1pbmRleDtcblxuICAgICY6ZW1wdHkge1xuICAgICAgLy8gSGlkZSB0aGUgZWxlbWVudCB3aGVuIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGQgbm9kZXMuIFRoaXMgZG9lc24ndFxuICAgICAgLy8gaW5jbHVkZSBvdmVybGF5cyB0aGF0IGhhdmUgYmVlbiBkZXRhY2hlZCwgcmF0aGVyIHRoYW4gZGlzcG9zZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxuICAvLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcbiAgLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxuICAvLyBzdHJhdGVnaWVzLlxuICAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvdmVybGF5LXotaW5kZXg7XG4gIH1cblxuICAvLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXG4gIC5jZGstb3ZlcmxheS1wYW5lIHtcbiAgICAvLyBOb3RlOiBpdCdzIGltcG9ydGFudCBmb3IgdGhpcyBvbmUgdG8gc3RhcnQgb2ZmIGBhYnNvbHV0ZWAsXG4gICAgLy8gaW4gb3JkZXIgZm9yIHVzIHRvIGJlIGFibGUgdG8gbWVhc3VyZSBpdCBjb3JyZWN0bHkuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogJG92ZXJsYXktei1pbmRleDtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRvdmVybGF5LWJhY2tkcm9wLXotaW5kZXg7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb24gJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAvLyBOb3RlIHRoYXQgd2UgY2FuJ3QgaW1wb3J0IGFuZCB1c2UgdGhlIGBoaWdoLWNvbnRyYXN0YCBtaXhpbiBmcm9tIGBfYTExeS5zY3NzYCwgYmVjYXVzZVxuICAgICAgLy8gdGhpcyBmaWxlIHdpbGwgYmUgY29waWVkIHRvIHRoZSB0b3AtbGV2ZWwgYGNka2AgcGFja2FnZSB3aGVuIHB1dHRpbmcgdG9nZXRoZXIgdGhlIGZpbGVzXG4gICAgICAvLyBmb3IgbnBtLiBBbnkgcmVsYXRpdmUgaW1wb3J0IHBhdGhzIHdlIHVzZSBoZXJlIHdpbGwgYmVjb21lIGludmFsaWQgb25jZSB0aGUgZmlsZSBpcyBjb3BpZWQuXG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlICYge1xuICAgICAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJnYmEgYmFja2dyb3VuZCB3aWxsIGJlY29tZSBzb2xpZFxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGZhbGwgYmFjayB0byBtYWtpbmcgaXQgb3BhcXVlIHVzaW5nIGBvcGFjaXR5YC5cbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1iYWNrZHJvcC1jb2xvcjtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gRGVmaW5lIGEgdHJhbnNpdGlvbiBvbiB0aGUgdmlzaWJpbGl0eSBzbyB0aGF0IHRoZSBgdHJhbnNpdGlvbmVuZGAgZXZlbnQgY2FuIGZpcmUgaW1tZWRpYXRlbHkuXG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxbXMgbGluZWFyLCBvcGFjaXR5IDFtcyBsaW5lYXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxuICAgIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXG4gICAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxuICAgIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXG4gICAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC1ub29wLWFuaW1hdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvdmVybGF5LXotaW5kZXg7XG5cbiAgICAvLyBXZSB1c2UgYGRpc3BsYXk6IGZsZXhgIG9uIHRoaXMgZWxlbWVudCBleGNsdXNpdmVseSBmb3IgY2VudGVyaW5nIGNvbm5lY3RlZCBvdmVybGF5cy5cbiAgICAvLyBXaGVuICpub3QqIGNlbnRlcmluZywgYSB0b3AvbGVmdC9ib3R0b20vcmlnaHQgd2lsbCBiZSBzZXQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBub3JtYWxcbiAgICAvLyBmbGV4IGxheW91dC5cbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLy8gV2UgdXNlIHRoZSBgY29sdW1uYCBkaXJlY3Rpb24gaGVyZSB0byBhdm9pZCBzb21lIGZsZXhib3ggaXNzdWVzIGluIEVkZ2VcbiAgICAvLyB3aGVuIHVzaW5nIHRoZSBcImdyb3cgYWZ0ZXIgb3BlblwiIG9wdGlvbnMuXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC8vIEFkZCBzb21lIGRpbWVuc2lvbnMgc28gdGhlIGVsZW1lbnQgaGFzIGFuIGBpbm5lclRleHRgIHdoaWNoIHNvbWUgcGVvcGxlIGRlcGVuZCBvbiBpbiB0ZXN0cy5cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cblxuICAvLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXG4gIC5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcbiAgICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXG4gICAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxuICAgIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XG4gICAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG59XG4iLCIvLyBTdHJ1Y3R1cmFsIHN0eWxlcyBmb3IgdGhlIGF1dG9zaXplIHRleHQgZmllbGRzLlxuQG1peGluIHRleHQtZmllbGQtYXV0b3NpemUoKSB7XG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTaW1pbGFyIHRvIHRoZSBgY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ2AgY2xhc3MsIGJ1dCBvbmx5IGFwcGxpZWQgb24gRmlyZWZveC4gV2UgbmVlZFxuICAvLyB0byB1c2UgdGhpcyBjbGFzcywgYmVjYXVzZSBGaXJlZm94IGhhcyBhIGJ1ZyB3aGVyZSBjaGFuZ2luZyB0aGUgYG92ZXJmbG93YCBicmVha3MgdGhlIHVzZXInc1xuICAvLyBhYmlsaXR5IHRvIHVuZG8vcmVkbyB3aGF0IHRoZXkgd2VyZSB0eXBpbmcgKHNlZSAjMTY2MjkpLiBUaGlzIGNsYXNzIGlzIG9ubHkgc2NvcGVkIHRvIEZpcmVmb3gsXG4gIC8vIGJlY2F1c2UgdGhlIG1lYXN1cmVtZW50cyB0aGVyZSBkb24ndCBzZWVtIHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBgaGVpZ2h0OiAwYCwgd2hlcmVhcyBvbiBvdGhlclxuICAvLyBicm93c2VycyB0aGV5IGFyZSwgZS5nLiBDaHJvbWUgZGV0ZWN0cyBsb25nZXIgdGV4dCBhbmQgSUUgZG9lcyd0IHJlc2l6ZSBiYWNrIHRvIG5vcm1hbC5cbiAgLy8gSWRlbnRpY2FsIGlzc3VlIHJlcG9ydDogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4Nzg0XG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveCB7XG4gICAgQGluY2x1ZGUgX2F1dG9zaXplLW1lYXN1cmluZy1iYXNlO1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIENvcmUgc3R5bGVzIHRoYXQgZW5hYmxlIG1vbml0b3JpbmcgYXV0b2ZpbGwgc3RhdGUgb2YgdGV4dCBmaWVsZHMuXG5AbWl4aW4gdGV4dC1maWVsZC1hdXRvZmlsbCgpIHtcbiAgLy8gS2V5ZnJhbWVzIHRoYXQgYXBwbHkgbm8gc3R5bGVzLCBidXQgYWxsb3cgdXMgdG8gbW9uaXRvciB3aGVuIGFuIHRleHQgZmllbGQgYmVjb21lcyBhdXRvZmlsbGVkXG4gIC8vIGJ5IHdhdGNoaW5nIGZvciB0aGUgYW5pbWF0aW9uIGV2ZW50cyB0aGF0IGFyZSBmaXJlZCB3aGVuIHRoZXkgc3RhcnQuIE5vdGU6IHRoZSAvKiEqLyBjb21tZW50IGlzXG4gIC8vIG5lZWRlZCB0byBwcmV2ZW50IExpYlNhc3MgZnJvbSBzdHJpcHBpbmcgdGhlIGtleWZyYW1lcyBvdXQuXG4gIC8vIEJhc2VkIG9uOiBodHRwczovL21lZGl1bS5jb20vQGJydW5uL2RldGVjdGluZy1hdXRvZmlsbGVkLWZpZWxkcy1pbi1qYXZhc2NyaXB0LWFlZDU5OGQyNWRhN1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IHsvKiEqL31cbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgey8qISovfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zO1xuICB9XG5cbiAgLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zO1xuICB9XG59XG5cbkBtaXhpbiBfYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIHRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3IoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOicnKSB7XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIEBpZiAkZm9yZWdyb3VuZCAhPSAnJyB7IGNvbG9yOiAkZm9yZWdyb3VuZDsgfVxuICAgIH1cbiAgfVxuXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRhdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICYuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5IGZvciBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0XG4gICAgLy8gZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcyxcbiAgICAgICAgICAgICAgIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSBib3RoO1xuICB9XG5cbiAgJGF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAkYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQgKyAxICFnbG9iYWw7XG59XG5cbi8vIEBkZXByZWNhdGVkIFVzZSBgYXV0b3NpemVgIGFuZCBgYXV0b2ZpbGxgIGluc3RlYWQuXG5AbWl4aW4gdGV4dC1maWVsZCB7XG4gIEBpbmNsdWRlIHRleHQtZmllbGQtYXV0b3NpemUoKTtcbiAgQGluY2x1ZGUgdGV4dC1maWVsZC1hdXRvZmlsbCgpO1xufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptZXRhJztcbkB1c2UgJ0Bhbmd1bGFyL2Nkayc7XG5AdXNlICcuLi9zdHlsZS9sYXlvdXQtY29tbW9uJztcbkB1c2UgJy4uL3RoZW1pbmcvdGhlbWluZyc7XG5cbi8vIFByaXZhdGUgc2FzcyB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgYXMgcmVmZXJlbmNlIHRocm91Z2hvdXQgY29tcG9uZW50IHN0eWxlc2hlZXRzLlxuJGRlZmF1bHQtYm9yZGVyLXdpZHRoOiAzcHg7XG4kZGVmYXVsdC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJGRlZmF1bHQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDRweDtcblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIHRoZSBmb2N1cyBpbmRpY2F0b3Igc3RydWN0dXJhbCBzdHlsZXMuXG5AbWl4aW4gc3RydWN0dXJhbC1zdHlsaW5nKCRwcmVmaXgpIHtcbiAgLiN7JHByZWZpeH0tZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbGF5b3V0LWNvbW1vbi5maWxsKCk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB2YXIoLS0jeyRwcmVmaXh9LWZvY3VzLWluZGljYXRvci1kaXNwbGF5LCBub25lKTsgLy8gSGlkZSB0aGUgaW5kaWNhdG9yIGJ5IGRlZmF1bHQuXG4gICAgICBib3JkZXI6IHZhcihcbiAgICAgICAgICAtLSN7JHByZWZpeH0tZm9jdXMtaW5kaWNhdG9yLWJvcmRlci13aWR0aCxcbiAgICAgICAgICAjeyRkZWZhdWx0LWJvcmRlci13aWR0aH1cbiAgICAgICAgKVxuICAgICAgICB2YXIoXG4gICAgICAgICAgLS0jeyRwcmVmaXh9LWZvY3VzLWluZGljYXRvci1ib3JkZXItc3R5bGUsXG4gICAgICAgICAgI3skZGVmYXVsdC1ib3JkZXItc3R5bGV9XG4gICAgICAgIClcbiAgICAgICAgdmFyKFxuICAgICAgICAgIC0tI3skcHJlZml4fS1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yLFxuICAgICAgICAgICN7JGRlZmF1bHQtYm9yZGVyLWNvbG9yfVxuICAgICAgICApO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKFxuICAgICAgICAtLSN7JHByZWZpeH0tZm9jdXMtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMsXG4gICAgICAgICN7JGRlZmF1bHQtYm9yZGVyLXJhZGl1c31cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQnkgZGVmYXVsdCwgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZm9jdXMgaW5kaWNhdG9yIGhvc3QgZWxlbWVudCB0YWtlcyBmb2N1cy5cbiAgICAvLyBEZWZpbmluZyBhIHBzZXVkbyBlbGVtZW50J3MgY29udGVudCB3aWxsIGNhdXNlIGl0IHRvIHJlbmRlci5cbiAgICAmOmZvY3VzOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG5cbiAgLy8gRW5hYmxlIHRoZSBpbmRpY2F0b3IgaW4gaGlnaCBjb250cmFzdCBtb2RlLlxuICBAaW5jbHVkZSBjZGsuaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgIEBpbmNsdWRlIGN1c3RvbWl6ZS1mb2N1cy1pbmRpY2F0b3JzKChkaXNwbGF5OiBibG9jayksICRwcmVmaXgpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlcyBDU1MgdmFyaWFibGUgZGVjbGFyYXRpb25zIGZyb20gYSBtYXAuXG5AbWl4aW4gX291dHB1dC12YXJpYWJsZXMoJG1hcCkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgQGlmICgkdmFsdWUpIHtcbiAgICAgIC0tI3ska2V5fTogI3skdmFsdWV9O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGRlZHVwcyBDU1MgdmFyaWFibGVzIGZvciB0aGUgc3Ryb25nLWZvY3VzLWluZGljYXRvcnMgbWl4aW4uXG5AbWl4aW4gY3VzdG9taXplLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZywgJHByZWZpeCkge1xuICAkYm9yZGVyLXN0eWxlOiBtYXAuZ2V0KCRjb25maWcsIGJvcmRlci1zdHlsZSk7XG4gICRib3JkZXItd2lkdGg6IG1hcC5nZXQoJGNvbmZpZywgYm9yZGVyLXdpZHRoKTtcbiAgJGJvcmRlci1yYWRpdXM6IG1hcC5nZXQoJGNvbmZpZywgYm9yZGVyLXJhZGl1cyk7XG4gICRib3JkZXItY29sb3I6IG1hcC5nZXQoJGNvbmZpZywgYm9yZGVyLWNvbG9yKTtcbiAgJGRpc3BsYXk6IG1hcC5nZXQoJGNvbmZpZywgZGlzcGxheSk7XG4gICRtYXA6IChcbiAgICAnI3skcHJlZml4fS1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXN0eWxlJzogJGJvcmRlci1zdHlsZSxcbiAgICAnI3skcHJlZml4fS1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoJzogJGJvcmRlci13aWR0aCxcbiAgICAnI3skcHJlZml4fS1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyc6ICRib3JkZXItcmFkaXVzLFxuICAgICcjeyRwcmVmaXh9LWZvY3VzLWluZGljYXRvci1ib3JkZXItY29sb3InOiAkYm9yZGVyLWNvbG9yLFxuICAgICcjeyRwcmVmaXh9LWZvY3VzLWluZGljYXRvci1kaXNwbGF5JzogJGRpc3BsYXksXG4gICk7XG5cbiAgQGlmICgmKSB7XG4gICAgQGluY2x1ZGUgX291dHB1dC12YXJpYWJsZXMoJG1hcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFdlIHVzZSBgaHRtbGAgaGVyZSBpbnN0ZWFkIG9mIGA6cm9vdGAsIGJlY2F1c2UgdGhlXG4gICAgLy8gbGF0dGVyIGNhdXNlcyBzb21lIGlzc3VlcyB3aXRoIGludGVybmFsIHRvb2xpbmcuXG4gICAgaHRtbCB7XG4gICAgICBAaW5jbHVkZSBfb3V0cHV0LXZhcmlhYmxlcygkbWFwKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrLFxuICAgICAgZGlzcGxheTogYmxvY2ssXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLm1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG5cbiAgQGluY2x1ZGUgY3VzdG9taXplLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZywgJ21hdCcpO1xufVxuXG5AbWl4aW4gbWRjLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrLFxuICAgICAgZGlzcGxheTogYmxvY2ssXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLm1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG5cbiAgQGluY2x1ZGUgY3VzdG9taXplLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZywgJ21hdC1tZGMnKTtcbn1cblxuQG1peGluIHN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWNvbG9yKCRjb25maWctb3ItdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkY29uZmlnLW9yLXRoZW1lLW9yLWNvbG9yKSA9PSAnY29sb3InIHtcbiAgICBAaW5jbHVkZSBjdXN0b21pemUtZm9jdXMtaW5kaWNhdG9ycygoXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbmZpZy1vci10aGVtZS1vci1jb2xvclxuICAgICksICdtYXQnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUtb3ItY29sb3IpO1xuICAgICRib3JkZXItY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZShtYXAuZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcbiAgICBAaW5jbHVkZSBjdXN0b21pemUtZm9jdXMtaW5kaWNhdG9ycygoXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvclxuICAgICksICdtYXQnKTtcbiAgfVxufVxuXG5AbWl4aW4gc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZy1vci1jb2xvcikge1xuICBAaWYgbWV0YS50eXBlLW9mKCR0aGVtZS1vci1jb2xvci1jb25maWctb3ItY29sb3IpID09ICdjb2xvcicge1xuICAgIEBpbmNsdWRlIGN1c3RvbWl6ZS1mb2N1cy1pbmRpY2F0b3JzKChcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtb3ItY29sb3ItY29uZmlnLW9yLWNvbG9yXG4gICAgKSwgJ21hdCcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdGhlbWU6IHRoZW1pbmcucHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWctb3ItY29sb3IpO1xuICAgIEBpbmNsdWRlIHRoZW1pbmcucHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb2N1cy1pbmRpY2F0b3JzJykge1xuICAgICAgJGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIHN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZS1vci1jb2xvcikge1xuICBAaWYgbWV0YS50eXBlLW9mKCRjb25maWctb3ItdGhlbWUtb3ItY29sb3IpID09ICdjb2xvcicge1xuICAgIEBpbmNsdWRlIGN1c3RvbWl6ZS1mb2N1cy1pbmRpY2F0b3JzKChcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29uZmlnLW9yLXRoZW1lLW9yLWNvbG9yXG4gICAgKSwgJ21hdC1tZGMnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUtb3ItY29sb3IpO1xuICAgICRib3JkZXItY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZShtYXAuZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcbiAgICBAaW5jbHVkZSBjdXN0b21pemUtZm9jdXMtaW5kaWNhdG9ycygoXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvclxuICAgICksICdtYXQtbWRjJyk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnLW9yLWNvbG9yKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZy1vci1jb2xvcikgPT0gJ2NvbG9yJyB7XG4gICAgQGluY2x1ZGUgY3VzdG9taXplLWZvY3VzLWluZGljYXRvcnMoKFxuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1vci1jb2xvci1jb25maWctb3ItY29sb3JcbiAgICApLCAnbWF0LW1kYycpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdGhlbWU6IHRoZW1pbmcucHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWctb3ItY29sb3IpO1xuICAgIEBpbmNsdWRlIHRoZW1pbmcucHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1tZGMtZm9jdXMtaW5kaWNhdG9ycycpIHtcbiAgICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gZW5zdXJlcyBhbiBlbGVtZW50IHNwYW5zIHRvIGZpbGwgdGhlIG5lYXJlc3QgYW5jZXN0b3Igd2l0aCBkZWZpbmVkIHBvc2l0aW9uaW5nLlxuQG1peGluIGZpbGwge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICcuLi90aGVtaW5nL3RoZW1pbmcnO1xuXG4vLyBDb2xvcnMgZm9yIHRoZSByaXBwbGUgZWxlbWVudHMuXG5AbWl4aW4gY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiB0aGVtaW5nLmdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAuZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkZm9yZWdyb3VuZC1iYXNlOiBtYXAuZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgJGNvbG9yLW9wYWNpdHk6IDAuMTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAvLyBJZiB0aGUgcmlwcGxlIGNvbG9yIGlzIHJlc29sdmVzIHRvIGEgY29sb3IgKnR5cGUqLCB3ZSBjYW4gdXNlIGl0IGRpcmVjdGx5LCBvdGhlcndpc2VcbiAgICAvLyAoZS5nLiBpdCByZXNvbHZlcyB0byBhIENTUyB2YXJpYWJsZSkgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIHRoZSBjb2xvciBhbmQgc2V0dGluZyBhbiBvcGFjaXR5LlxuICAgIEBpZiAobWV0YS50eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRjb2xvci1vcGFjaXR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcmVncm91bmQtYmFzZTtcbiAgICAgIG9wYWNpdHk6ICRjb2xvci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IHRoZW1pbmcucHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSB0aGVtaW5nLnByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmlwcGxlJykge1xuICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdAbWF0ZXJpYWwvdGhlbWUvdGhlbWUtY29sb3InIGFzIG1kYy10aGVtZS1jb2xvcjtcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS90aGVtZScgYXMgbWRjLXRoZW1lO1xuQHVzZSAnQG1hdGVyaWFsL2xpc3QvZXZvbHV0aW9uLW1peGlucycgYXMgbWRjLWxpc3QtbWl4aW5zO1xuQHVzZSAnQG1hdGVyaWFsL3R5cG9ncmFwaHknIGFzIG1kYy10eXBvZ3JhcGh5O1xuQHVzZSAnQG1hdGVyaWFsL3JpcHBsZScgYXMgbWRjLXJpcHBsZTtcblxuQHVzZSAnLi4vdGhlbWluZy90aGVtaW5nJztcbkB1c2UgJy4uL3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AdXNlICcuLi9tZGMtaGVscGVycy9tZGMtaGVscGVycyc7XG5cbkBtaXhpbiBjb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IHRoZW1pbmcuZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaW5jbHVkZSBtZGMtaGVscGVycy51c2luZy1tZGMtdGhlbWUoJGNvbmZpZykge1xuICAgIC5tYXQtbWRjLW9wdGlvbiB7XG4gICAgICAvLyBTaW5jZSB0aGlzIHdpbGwgdXN1YWxseSBiZSByZW5kZXJlZCBpbiBhbiBvdmVybGF5LFxuICAgICAgLy8gd2UgaGF2ZSBleHBsaWNpdGx5IHNldCB0aGUgZGVmYXVsdCBjb2xvci5cbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS5wcm9wKGNvbG9yLCB0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCk7XG5cbiAgICAgICY6aG92ZXI6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCksXG4gICAgICAmOmZvY3VzOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLFxuICAgICAgJi5tYXQtbWRjLW9wdGlvbi1hY3RpdmUsXG5cbiAgICAgIC8vIEluIG11bHRpcGxlIG1vZGUgdGhlcmUgaXMgYSBjaGVja2JveCB0byBzaG93IHRoYXQgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICAgICYubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tYXQtbWRjLW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkge1xuICAgICAgICAkY29sb3I6IG1kYy10aGVtZS1jb2xvci4kb24tc3VyZmFjZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIG1kYy1yaXBwbGUuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtcHJpbWFyeSB7XG4gICAgICAubWF0LW1kYy1vcHRpb24ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtbGlzdC1taXhpbnMubGlzdC1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKHByaW1hcnksXG4gICAgICAgICAgJHF1ZXJ5OiBtZGMtaGVscGVycy4kbWRjLXRoZW1lLXN0eWxlcy1xdWVyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1tZGMtb3B0aW9uLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWxpc3QtbWl4aW5zLmxpc3QtcHJpbWFyeS10ZXh0LWluay1jb2xvcihzZWNvbmRhcnksXG4gICAgICAgICAgJHF1ZXJ5OiBtZGMtaGVscGVycy4kbWRjLXRoZW1lLXN0eWxlcy1xdWVyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC13YXJuIHtcbiAgICAgIC5tYXQtbWRjLW9wdGlvbi5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1saXN0LW1peGlucy5saXN0LXByaW1hcnktdGV4dC1pbmstY29sb3IoZXJyb3IsXG4gICAgICAgICAgJHF1ZXJ5OiBtZGMtaGVscGVycy4kbWRjLXRoZW1lLXN0eWxlcy1xdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdHlwb2dyYXBoeS5wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxOC1jb25maWcoXG4gICAgICB0aGVtaW5nLmdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSk7XG5cbiAgQGluY2x1ZGUgbWRjLWhlbHBlcnMudXNpbmctbWRjLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAgIC8vIE1EQyB1c2VzIHRoZSBgc3VidGl0bGUxYCBsZXZlbCBmb3IgbGlzdCBpdGVtcywgYnV0XG4gICAgLy8gdGhlIHNwZWMgc2hvd3MgYGJvZHkxYCBhcyB0aGUgY29ycmVjdCBsZXZlbC5cbiAgICAubWF0LW1kYy1vcHRpb24ge1xuICAgICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkudHlwb2dyYXBoeShib2R5MSxcbiAgICAgICAgJHF1ZXJ5OiBtZGMtaGVscGVycy4kbWRjLXR5cG9ncmFwaHktc3R5bGVzLXF1ZXJ5LFxuICAgICAgICAvLyBFeGNsdWRlIHRoZXNlIHByb3BlcnRpZXMsIGJlY2F1c2UgdGhleSBjYXVzZSBzb21lIGJ1aWxkXG4gICAgICAgIC8vIGlzc3VlcyBpbnRlcm5hbGx5IGFuZCB0aGV5IGFyZW4ndCB1c2VkIGZvciBhbnl0aGluZy5cbiAgICAgICAgJGV4Y2x1ZGUtcHJvcHM6ICh0ZXh0LWRlY29yYXRpb24sIHRleHQtdHJhbnNmb3JtKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogdGhlbWluZy5nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG59XG5cbkBtaXhpbiB0aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogdGhlbWluZy5wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIHRoZW1pbmcucHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1vcHRpb24nKSB7XG4gICAgJGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogdGhlbWluZy5nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogdGhlbWluZy5nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBjb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBkZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICcuL2dzcyc7XG5cbi8vLyBXaGVuIHRydWUsIGFkZCBhbiBhZGRpdGlvbmFsIHByb3BlcnR5L3ZhbHVlIGRlY2xhcmF0aW9uIGJlZm9yZSBkZWNsYXJhdGlvbnNcbi8vLyB0aGF0IHVzZSBhZHZhbmNlZCBmZWF0dXJlcyBzdWNoIGFzIGN1c3RvbSBwcm9wZXJ0aWVzIG9yIENTUyBmdW5jdGlvbnMuIFRoaXNcbi8vLyBhZGRzIGZhbGxiYWNrIHN1cHBvcnQgZm9yIG9sZGVyIGJyb3dzZXJzIHN1Y2ggYXMgSUUxMSB0aGF0IGRvIG5vdCBzdXBwb3J0XG4vLy8gdGhlc2UgZmVhdHVyZXMgYXQgdGhlIGNvc3Qgb2YgYWRkaXRpb25hbCBDU1MuIFNldCB0aGlzIHZhcmlhYmxlIHRvIGZhbHNlIHRvXG4vLy8gZGlzYWJsZSBnZW5lcmF0aW5nIGZhbGxiYWNrIGRlY2xhcmF0aW9ucy5cbiRlbmFibGUtZmFsbGJhY2stZGVjbGFyYXRpb25zOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gV3JpdGVzIGEgQ1NTIHByb3BlcnR5L3ZhbHVlIGRlY2xhcmF0aW9uLiBUaGlzIG1peGluIGlzIHVzZWQgdGhyb3VnaG91dCB0aGVcbi8vLyB0aGVtZSBwYWNrYWdlIGZvciBjb25zaXN0ZW5jeSBmb3IgZHluYW1pY2FsbHkgc2V0dGluZyBDU1MgcHJvcGVydHkgdmFsdWVzLlxuLy8vXG4vLy8gVGhpcyBtaXhpbiBtYXkgb3B0aW9uYWxseSB0YWtlIGEgZmFsbGJhY2sgdmFsdWUuIEZvciBhZHZhbmNlZCBmZWF0dXJlcyBzdWNoXG4vLy8gYXMgY3VzdG9tIHByb3BlcnRpZXMgb3IgQ1NTIGZ1bmN0aW9ucyBsaWtlIG1pbiBhbmQgbWF4LCBhIGZhbGxiYWNrIHZhbHVlIGlzXG4vLy8gcmVjb21tZW5kZWQgdG8gc3VwcG9ydCBvbGRlciBicm93c2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBUaGUgQ1NTIHByb3BlcnR5IG9mIHRoZSBkZWNsYXJhdGlvbi5cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgQ1NTIGRlY2xhcmF0aW9uLiBUaGUgdmFsdWUgc2hvdWxkIGJlXG4vLy8gICAgIHJlc29sdmVkIGJ5IG90aGVyIHRoZW1lIGZ1bmN0aW9ucyBmaXJzdCAoaS5lLiBjdXN0b20gcHJvcGVydHkgTWFwcyBhbmRcbi8vLyAgICAgTWF0ZXJpYWwgdGhlbWUga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIG1peGluKS4gSWYgdGhlIHZhbHVlIGlzXG4vLy8gICAgIG51bGwsIG5vIGRlY2xhcmF0aW9ucyB3aWxsIGJlIGVtaXR0ZWQuXG4vLy8gQHBhcmFtIHsqfSAkZmFsbGJhY2sgLSBBbiBvcHRpb25hbCBmYWxsYmFjayB2YWx1ZSBmb3Igb2xkZXIgYnJvd3NlcnMuIElmXG4vLy8gICAgIHByb3ZpZGVkLCBhIHNlY29uZCBwcm9wZXJ0eS92YWx1ZSBkZWNsYXJhdGlvbiB3aWxsIGJlIGFkZGVkIGJlZm9yZSB0aGVcbi8vLyAgICAgbWFpbiBwcm9wZXJ0eS92YWx1ZSBkZWNsYXJhdGlvbi5cbi8vLyBAcGFyYW0ge01hcH0gJGdzcyAtIEFuIG9wdGlvbmFsIE1hcCBvZiBHU1MgYW5ub3RhdGlvbnMgdG8gYWRkLlxuLy8vIEBwYXJhbSB7Qm9vbH0gJGltcG9ydGFudCAtIElmIHRydWUsIGFkZCBgIWltcG9ydGFudGAgdG8gdGhlIGRlY2xhcmF0aW9uLlxuQG1peGluIGRlY2xhcmF0aW9uKFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJGZhbGxiYWNrLXZhbHVlOiBudWxsLFxuICAkZ3NzOiAoKSxcbiAgJGltcG9ydGFudDogZmFsc2Vcbikge1xuICAvLyBOb3JtYWxseSBzZXR0aW5nIGEgbnVsbCB2YWx1ZSB0byBhIHByb3BlcnR5IHdpbGwgbm90IGVtaXQgQ1NTLCBzbyBtaXhpbnNcbiAgLy8gd291bGRuJ3QgbmVlZCB0byBjaGVjayB0aGlzLiBIb3dldmVyLCBTYXNzIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlXG4gIC8vIGludGVycG9sYXRlZCBwcm9wZXJ0eSBpcyBhIGN1c3RvbSBwcm9wZXJ0eS5cbiAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAkaW1wb3J0YW50LXJ1bGU6IGlmKCRpbXBvcnRhbnQsICcgIWltcG9ydGFudCcsICcnKTtcblxuICAgIEBpZiAkZmFsbGJhY2stdmFsdWUgYW5kICRlbmFibGUtZmFsbGJhY2stZGVjbGFyYXRpb25zIHtcbiAgICAgIEBpbmNsdWRlIGdzcy5hbm5vdGF0ZSgkZ3NzKTtcbiAgICAgICN7JHByb3BlcnR5fTogI3skZmFsbGJhY2stdmFsdWV9ICN7JGltcG9ydGFudC1ydWxlfTtcblxuICAgICAgLy8gQWRkIEBhbHRlcm5hdGUgdG8gYW5ub3RhdGlvbnMuXG4gICAgICAkZ3NzOiBtYXAubWVyZ2UoXG4gICAgICAgICRnc3MsXG4gICAgICAgIChcbiAgICAgICAgICBhbHRlcm5hdGU6IHRydWUsXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ3NzLmFubm90YXRlKCRnc3MpO1xuICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9I3skaW1wb3J0YW50LXJ1bGV9O1xuICB9XG59XG5cbi8vLyBVbnBhY2tzIHNob3J0aGFuZCB2YWx1ZXMgZm9yIENTUyBwcm9wZXJ0aWVzIChpLmUuIGxpc3RzIG9mIDEtMyB2YWx1ZXMpLlxuLy8vIElmIGEgbGlzdCBvZiA0IHZhbHVlcyBpcyBnaXZlbiwgaXQgaXMgcmV0dXJuZWQgYXMtaXMuXG4vLy9cbi8vLyBFeGFtcGxlczpcbi8vL1xuLy8vIHVucGFjay12YWx1ZSg0cHgpID0+IDRweCA0cHggNHB4IDRweFxuLy8vIHVucGFjay12YWx1ZSg0cHggMnB4KSA9PiA0cHggMnB4IDRweCAycHhcbi8vLyB1bnBhY2stdmFsdWUoNHB4IDJweCAycHgpID0+IDRweCAycHggMnB4IDJweFxuLy8vIHVucGFjay12YWx1ZSg0cHggMnB4IDAgMnB4KSA9PiA0cHggMnB4IDAgMnB4XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IE1hcCB8IExpc3R9ICR2YWx1ZSAtIExpc3Qgb2YgMSB0byA0IHZhbHVlIG51bWJlcnMuXG4vLy8gQHJldHVybiB7TGlzdH0gYSBMaXN0IG9mIDQgdmFsdWUgbnVtYmVycy5cbkBmdW5jdGlvbiB1bnBhY2stdmFsdWUoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBvciBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgIEByZXR1cm4gJHZhbHVlICR2YWx1ZSAkdmFsdWUgJHZhbHVlO1xuICB9IEBlbHNlIGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gNCB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAzIHtcbiAgICBAcmV0dXJuIGxpc3QubnRoKCR2YWx1ZSwgMSkgbGlzdC5udGgoJHZhbHVlLCAyKSBsaXN0Lm50aCgkdmFsdWUsIDMpXG4gICAgICBsaXN0Lm50aCgkdmFsdWUsIDIpO1xuICB9IEBlbHNlIGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMiB7XG4gICAgQHJldHVybiBsaXN0Lm50aCgkdmFsdWUsIDEpIGxpc3QubnRoKCR2YWx1ZSwgMikgbGlzdC5udGgoJHZhbHVlLCAxKVxuICAgICAgbGlzdC5udGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBlcnJvciBcIkludmFsaWQgQ1NTIHByb3BlcnR5IHZhbHVlOiAnI3skdmFsdWV9JyBpcyBtb3JlIHRoYW4gNCB2YWx1ZXNcIjtcbn1cbiIsIi8vIFNlbGVjdG9yICcubWRjLSonIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gdGhpcyBwcm9qZWN0LlxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAtLVxuLy8gTk9URTogdGhpcyBpcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFmb3JlbWVudGlvbmVkIGNsYXNzZXMuXG5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnQG1hdGVyaWFsL3RoZW1lL3RoZW1lJztcbkB1c2UgJ0BtYXRlcmlhbC9yaXBwbGUvcmlwcGxlJztcbkB1c2UgJ0BtYXRlcmlhbC9yaXBwbGUvcmlwcGxlLXRoZW1lJztcbkB1c2UgJ0BtYXRlcmlhbC9ydGwvcnRsJztcbkB1c2UgJ0BtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9ucycgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlICdAbWF0ZXJpYWwvZG9tL21peGlucycgYXMgZG9tLW1peGlucztcbkB1c2UgJ0BtYXRlcmlhbC9zaGFwZS9taXhpbnMnIGFzIHNoYXBlLW1peGlucztcbkB1c2UgJ0BtYXRlcmlhbC90eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQHVzZSAnQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2ZlYXR1cmUtdGFyZ2V0aW5nJztcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS90aGVtZS1jb2xvcic7XG5AdXNlICcuL2V2b2x1dGlvbi12YXJpYWJsZXMnIGFzIHZhcmlhYmxlcztcblxuJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldDtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgd2l0aC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcblxuICAvL1xuICAvLyBJdGVtc1xuICAvL1xuXG4gIEBpbmNsdWRlIGxpc3QtcHJpbWFyeS10ZXh0LWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGlzdC1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IodGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGlzdC1vdmVybGluZS10ZXh0LWluay1jb2xvcih0ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGlzdC1pY29uLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxpc3QtaWNvbi1pbmstY29sb3IodGV4dC1pY29uLW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxpc3QtbWV0YS10ZXh0LWluay1jb2xvcih0ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGlzdC1kaXNhYmxlZC1vcGFjaXR5KHZhcmlhYmxlcy4kY29udGVudC1kaXNhYmxlZC1vcGFjaXR5LCAkcXVlcnkpO1xuICBAaW5jbHVkZSBsaXN0LWRpc2FibGVkLWluay1jb2xvcih2YXJpYWJsZXMuJGNvbnRlbnQtZGlzYWJsZWQtY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxpc3Qtc2VsZWN0ZWQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kY29udGVudC1zZWxlY3RlZC1jb2xvciwgJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBncm91cC1zdWJoZWFkZXItaW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIF9oaWdoLWNvbnRyYXN0LW1vZGUoJHF1ZXJ5KTtcblxuICAubWRjLWxpc3Qge1xuICAgIEBpbmNsdWRlIGxpc3QtYmFzZSgkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbV9fd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBpdGVtLWJhc2UoJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tZGVuc2l0eShcbiAgICAgIHZhcmlhYmxlcy4kb25lLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBfdGhyZWUtbGluZS1pdGVtLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJHRocmVlLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgb25lLWxpbmUtaXRlbS1zdGFydC1hbGlnbm1lbnQoY2VudGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHdvLWxpbmUtaXRlbS1zdGFydC1hbGlnbm1lbnQoXG4gICAgICAkYWxpZ25tZW50OiBmbGV4LXN0YXJ0LFxuICAgICAgJG9mZnNldDogMTZweCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSB0aHJlZS1saW5lLWl0ZW0tc3RhcnQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6IDE2cHgsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBvbmUtbGluZS1pdGVtLWVuZC1hbGlnbm1lbnQoY2VudGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHdvLWxpbmUtaXRlbS1lbmQtYWxpZ25tZW50KGNlbnRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRocmVlLWxpbmUtaXRlbS1lbmQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6IDE2cHgsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgbW91c2UgY3Vyc29yIGZvciBkaXNhYmxlZCBhbmQgbm9uLWludGVyYWN0aXZlIGl0ZW1zLlxuICAgICYubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS1ub24taW50ZXJhY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBjb21wb25lbnRzIHVzaW5nIGFyaWEtYWN0aXZlZGVzY2VuZGFudCwgdGhlIGZvY3VzIHBzZXVkb2NsYXNzIGlzXG4gICAgLy8gbmV2ZXIgYXBwbGllZCBhbmQgdXNlIGAubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkYCBpbnN0ZWFkLlxuICAgICY6bm90KC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCk6Zm9jdXM6OmJlZm9yZSwgLy8gbGludC1kaXNhYmxlLWZvY3VzLXBzdWVkby1zZWxlY3RvclxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZG9tLW1peGlucy50cmFuc3BhcmVudC1ib3JkZXIoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cblxuICAgICYubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBkb20tbWl4aW5zLnRyYW5zcGFyZW50LWJvcmRlcihcbiAgICAgICAgJGJvcmRlci13aWR0aDogM3B4LFxuICAgICAgICAkYm9yZGVyLXN0eWxlOiBkb3VibGUsXG4gICAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGxpbnQtZGlzYWJsZS1mb2N1cy1wc3VlZG8tc2VsZWN0b3JcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmZvY3VzOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZG9tLW1peGlucy50cmFuc3BhcmVudC1ib3JkZXIoXG4gICAgICAgICRib3JkZXItd2lkdGg6IDNweCxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgYW5jaG9yIHRhZyBzdHlsZXMgZm9yIHRoZSB1c2UtY2FzZSBvZiBhIGxpc3QgYmVpbmcgdXNlZCBmb3IgbmF2aWdhdGlvblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSxzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgYS5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGUsc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbiAgLm1kYy1saXN0LWl0ZW1fX3N0YXJ0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbV9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzICYsXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMgJiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGUgaW50ZXJhY3Rpb24gb24gbGFiZWwgZWxlbWVudHMgdGhhdCBtYXkgYXV0b21hdGljYWxseVxuICAgIC8vIHRvZ2dsZSBjb3JyZXNwb25kaW5nIGNoZWNrYm94IC8gcmFkaW8gaW5wdXQuXG4gICAgJltmb3JdIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzICYsXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMgJiB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LnRleHQtYmFzZWxpbmUoXG4gICAgICAgICR0b3A6IDI4cHgsXG4gICAgICAgICRib3R0b206IDIwcHgsXG4gICAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50eXBvZ3JhcGh5KGJvZHkyLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkub3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LnRleHQtYmFzZWxpbmUoXG4gICAgICAkdG9wOiAyMHB4LFxuICAgICAgJGRpc3BsYXk6IGJsb2NrLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMgJiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbS0td2l0aC1vdmVybGluZSAmIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19vdmVybGluZS10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LnR5cG9ncmFwaHkob3ZlcmxpbmUsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuXG4gICAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzICYge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50ZXh0LWJhc2VsaW5lKFxuICAgICAgICAkdG9wOiAyNHB4LFxuICAgICAgICAkYm90dG9tOiAyMHB4LFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbS0td2l0aC10aHJlZS1saW5lcyAmIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudGV4dC1iYXNlbGluZShcbiAgICAgICAgJHRvcDogMjhweCxcbiAgICAgICAgJGJvdHRvbTogMjBweCxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1hdmF0YXIge1xuICAgIEBpbmNsdWRlIGl0ZW0tc3RhcnQtc3BhY2luZygxNnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zaXplKDQwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1wcmltYXJ5LWJhc2VsaW5lKDMycHgsIDIwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1vdmVybGluZS1iYXNlbGluZSgyOHB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tbWV0YS1iYXNlbGluZSgkdG9wOiAzMnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiR0d28tbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAubWRjLWxpc3QtaXRlbV9fc3RhcnQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zaXplKDI0cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpdGVtLXN0YXJ0LXNwYWNpbmcoXG4gICAgICAkbGVhZGluZzogMTZweCxcbiAgICAgICR0cmFpbGluZzogMzJweCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1wcmltYXJ5LWJhc2VsaW5lKDMycHgsIDIwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1vdmVybGluZS1iYXNlbGluZSgyOHB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tbWV0YS1iYXNlbGluZSgkdG9wOiAzMnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiR0d28tbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLXRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zcGFjaW5nKDE2cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpdGVtLXN0YXJ0LXNpemUoNDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLXByaW1hcnktYmFzZWxpbmUoMzJweCwgMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLW92ZXJsaW5lLWJhc2VsaW5lKDI4cHgsIDIwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1tZXRhLWJhc2VsaW5lKCR0b3A6IDMycHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfb25lLWxpbmUtaXRlbS10YWxsLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS10YWxsLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaW1hZ2Uge1xuICAgIEBpbmNsdWRlIGl0ZW0tc3RhcnQtc3BhY2luZygxNnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zaXplKDU2cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1wcmltYXJ5LWJhc2VsaW5lKDMycHgsIDIwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1vdmVybGluZS1iYXNlbGluZSgyOHB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tbWV0YS1iYXNlbGluZSgkdG9wOiAzMnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tdGFsbGVyLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS10YWxsLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctdmlkZW8ge1xuICAgIEBpbmNsdWRlIHR3by1saW5lLWl0ZW0tc3RhcnQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6IDhweCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBpdGVtLXN0YXJ0LXNwYWNpbmcoJGxlYWRpbmc6IDAsICR0cmFpbGluZzogMTZweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGl0ZW0tc3RhcnQtc2l6ZSgkd2lkdGg6IDEwMHB4LCAkaGVpZ2h0OiA1NnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tcHJpbWFyeS1iYXNlbGluZSgzMnB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tb3ZlcmxpbmUtYmFzZWxpbmUoMjhweCwgMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLW1ldGEtYmFzZWxpbmUoJHRvcDogMzJweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF9vbmUtbGluZS1pdGVtLXRhbGxlci1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAgICAgdmFyaWFibGVzLiR0d28tbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWNoZWNrYm94IHtcbiAgICAkbGVhZGluZzogYWJzb3JiLW92ZXJmbG93KDE2cHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuICAgICR0cmFpbGluZzogYWJzb3JiLW92ZXJmbG93KDMycHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuICAgICR0b3A6IGFic29yYi1vdmVyZmxvdygxNnB4LCAkYWN0dWFsOiA0MHB4LCAkYXZhaWxhYmxlOiAyNHB4KTtcblxuICAgIEBpbmNsdWRlIGl0ZW0tc3RhcnQtc3BhY2luZygkbGVhZGluZywgJHRyYWlsaW5nLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zaXplKDQwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0d28tbGluZS1pdGVtLXN0YXJ0LWFsaWdubWVudChcbiAgICAgICRhbGlnbm1lbnQ6IGZsZXgtc3RhcnQsXG4gICAgICAkb2Zmc2V0OiAkdG9wLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLXByaW1hcnktYmFzZWxpbmUoMzJweCwgMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLW92ZXJsaW5lLWJhc2VsaW5lKDI4cHgsIDIwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1tZXRhLWJhc2VsaW5lKCR0b3A6IDMycHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfb25lLWxpbmUtaXRlbS10YWxsLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS10YWxsLWRlbnNpdHkoXG4gICAgICB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctcmFkaW8ge1xuICAgICRsZWFkaW5nOiBhYnNvcmItb3ZlcmZsb3coMTZweCwgJGFjdHVhbDogNDBweCwgJGF2YWlsYWJsZTogMjRweCk7XG4gICAgJHRyYWlsaW5nOiBhYnNvcmItb3ZlcmZsb3coMzJweCwgJGFjdHVhbDogNDBweCwgJGF2YWlsYWJsZTogMjRweCk7XG4gICAgJHRvcDogYWJzb3JiLW92ZXJmbG93KDE2cHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuXG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zcGFjaW5nKCRsZWFkaW5nLCAkdHJhaWxpbmcsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpdGVtLXN0YXJ0LXNpemUoNDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR3by1saW5lLWl0ZW0tc3RhcnQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6ICR0b3AsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tcHJpbWFyeS1iYXNlbGluZSgzMnB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tb3ZlcmxpbmUtYmFzZWxpbmUoMjhweCwgMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLW1ldGEtYmFzZWxpbmUoJHRvcDogMzJweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF9vbmUtbGluZS1pdGVtLXRhbGwtZGVuc2l0eShcbiAgICAgIHZhcmlhYmxlcy4kb25lLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLXRhbGwtZGVuc2l0eShcbiAgICAgIHZhcmlhYmxlcy4kdHdvLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1zd2l0Y2gge1xuICAgIEBpbmNsdWRlIGl0ZW0tc3RhcnQtc3BhY2luZygxNnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1zdGFydC1zaXplKCR3aWR0aDogMzZweCwgJGhlaWdodDogMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR3by1saW5lLWl0ZW0tc3RhcnQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6IDE2cHgsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tcHJpbWFyeS1iYXNlbGluZSgzMnB4LCAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3R3by1saW5lLWl0ZW0tb3ZlcmxpbmUtYmFzZWxpbmUoMjhweCwgMjBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLW1ldGEtYmFzZWxpbmUoJHRvcDogMzJweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF9vbmUtbGluZS1pdGVtLXRhbGwtZGVuc2l0eShcbiAgICAgIHZhcmlhYmxlcy4kb25lLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLXRhbGwtZGVuc2l0eShcbiAgICAgIHZhcmlhYmxlcy4kdHdvLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctaWNvbiB7XG4gICAgQGluY2x1ZGUgaXRlbS1lbmQtc3BhY2luZygxNnB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1lbmQtc2l6ZSgyNHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1tZXRhIHtcbiAgICBAaW5jbHVkZSB0d28tbGluZS1pdGVtLWVuZC1hbGlnbm1lbnQoZmxleC1zdGFydCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRocmVlLWxpbmUtaXRlbS1lbmQtYWxpZ25tZW50KGZsZXgtc3RhcnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpdGVtLWVuZC1zcGFjaW5nKCRsZWFkaW5nOiAyOHB4LCAkdHJhaWxpbmc6IDE2cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1lbmQtYmFzZWxpbmUoJHRvcDogMjhweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90aHJlZS1saW5lLWl0ZW0tZW5kLWJhc2VsaW5lKCR0b3A6IDI4cHgsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC5tZGMtbGlzdC1pdGVtX19lbmQge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50eXBvZ3JhcGh5KGNhcHRpb24sICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctY2hlY2tib3gge1xuICAgICRsZWFkaW5nOiBhYnNvcmItb3ZlcmZsb3coMzJweCwgJGFjdHVhbDogNDBweCwgJGF2YWlsYWJsZTogMjRweCk7XG4gICAgJHRyYWlsaW5nOiBhYnNvcmItb3ZlcmZsb3coMTZweCwgJGFjdHVhbDogNDBweCwgJGF2YWlsYWJsZTogMjRweCk7XG4gICAgJHRvcDogYWJzb3JiLW92ZXJmbG93KDE2cHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuXG4gICAgQGluY2x1ZGUgaXRlbS1lbmQtc3BhY2luZygkbGVhZGluZywgJHRyYWlsaW5nLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1lbmQtc2l6ZSg0MHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdGhyZWUtbGluZS1pdGVtLWVuZC1hbGlnbm1lbnQoXG4gICAgICAkYWxpZ25tZW50OiBmbGV4LXN0YXJ0LFxuICAgICAgJG9mZnNldDogJHRvcCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLXRyYWlsaW5nLXJhZGlvIHtcbiAgICAkbGVhZGluZzogYWJzb3JiLW92ZXJmbG93KDMycHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuICAgICR0cmFpbGluZzogYWJzb3JiLW92ZXJmbG93KDE2cHgsICRhY3R1YWw6IDQwcHgsICRhdmFpbGFibGU6IDI0cHgpO1xuICAgICR0b3A6IGFic29yYi1vdmVyZmxvdygxNnB4LCAkYWN0dWFsOiA0MHB4LCAkYXZhaWxhYmxlOiAyNHB4KTtcblxuICAgIEBpbmNsdWRlIGl0ZW0tZW5kLXNwYWNpbmcoJGxlYWRpbmcsICR0cmFpbGluZywgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGl0ZW0tZW5kLXNpemUoNDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRocmVlLWxpbmUtaXRlbS1lbmQtYWxpZ25tZW50KFxuICAgICAgJGFsaWdubWVudDogZmxleC1zdGFydCxcbiAgICAgICRvZmZzZXQ6ICR0b3AsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1zd2l0Y2gge1xuICAgIEBpbmNsdWRlIGl0ZW0tZW5kLXNwYWNpbmcoMTZweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGl0ZW0tZW5kLXNpemUoJHdpZHRoOiAzNnB4LCAkaGVpZ2h0OiAyMHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdGhyZWUtbGluZS1pdGVtLWVuZC1hbGlnbm1lbnQoXG4gICAgICAkYWxpZ25tZW50OiBmbGV4LXN0YXJ0LFxuICAgICAgJG9mZnNldDogMTZweCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLW92ZXJsaW5lIHtcbiAgICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1wcmltYXJ5LWJhc2VsaW5lKDIwcHgsIDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF90aHJlZS1saW5lLWl0ZW0tcHJpbWFyeS1iYXNlbGluZSgyMHB4LCAwcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIFRoaXMgbXVzdCBiZSBzcGVjaWZpZWQgbGFzdCB0byBlbnN1cmUgdGhhdCBSVEwgcGFkZGluZyB0YWtlcyBwcmlvcml0eSBvdmVyXG4gIC8vIExUUiBwYWRkaW5nIGluIHRoZSBjYXNjYWRlLlxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgaXRlbS1zcGFjaW5nKDE2cHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vXG4gIC8vIEdyb3VwaW5nXG4gIC8vXG5cbiAgLm1kYy1saXN0LWdyb3VwIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gQ2FuY2VsIHRvcC9ib3R0b20gcGFkZGluZyBvbiBpbmRpdmlkdWFsIGxpc3RzIHdpdGhpbiBncm91cFxuICAgICAgLm1kYy1kZXByZWNhdGVkLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgICAkbWRjLWxpc3Qtc3ViaGVhZGVyLXZpcnR1YWwtaGVpZ2h0OiAzcmVtO1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZzogbWFwLmdldChcbiAgICAgIG1hcC5nZXQodHlwb2dyYXBoeS4kc3R5bGVzLCBib2R5MSksXG4gICAgICBsaW5lLWhlaWdodFxuICAgICk7XG4gICAgJG1kYy1saXN0LXN1YmhlYWRlci1tYXJnaW46IGNhbGMoXG4gICAgICAoI3skbWRjLWxpc3Qtc3ViaGVhZGVyLXZpcnR1YWwtaGVpZ2h0fSAtICN7JG1kYy1saXN0LXN1YmhlYWRlci1sZWFkaW5nfSkgL1xuICAgICAgICAyXG4gICAgKTtcblxuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbjogJG1kYy1saXN0LXN1YmhlYWRlci1tYXJnaW4gdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gRGl2aWRlcnNcbiAgLy9cblxuICAkZGl2aWRlci1jb2xvcjogaWYoXG4gICAgdGhlbWUtY29sb3IudG9uZSh0aGVtZS1jb2xvci4kYmFja2dyb3VuZCkgPT0gJ2RhcmsnLFxuICAgIHZhcmlhYmxlcy4kZGl2aWRlci1jb2xvci1vbi1kYXJrLWJnLFxuICAgIHZhcmlhYmxlcy4kZGl2aWRlci1jb2xvci1vbi1saWdodC1iZ1xuICApO1xuXG4gIEBpbmNsdWRlIGRpdmlkZXItY29sb3IoJGRpdmlkZXItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGl2aWRlci1oZWlnaHQoMXB4LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAvLyBBbGxvd3MgdGhlIHVzZSBvZiBwYWRkaW5nIHRvIHNwZWNpZnkgbGVhZGluZyBhbmQgdHJhaWxpbmcgaW5zZXRzXG4gICAgICAvLyBpbmRlcGVuZGVudGx5LlxuICAgICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgYmFzZSBpbnNldCB2YXJpYW50IGNvcnJlc3BvbmRzIHRvIHRoZSBpdGVtJ3MgcGFkZGluZy5cbiAgLm1kYy1saXN0LWRpdmlkZXIsXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS13aXRoLWxlYWRpbmctdGV4dCxcbiAgLm1kYy1saXN0LWRpdmlkZXItLXdpdGgtbGVhZGluZy1pY29uLFxuICAubWRjLWxpc3QtZGl2aWRlci0td2l0aC1sZWFkaW5nLWltYWdlLFxuICAubWRjLWxpc3QtZGl2aWRlci0td2l0aC1sZWFkaW5nLXRodW1ibmFpbCxcbiAgLm1kYy1saXN0LWRpdmlkZXItLXdpdGgtbGVhZGluZy1hdmF0YXIsXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS13aXRoLWxlYWRpbmctY2hlY2tib3gsXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS13aXRoLWxlYWRpbmctc3dpdGNoLFxuICAubWRjLWxpc3QtZGl2aWRlci0td2l0aC1sZWFkaW5nLXJhZGlvIHtcbiAgICBAaW5jbHVkZSBkaXZpZGVyLWxlYWRpbmctaW5zZXQoMTZweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpdmlkZXItdHJhaWxpbmctaW5zZXQoMTZweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1saXN0LWRpdmlkZXItLXdpdGgtbGVhZGluZy12aWRlbyB7XG4gICAgQGluY2x1ZGUgZGl2aWRlci1sZWFkaW5nLWluc2V0KDBweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoYXQgZGVmYXVsdCBwYWRkaW5nIGlzbid0IGFwcGxpZWQgaW4gUlRMIGxvY2FsZXMuXG4gIC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLnJ0bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB3aXRoLXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHJpcHBsZS5jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgX2l0ZW0taW50ZXJhY3RpdmUtcmlwcGxlKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS5zdXJmYWNlKFxuICAgICAgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSByaXBwbGUucmFkaXVzLWJvdW5kZWQoXG4gICAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIHJpcHBsZS10aGVtZS5zdGF0ZXMtYmFzZS1jb2xvcihcbiAgICAgIHRoZW1lLWNvbG9yLnByb3AtdmFsdWUob24tc3VyZmFjZSksXG4gICAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIHJpcHBsZS10aGVtZS5zdGF0ZXMtZm9jdXMtb3BhY2l0eShcbiAgICAgIHJpcHBsZS10aGVtZS5zdGF0ZXMtb3BhY2l0eShwcmltYXJ5LCBmb2N1cyksXG4gICAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuXG4gICAgI3t2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXR9IHtcbiAgICAgIEBpbmNsdWRlIHJpcHBsZS50YXJnZXQtY29tbW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gQWRqdXN0cyBhbiBvZmZzZXQgKGkuZS4sIG1hcmdpbikgdG8gYWNjb21vZGF0ZSBjb250ZW50cyB0aGF0IGFyZSBsYXJnZXIgdGhhblxuLy8vIHRoZSBzcGFjZSBhbGxvY2F0ZWQgYnkgdGhlIHNwZWNpZmljYXRpb24uXG4vLy9cbi8vLyBGb3IgaW5zdGFuY2UsIHRoZSBzcGVjaWZpY2F0aW9uIHByb3ZpZGVzIDI0eDI0ZHAgZm9yIGEgY2hlY2tib3ggd2l0aCBhIDE2ZHBcbi8vLyBtYXJnaW4uIEhvd2V2ZXIsIGNoZWNrYm94ZXMgYXJlIGFjdHVhbGx5IDQweDQwZHAuIFRvIGVuc3VyZSB0aGF0IHRoZVxuLy8vIGNoZWNrYm94IGlzIHBvc2l0aW9uZWQgY29ycmVjdGx5LCB0aGUgbWFyZ2luIGlzIHJlZHVjZWQgYnkgOGRwIHRvIHJlZmxlY3Rcbi8vLyB0aGF0IHRoZSBtYXJnaW4gaXMgYWxyZWFkeSBcImJha2VkIGludG9cIiB0aGUgY2hlY2tib3guXG4vLy9cbi8vLyBDb25jcmV0ZWx5LCA0MGRwIC0gMjRkcCA9IDE2ZHAuIEFzc3VtaW5nIHRoYXQgdGhlIGNvbnRyb2wgaXMgc3ltbWV0cmljYWwsXG4vLy8gaGFsZiBvZiB0aGUgb3ZlcmZsb3cgKDhkcCkgaXMgb24gdGhlIGxlYWRpbmcgc2lkZSBhbmQgaGFsZiBvbiB0aGUgdHJhaWxpbmdcbi8vLyBzaWRlLiBUaGVyZWZvcmUsIHRoZSBsZWFkaW5nIGFuZCB0cmFpbGluZyBtYXJnaW5zIGFyZSByZWR1Y2VkIGJ5IDhkcC5cbi8vL1xuLy8vIE5vdGU6IHRoaXMgbWlnaHQgYmUgbW9yZSB1c2VmdWwgaWYgaXQncyBhZGRlZCBpbnRvIHRoZSBsZWFkaW5nL3RyYWlsaW5nXG4vLy8gbWFyZ2luIG1peGlucyBhcyBhIHBhcmFtZXRlci5cbi8vL1xuQGZ1bmN0aW9uIGFic29yYi1vdmVyZmxvdygkb2Zmc2V0LCAkYWN0dWFsLCAkYXZhaWxhYmxlLCAkc3ltbWV0cmljOiB0cnVlKSB7XG4gIEBpZiAkYWN0dWFsIDw9ICRhdmFpbGFibGUge1xuICAgIEByZXR1cm4gJG9mZnNldDtcbiAgfVxuICAkb3ZlcmZsb3c6ICRhY3R1YWwgLSAkYXZhaWxhYmxlO1xuICBAcmV0dXJuICRvZmZzZXQgLSBtYXRoLmRpdigkb3ZlcmZsb3csIGlmKCRzeW1tZXRyaWMsIDIsIDEpKTtcbn1cblxuQG1peGluIG9uZS1saW5lLWl0ZW0taGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHdvLWxpbmUtaXRlbS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuQG1peGluIHRocmVlLWxpbmUtaXRlbS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0taGVpZ2h0KCRoZWlnaHQpIHtcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lLFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzLFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1zcGFjaW5nKFxuICAkbGVhZGluZyxcbiAgJHRyYWlsaW5nOiAkbGVhZGluZyxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkbGVhZGluZywgJHRyYWlsaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gb25lLWxpbmUtaXRlbS1zdGFydC1hbGlnbm1lbnQoXG4gICRhbGlnbm1lbnQsXG4gICRvZmZzZXQ6IDAsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmUge1xuICAgIC5tZGMtbGlzdC1pdGVtX19zdGFydCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBhbGlnbi1zZWxmOiAkYWxpZ25tZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAkb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHdvLWxpbmUtaXRlbS1zdGFydC1hbGlnbm1lbnQoXG4gICRhbGlnbm1lbnQsXG4gICRvZmZzZXQ6IDAsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fc3RhcnQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgYWxpZ24tc2VsZjogJGFsaWdubWVudDtcbiAgICAgICAgbWFyZ2luLXRvcDogJG9mZnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRocmVlLWxpbmUtaXRlbS1zdGFydC1hbGlnbm1lbnQoXG4gICRhbGlnbm1lbnQsXG4gICRvZmZzZXQ6IDAsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMge1xuICAgIC5tZGMtbGlzdC1pdGVtX19zdGFydCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBhbGlnbi1zZWxmOiAkYWxpZ25tZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAkb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb25lLWxpbmUtaXRlbS1lbmQtYWxpZ25tZW50KFxuICAkYWxpZ25tZW50LFxuICAkb2Zmc2V0OiAwLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGFsaWduLXNlbGY6ICRhbGlnbm1lbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRvZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0d28tbGluZS1pdGVtLWVuZC1hbGlnbm1lbnQoXG4gICRhbGlnbm1lbnQsXG4gICRvZmZzZXQ6IDAsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGFsaWduLXNlbGY6ICRhbGlnbm1lbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRvZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aHJlZS1saW5lLWl0ZW0tZW5kLWFsaWdubWVudChcbiAgJGFsaWdubWVudCxcbiAgJG9mZnNldDogMCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICYubWRjLWxpc3QtaXRlbS0td2l0aC10aHJlZS1saW5lcyB7XG4gICAgLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBhbGlnbi1zZWxmOiAkYWxpZ25tZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAkb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1zdGFydC1zcGFjaW5nKFxuICAkbGVhZGluZyxcbiAgJHRyYWlsaW5nOiAkbGVhZGluZyxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLy8gRXh0cmEgc3BlY2lmaWNpdHkgbmVlZGVkIHRvIG92ZXJyaWRlIGRlZmF1bHQgY3VzdG9taXphdGlvbnMuXG4gICAgJi5tZGMtbGlzdC1pdGVtIHtcbiAgICAgIC8vIFdlIHJlbHkgb24gYXV0byB0byBhdm9pZCBjbG9iYmVyaW5nIHRoZSBvcHBvc2l0ZSBwYWRkaW5nLlxuICAgICAgQGluY2x1ZGUgcnRsLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAwLCBhdXRvKTtcbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbV9fc3RhcnQge1xuICAgICAgQGluY2x1ZGUgcnRsLnJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sICRsZWFkaW5nLCAkdHJhaWxpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1lbmQtc3BhY2luZyhcbiAgJGxlYWRpbmcsXG4gICR0cmFpbGluZzogJGxlYWRpbmcsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEV4dHJhIHNwZWNpZmljaXR5IG5lZWRlZCB0byBvdmVycmlkZSBkZWZhdWx0IGN1c3RvbWl6YXRpb25zLlxuICAgICYubWRjLWxpc3QtaXRlbSB7XG4gICAgICAvLyBXZSByZWx5IG9uIGF1dG8gdG8gYXZvaWQgY2xvYmJlcmluZyB0aGUgb3Bwb3NpdGUgcGFkZGluZy5cbiAgICAgIEBpbmNsdWRlIHJ0bC5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgYXV0bywgMCk7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgICBAaW5jbHVkZSBydGwucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgJGxlYWRpbmcsICR0cmFpbGluZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLXN0YXJ0LXNpemUoXG4gICR3aWR0aCxcbiAgJGhlaWdodDogJHdpZHRoLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fc3RhcnQge1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tZW5kLXNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0tc2VsZWN0ZWQtY29udGFpbmVyLWNvbG9yKCRjb2xvcikge1xuICAmLm1kYy1saXN0LWl0ZW0ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGxpc3QtcHJpbWFyeS10ZXh0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHktdGhlbWUpIHtcbiAgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50aGVtZS1zdHlsZXMoJHR5cG9ncmFwaHktdGhlbWUpO1xuICB9XG59XG5cbkBtaXhpbiBsaXN0LXByaW1hcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LXNlY29uZGFyeS10ZXh0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHktdGhlbWUpIHtcbiAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LnRoZW1lLXN0eWxlcygkdHlwb2dyYXBoeS10aGVtZSk7XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtb3ZlcmxpbmUtdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19vdmVybGluZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS5wcm9wZXJ0eShjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3QtbWV0YS10ZXh0LWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWljb24taW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1saXN0LWl0ZW1fX3N0YXJ0LFxuICAubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtbGlzdC1pdGVtX19lbmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1pY29uLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWxpc3QtaXRlbV9fc3RhcnQsXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtc2VsZWN0ZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIEBpbmNsdWRlIGxpc3QtcHJpbWFyeS10ZXh0LWluay1jb2xvcigkY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX2l0ZW0taWNvbi1pbmstY29sb3IoJGNvbG9yLCAkbGVhZGluZy1vbmx5OiB0cnVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtc2VsZWN0ZWQtbWV0YS10ZXh0LWluay1jb2xvcihcbiAgJGNvbG9yLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLFxuICAubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkIHtcbiAgICBAaW5jbHVkZSBsaXN0LW1ldGEtdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBsaXN0LWRpc2FibGVkLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBsaXN0LXByaW1hcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGxpc3Qtc2Vjb25kYXJ5LXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBsaXN0LW92ZXJsaW5lLXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfaXRlbS1pY29uLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpdGVtLW1ldGEtdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBsaXN0LWRpc2FibGVkLW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fc3RhcnQsXG4gICAgLm1kYy1saXN0LWl0ZW1fX2NvbnRlbnQsXG4gICAgLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JvdXAtc3ViaGVhZGVyLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kZXByZWNhdGVkLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgc2hhcGUgcmFkaXVzIChyb3VuZGVkKSB0byBzaW5nbGUgbGluZSBsaXN0IHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IExpc3Q8TnVtYmVyPn0gJHJhZGl1cyBSYWRpdXMgc2l6ZSBpbiBgcHhgIG9yIHBlcmNlbnRhZ2UuIEl0IGNhbiBiZSA0IHZhbHVlIGNvcm5lciBvciBzaW5nbGUgcmFkaXVzLlxuLy8vICAgICBTZXQgdG8gYDUwJWAgZm9yIHJvdW5kZWQgc2hhcGUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcnRsLXJlZmxleGl2ZSBTZXQgdG8gdHJ1ZSB0byBmbGlwIGJvcmRlciByYWRpdXMgaW4gUlRMIGNvbnRleHQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZW5zaXR5LXNjYWxlIERlbnNpdHkgc2NhbGUgb2Ygc2luZ2xlIGxpbmUgbGlzdC4gU2V0IHRoaXMgb25seSB3aGVuIGN1c3RvbSBkZW5zaXR5IGlzIGFwcGxpZWQuXG4vLy8gICAgIERlZmF1bHRzIHRvIGAkbWRjLWRlcHJlY2F0ZWQtbGlzdC1zaW5nbGUtbGluZS1kZW5zaXR5LXNjYWxlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBvbmUtbGluZS1saXN0LXJhZGl1cyhcbiAgJHJhZGl1cyxcbiAgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLFxuICAkZGVuc2l0eS1zY2FsZTogdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAubWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZSB7XG4gICAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cyhcbiAgICAgICRyYWRpdXMsXG4gICAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAgICRjb21wb25lbnQtaGVpZ2h0OlxuICAgICAgICBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICAgICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLWRlbnNpdHktY29uZmlnLFxuICAgICAgICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAgICAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0XG4gICAgICAgICksXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1hdmF0YXIsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbixcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy10aHVtYm5haWwsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctY2hlY2tib3gsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctcmFkaW8sXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctc3dpdGNoIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoXG4gICAgICAgICRyYWRpdXMsXG4gICAgICAgICRydGwtcmVmbGV4aXZlLFxuICAgICAgICAkY29tcG9uZW50LWhlaWdodDpcbiAgICAgICAgICBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICAgICAgICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5LWNvbmZpZyxcbiAgICAgICAgICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAgICAgICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHRcbiAgICAgICAgICApLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pbWFnZSxcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy12aWRlbyB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKFxuICAgICAgICAkcmFkaXVzLFxuICAgICAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAgICAgJGNvbXBvbmVudC1oZWlnaHQ6XG4gICAgICAgICAgZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAgICAgICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLXRhbGxlci1kZW5zaXR5LWNvbmZpZyxcbiAgICAgICAgICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAgICAgICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHRcbiAgICAgICAgICApLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHR3by1saW5lLWxpc3QtcmFkaXVzKFxuICAkcmFkaXVzLFxuICAkcnRsLXJlZmxleGl2ZTogZmFsc2UsXG4gICRkZW5zaXR5LXNjYWxlOiB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLXR3by1saW5lcyB7XG4gICAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cyhcbiAgICAgICRyYWRpdXMsXG4gICAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAgICRjb21wb25lbnQtaGVpZ2h0OlxuICAgICAgICBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICAgICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiR0d28tbGluZS1pdGVtLWRlbnNpdHktY29uZmlnLFxuICAgICAgICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAgICAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0XG4gICAgICAgICksXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1hdmF0YXIsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbixcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy10aHVtYm5haWwsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctY2hlY2tib3gsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctcmFkaW8sXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctc3dpdGNoLFxuICAgICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWltYWdlLFxuICAgICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLXZpZGVvIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoXG4gICAgICAgICRyYWRpdXMsXG4gICAgICAgICRydGwtcmVmbGV4aXZlLFxuICAgICAgICAkY29tcG9uZW50LWhlaWdodDpcbiAgICAgICAgICBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICAgICAgICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5LWNvbmZpZyxcbiAgICAgICAgICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAgICAgICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHRcbiAgICAgICAgICApLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRocmVlLWxpbmUtbGlzdC1yYWRpdXMoXG4gICRyYWRpdXMsXG4gICRydGwtcmVmbGV4aXZlOiBmYWxzZSxcbiAgJGRlbnNpdHktc2NhbGU6IHZhcmlhYmxlcy4kdGhyZWUtbGluZS1pdGVtLWRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAubWRjLWxpc3QtaXRlbS0td2l0aC10aHJlZS1saW5lcyB7XG4gICAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cyhcbiAgICAgICRyYWRpdXMsXG4gICAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAgICRjb21wb25lbnQtaGVpZ2h0OlxuICAgICAgICBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICAgICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiR0aHJlZS1saW5lLWl0ZW0tZGVuc2l0eS1jb25maWcsXG4gICAgICAgICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICAgICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHRcbiAgICAgICAgKSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxufVxuXG5AbWl4aW4gZGl2aWRlci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXZpZGVyLWhlaWdodCgkaGVpZ2h0LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS5wcm9wZXJ0eShoZWlnaHQsICRoZWlnaHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGl2aWRlci1sZWFkaW5nLWluc2V0KCRpbnNldCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAmLm1kYy1saXN0LWRpdmlkZXItLXdpdGgtbGVhZGluZy1pbnNldCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFdlIHJlbHkgb24gYXV0byB0byBhdm9pZCBjbG9iYmVyaW5nIHRoZSBvcHBvc2l0ZSBwYWRkaW5nLlxuICAgICAgQGluY2x1ZGUgcnRsLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkaW5zZXQsIGF1dG8pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGl2aWRlci10cmFpbGluZy1pbnNldCgkaW5zZXQsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJi5tZGMtbGlzdC1kaXZpZGVyLS13aXRoLXRyYWlsaW5nLWluc2V0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gV2UgcmVseSBvbiBhdXRvIHRvIGF2b2lkIGNsb2JiZXJpbmcgdGhlIG9wcG9zaXRlIHBhZGRpbmcuXG4gICAgICBAaW5jbHVkZSBydGwucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIGF1dG8sICRpbnNldCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBwdWJsaWMgZGVuc2l0eSBtaXhpbnMgYXBwbHkgdGhlIGFwcHJvcHJpYXRlIGRlbnNpdHkgc3R5bGVzIHJlZ2FyZGxlc3Mgb2Zcbi8vIHRoZSBpdGVtJ3Mgc3RhcnQgY29udGVudHMuXG5AbWl4aW4gb25lLWxpbmUtaXRlbS1kZW5zaXR5KFxuICAkZGVuc2l0eS1zY2FsZSxcbiAgJGV4Y2x1ZGUtdmFyaWFudHM6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpZiBub3QgJGV4Y2x1ZGUtdmFyaWFudHMge1xuICAgICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWF2YXRhcixcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pY29uLFxuICAgICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLXRodW1ibmFpbCxcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1jaGVja2JveCxcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1yYWRpbyxcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1zd2l0Y2gge1xuICAgICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaW1hZ2UsXG4gICAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctdmlkZW8ge1xuICAgICAgQGluY2x1ZGUgX29uZS1saW5lLWl0ZW0tdGFsbGVyLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHR3by1saW5lLWl0ZW0tZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICBAaW5jbHVkZSBfdHdvLWxpbmUtaXRlbS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctYXZhdGFyLFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pY29uLFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy10aHVtYm5haWwsXG4gICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWNoZWNrYm94LFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1yYWRpbyxcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctc3dpdGNoLFxuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pbWFnZSxcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctdmlkZW8ge1xuICAgIEBpbmNsdWRlIF90d28tbGluZS1pdGVtLXRhbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiB0aHJlZS1saW5lLWl0ZW0tZGVuc2l0eShcbiAgJGRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICBAaW5jbHVkZSBfdGhyZWUtbGluZS1pdGVtLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbi8vIFRoZSBwcml2YXRlIGRlbnNpdHkgbWl4aW5zIGFsbG93IGRlbnNpdHkgcHJvcGVydGllcyB0byBiZSBvdmVycmlkZGVuXG4vLyBpbmRpdmlkdWFsbHkgdG8gYXZvaWQgaW5jcmVhc2luZyBzcGVjaWZpY2l0eS5cbkBtaXhpbiBfb25lLWxpbmUtaXRlbS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgb25lLWxpbmUtaXRlbS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gX29uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5KFxuICAkZGVuc2l0eS1zY2FsZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJG9uZS1saW5lLWl0ZW0tdGFsbC1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSBvbmUtbGluZS1pdGVtLWhlaWdodCgkaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbkBtaXhpbiBfb25lLWxpbmUtaXRlbS10YWxsZXItZGVuc2l0eShcbiAgJGRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRvbmUtbGluZS1pdGVtLXRhbGxlci1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSBvbmUtbGluZS1pdGVtLWhlaWdodCgkaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbkBtaXhpbiBfdHdvLWxpbmUtaXRlbS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHR3by1saW5lLWl0ZW0tZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgdHdvLWxpbmUtaXRlbS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpZiAoJGRlbnNpdHktc2NhbGUgYW5kICRkZW5zaXR5LXNjYWxlICE9IDApIHtcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAgIC5tZGMtbGlzdC1pdGVtX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0LFxuICAgICAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90d28tbGluZS1pdGVtLXRhbGwtZGVuc2l0eShcbiAgJGRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiR0d28tbGluZS1pdGVtLXRhbGwtZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgdHdvLWxpbmUtaXRlbS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gX3RocmVlLWxpbmUtaXRlbS1kZW5zaXR5KFxuICAkZGVuc2l0eS1zY2FsZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHRocmVlLWxpbmUtaXRlbS1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSB0aHJlZS1saW5lLWl0ZW0taGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuQG1peGluIGxpc3QtYmFzZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBtb2NrcyBhbmQgc3RpY2tlcnNoZWV0LCB0aGUgbGluZS1oZWlnaHQgaXNcbiAgICAvLyBhZGp1c3RlZCB0byAyNHB4IGZvciB0ZXh0IGNvbnRlbnQsIHNhbWUgYXMgZm9yIGJvZHkxLlxuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBsaW5lLWhlaWdodDogbWFwLmdldChtYXAuZ2V0KHR5cG9ncmFwaHkuJHN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XG4gIH1cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgJjpmb2N1cyAvLyBsaW50LWRpc2FibGUtZm9jdXMtcHN1ZWRvLXNlbGVjdG9yXG4gICAge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tYmFzZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyAvLyBsaW50LWRpc2FibGUtZm9jdXMtcHN1ZWRvLXNlbGVjdG9yXG4gICAge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9pdGVtLWludGVyYWN0aXZlLXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHJpcHBsZS5zdXJmYWNlKFxuICAgICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgcmlwcGxlLnJhZGl1cy1ib3VuZGVkKFxuICAgICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgcmlwcGxlLXRoZW1lLnN0YXRlcyhcbiAgICB0aGVtZS1jb2xvci5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLFxuICAgIGZhbHNlLFxuICAgICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgcmlwcGxlLXRoZW1lLnN0YXRlcy1hY3RpdmF0ZWQoXG4gICAgcHJpbWFyeSxcbiAgICBmYWxzZSxcbiAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG4gIEBpbmNsdWRlIHJpcHBsZS10aGVtZS5zdGF0ZXMtc2VsZWN0ZWQoXG4gICAgcHJpbWFyeSxcbiAgICBmYWxzZSxcbiAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG5cbiAgI3t2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIF90d28tbGluZS1pdGVtLXByaW1hcnktYmFzZWxpbmUoXG4gICR0b3AsXG4gICRib3R0b20sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudGV4dC1iYXNlbGluZShcbiAgICAgICAgJHRvcDogJHRvcCxcbiAgICAgICAgJGJvdHRvbTogJGJvdHRvbSxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfdGhyZWUtbGluZS1pdGVtLXByaW1hcnktYmFzZWxpbmUoXG4gICR0b3AsXG4gICRib3R0b20sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMge1xuICAgIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50ZXh0LWJhc2VsaW5lKFxuICAgICAgICAkdG9wOiAkdG9wLFxuICAgICAgICAkYm90dG9tOiAkYm90dG9tLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90d28tbGluZS1pdGVtLW92ZXJsaW5lLWJhc2VsaW5lKFxuICAkdG9wLFxuICAkYm90dG9tLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLXR3by1saW5lcyB7XG4gICAgLm1kYy1saXN0LWl0ZW1fX292ZXJsaW5lLXRleHQge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50ZXh0LWJhc2VsaW5lKFxuICAgICAgICAkdG9wOiAkdG9wLFxuICAgICAgICAkYm90dG9tOiAkYm90dG9tLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90aHJlZS1saW5lLWl0ZW0tb3ZlcmxpbmUtYmFzZWxpbmUoXG4gICR0b3AsXG4gICRib3R0b20sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKClcbikge1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdGhyZWUtbGluZXMge1xuICAgIC5tZGMtbGlzdC1pdGVtX19vdmVybGluZS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudGV4dC1iYXNlbGluZShcbiAgICAgICAgJHRvcDogJHRvcCxcbiAgICAgICAgJGJvdHRvbTogJGJvdHRvbSxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfdHdvLWxpbmUtaXRlbS1lbmQtYmFzZWxpbmUoJHRvcCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudGV4dC1iYXNlbGluZShcbiAgICAgICAgJGRpc3BsYXk6IGJsb2NrLFxuICAgICAgICAkdG9wOiAkdG9wLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90aHJlZS1saW5lLWl0ZW0tZW5kLWJhc2VsaW5lKCR0b3AsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJi5tZGMtbGlzdC1pdGVtLS13aXRoLXRocmVlLWxpbmVzIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkudGV4dC1iYXNlbGluZShcbiAgICAgICAgJGRpc3BsYXk6IGJsb2NrLFxuICAgICAgICAkdG9wOiAkdG9wLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90d28tbGluZS1pdGVtLW1ldGEtYmFzZWxpbmUoJHRvcCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHdvLWxpbmVzIHtcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctbWV0YSB7XG4gICAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50ZXh0LWJhc2VsaW5lKFxuICAgICAgICAgICRkaXNwbGF5OiBibG9jayxcbiAgICAgICAgICAkdG9wOiAkdG9wLFxuICAgICAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLW1ldGEtdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICYubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1tZXRhIHtcbiAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfaXRlbS1pY29uLWluay1jb2xvcihcbiAgJGNvbG9yLFxuICAkbGVhZGluZy1vbmx5OiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICYubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgIC5tZGMtbGlzdC1pdGVtX19zdGFydCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAobm90ICRsZWFkaW5nLW9ubHkpIHtcbiAgICAmLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctaWNvbiB7XG4gICAgICAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGNvbG9yLCAkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfaGlnaC1jb250cmFzdC1tb2RlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZG9tLW1peGlucy5mb3JjZWQtY29sb3JzLW1vZGUge1xuICAgIC5tZGMtbGlzdC1kaXZpZGVyOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgLy8gQ29sb3IgZW5zdXJlcyBib3JkZXIgaXMgc2hvd24sIGJ1dCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGJyb3dzZXIuXG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGJvcmRlci1ib3R0b20tY29sb3IsIHdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ0BtYXRlcmlhbC90aGVtZS90aGVtZScgYXMgbWRjLXRoZW1lO1xuXG5AdXNlICcuLi90aGVtaW5nL3RoZW1pbmcnO1xuQHVzZSAnLi4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkB1c2UgJy4uL21kYy1oZWxwZXJzL21kYy1oZWxwZXJzJztcblxuQG1peGluIGNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpbmNsdWRlIG1kYy1oZWxwZXJzLnVzaW5nLW1kYy10aGVtZSgkY29uZmlnKSB7XG4gICAgLm1hdC1tZGMtb3B0Z3JvdXAtbGFiZWwge1xuICAgICAgLy8gU2luY2UgdGhpcyB3aWxsIHVzdWFsbHkgYmUgcmVuZGVyZWQgaW4gYW4gb3ZlcmxheSxcbiAgICAgIC8vIHdlIGhhdmUgdG8gZXhwbGljaXRseSBzZXQgdGhlIGRlZmF1bHQgY29sb3IuXG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUucHJvcChjb2xvciwgdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IHR5cG9ncmFwaHkucHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKFxuICAgICAgdGhlbWluZy5nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSkpO1xufVxuXG5AbWl4aW4gZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiB0aGVtaW5nLmdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbn1cblxuQG1peGluIHRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiB0aGVtaW5nLnByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgdGhlbWluZy5wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IHRoZW1pbmcuZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IHRoZW1pbmcuZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vdGhlbWluZy90aGVtaW5nJztcblxuQG1peGluIGNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLmdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC5nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC5nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC5nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAuZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC8vIE5PVEUodHJhdmlza2F1Zm1hbik6IFdoaWxlIHRoZSBzcGVjIGNhbGxzIGZvciB0cmFuc2x1Y2VudCBibGFja3Mvd2hpdGVzIGZvciBkaXNhYmxlZCBjb2xvcnMsXG4gIC8vIHRoaXMgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGggZWxlbWVudHMgbGF5ZXJlZCBvbiB0b3Agb2Ygb25lIGFub3RoZXIuIFRvIGdldCBhcm91bmQgdGhpcyB3ZVxuICAvLyBibGVuZCB0aGUgY29sb3JzIHRvZ2V0aGVyIGJhc2VkIG9uIHRoZSBiYXNlIGNvbG9yIGFuZCB0aGUgdGhlbWUgYmFja2dyb3VuZC5cbiAgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyazogIzY4Njg2ODtcbiAgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQ6ICNiMGIwYjA7XG4gICRkaXNhYmxlZC1jb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcmssICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0KTtcbiAgJGNvbG9yZWQtYm94LXNlbGVjdG9yOiAnLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSc7XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gge1xuICAgIGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUobWFwLmdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKSwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZShtYXAuZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgdG8gdGhlIGFjY2VudCBjb2xvci4gTm90ZSB0aGF0IHRoZSBwc2V1ZG8gY2hlY2tib3hlcyBhcmUgbWVhbnQgdG8gaW5oZXJpdCB0aGVcbiAgLy8gdGhlbWUgZnJvbSB0aGVpciBwYXJlbnQsIHJhdGhlciB0aGFuIGltcGxlbWVudGluZyB0aGVpciBvd24gdGhlbWluZywgd2hpY2ggaXMgd2h5IHdlXG4gIC8vIGRvbid0IGF0dGFjaCB0byB0aGUgYG1hdC0qYCBjbGFzc2VzLiBBbHNvIG5vdGUgdGhhdCB0aGlzIG5lZWRzIHRvIGJlIGJlbG93IGAubWF0LXByaW1hcnlgXG4gIC8vIGluIG9yZGVyIHRvIGFsbG93IGZvciB0aGUgY29sb3IgdG8gYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIGNoZWNrYm94IGlzIGluc2lkZSBhIHBhcmVudCB0aGF0XG4gIC8vIGhhcyBgbWF0LWFjY2VudGAgYW5kIGlzIHBsYWNlZCBpbnNpZGUgYW5vdGhlciBwYXJlbnQgdGhhdCBoYXMgYG1hdC1wcmltYXJ5YC5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKG1hcC5nZXQoJGNvbmZpZywgYWNjZW50KSk7XG4gIH1cblxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZShtYXAuZ2V0KCRjb25maWcsIHdhcm4pKTtcbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgICYubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IHRoZW1pbmcucHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSB0aGVtaW5nLnByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IHRoZW1pbmcuZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IHRoZW1pbmcuZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX2RlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3RoZW1pbmcvdGhlbWluZyc7XG5AdXNlICcuL3N0eWxlL3ByaXZhdGUnO1xuQHVzZSAnLi9yaXBwbGUvcmlwcGxlLXRoZW1lJztcbkB1c2UgJy4vb3B0aW9uL29wdGlvbi10aGVtZSc7XG5AdXNlICcuL29wdGlvbi9vcHRncm91cC10aGVtZSc7XG5AdXNlICcuL3NlbGVjdGlvbi9wc2V1ZG8tY2hlY2tib3gvcHNldWRvLWNoZWNrYm94LXRoZW1lJztcbkB1c2UgJy4vc3R5bGUvZWxldmF0aW9uJztcbkB1c2UgJy4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuQG1peGluIGNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS10aGVtZS5jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgb3B0aW9uLXRoZW1lLmNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBvcHRncm91cC10aGVtZS5jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgcHNldWRvLWNoZWNrYm94LXRoZW1lLmNvbG9yKCRjb25maWcpO1xuXG4gIC8vIFdyYXBwZXIgZWxlbWVudCB0aGF0IHByb3ZpZGVzIHRoZSB0aGVtZSBiYWNrZ3JvdW5kIHdoZW4gdGhlIHVzZXIncyBjb250ZW50IGlzbid0XG4gIC8vIGluc2lkZSBvZiBhIGBtYXQtc2lkZW5hdi1jb250YWluZXJgLiBOb3RlIHRoYXQgd2UgbmVlZCB0byBleGNsdWRlIHRoZSBhbXBlcnNhbmRcbiAgLy8gc2VsZWN0b3IgaW4gY2FzZSB0aGUgbWl4aW4gaXMgaW5jbHVkZWQgYXQgdGhlIHRvcCBsZXZlbC5cbiAgLm1hdC1hcHAtYmFja2dyb3VuZCN7aWYoJiwgJywgJi5tYXQtYXBwLWJhY2tncm91bmQnLCAnJyl9IHtcbiAgICAkYmFja2dyb3VuZDogbWFwLmdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgICAkZm9yZWdyb3VuZDogbWFwLmdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAvLyBQcm92aWRlcyBleHRlcm5hbCBDU1MgY2xhc3NlcyBmb3IgZWFjaCBlbGV2YXRpb24gdmFsdWUuIEVhY2ggQ1NTIGNsYXNzIGlzIGZvcm1hdHRlZCBhc1xuICAvLyBgbWF0LWVsZXZhdGlvbi16JHpWYWx1ZWAgd2hlcmUgYCR6VmFsdWVgIGNvcnJlc3BvbmRzIHRvIHRoZSB6LXNwYWNlIHRvIHdoaWNoIHRoZSBlbGVtZW50IGlzXG4gIC8vIGVsZXZhdGVkLlxuICBAZm9yICR6VmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgICRzZWxlY3RvcjogZWxldmF0aW9uLiRwcmVmaXggKyAkelZhbHVlO1xuICAgIC8vIFdlIG5lZWQgdGhlIGBtYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpY2AsIGJlY2F1c2Ugc29tZSBNREMgbWl4aW5zXG4gICAgLy8gY29tZSB3aXRoIGVsZXZhdGlvbiBiYWtlZCBpbiBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHdheSBvZiByZW1vdmluZyBpdC5cbiAgICAuI3skc2VsZWN0b3J9LCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMuI3skc2VsZWN0b3J9IHtcbiAgICAgIEBpbmNsdWRlIHByaXZhdGUucHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFya2VyIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgdXNlciBoYXMgYWRkZWQgYSB0aGVtZSB0byB0aGVpciBwYWdlLlxuICBAYXQtcm9vdCB7XG4gICAgLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdHlwb2dyYXBoeS5wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxOC1jb25maWcoXG4gICAgICAgICAgdGhlbWluZy5nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSkpO1xuXG4gIEBpbmNsdWRlIG9wdGlvbi10aGVtZS50eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBvcHRncm91cC10aGVtZS50eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBwc2V1ZG8tY2hlY2tib3gtdGhlbWUudHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgLy8gVE9ETyhtbWFsZXJiYSk6IGFkZCB0eXBvZ3JhcGh5IG1peGluIGZvciB0aGlzLlxuICAvLyBAaW5jbHVkZSByaXBwbGUtdGhlbWUudHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuQG1peGluIGRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogdGhlbWluZy5nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgQGluY2x1ZGUgb3B0aW9uLXRoZW1lLmRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBvcHRncm91cC10aGVtZS5kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgLy8gVE9ETyhtbWFsZXJiYSk6IGFkZCBkZW5zaXR5IG1peGlucyBmb3IgdGhlc2UuXG4gIC8vIEBpbmNsdWRlIHJpcHBsZS10aGVtZS5kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgLy8gQGluY2x1ZGUgcHNldWRvLWNoZWNrYm94LXRoZW1lLmRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgdGhlbWUuXG5AbWl4aW4gdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IHRoZW1pbmcucHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAvLyBXcmFwIHRoZSBzdWItdGhlbWUgaW5jbHVkZXMgaW4gdGhlIGR1cGxpY2F0ZSB0aGVtZSBzdHlsZXMgbWl4aW4uIFRoaXMgZW5zdXJlcyB0aGF0XG4gIC8vIHRoZXJlIHdvbid0IGJlIG11bHRpcGxlIHdhcm5pbmdzLiBlLmcuIGlmIGBtYXQtY29yZS10aGVtZWAgcmVwb3J0cyBhIHdhcm5pbmcsIHRoZW5cbiAgLy8gdGhlIGltcG9ydGVkIHRoZW1lcyAoc3VjaCBhcyBgbWF0LXJpcHBsZS10aGVtZWApIHNob3VsZCBub3QgcmVwb3J0IGFnYWluLlxuICBAaW5jbHVkZSB0aGVtaW5nLnByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY29yZScpIHtcbiAgICAkY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiB0aGVtaW5nLmdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiB0aGVtaW5nLmdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIGRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuIC0tXG4vLyBTZWxlY3RvciAnLm1kYy0qJyBzaG91bGQgb25seSBiZSB1c2VkIGluIHRoaXMgcHJvamVjdC5cblxuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICdAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlcycgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS9jdXN0b20tcHJvcGVydGllcyc7XG5AdXNlICdAbWF0ZXJpYWwvYmFzZS9taXhpbnMnIGFzIGJhc2UtbWl4aW5zO1xuQHVzZSAnQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2ZlYXR1cmUtdGFyZ2V0aW5nJztcbkB1c2UgJ0BtYXRlcmlhbC9ydGwvcnRsJztcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS9jc3MnO1xuQHVzZSAnQG1hdGVyaWFsL3RoZW1lL3RoZW1lJztcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS90aGVtZS1jb2xvcic7XG5cbiRiYXNlbGluZS1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kdW1icmEtb3BhY2l0eTogMC4yICFkZWZhdWx0O1xuJHBlbnVtYnJhLW9wYWNpdHk6IDAuMTQgIWRlZmF1bHQ7XG4kYW1iaWVudC1vcGFjaXR5OiAwLjEyICFkZWZhdWx0O1xuXG4kdW1icmEtbWFwOiAoXG4gIDA6ICcwcHggMHB4IDBweCAwcHgnLFxuICAxOiAnMHB4IDJweCAxcHggLTFweCcsXG4gIDI6ICcwcHggM3B4IDFweCAtMnB4JyxcbiAgMzogJzBweCAzcHggM3B4IC0ycHgnLFxuICA0OiAnMHB4IDJweCA0cHggLTFweCcsXG4gIDU6ICcwcHggM3B4IDVweCAtMXB4JyxcbiAgNjogJzBweCAzcHggNXB4IC0xcHgnLFxuICA3OiAnMHB4IDRweCA1cHggLTJweCcsXG4gIDg6ICcwcHggNXB4IDVweCAtM3B4JyxcbiAgOTogJzBweCA1cHggNnB4IC0zcHgnLFxuICAxMDogJzBweCA2cHggNnB4IC0zcHgnLFxuICAxMTogJzBweCA2cHggN3B4IC00cHgnLFxuICAxMjogJzBweCA3cHggOHB4IC00cHgnLFxuICAxMzogJzBweCA3cHggOHB4IC00cHgnLFxuICAxNDogJzBweCA3cHggOXB4IC00cHgnLFxuICAxNTogJzBweCA4cHggOXB4IC01cHgnLFxuICAxNjogJzBweCA4cHggMTBweCAtNXB4JyxcbiAgMTc6ICcwcHggOHB4IDExcHggLTVweCcsXG4gIDE4OiAnMHB4IDlweCAxMXB4IC01cHgnLFxuICAxOTogJzBweCA5cHggMTJweCAtNnB4JyxcbiAgMjA6ICcwcHggMTBweCAxM3B4IC02cHgnLFxuICAyMTogJzBweCAxMHB4IDEzcHggLTZweCcsXG4gIDIyOiAnMHB4IDEwcHggMTRweCAtNnB4JyxcbiAgMjM6ICcwcHggMTFweCAxNHB4IC03cHgnLFxuICAyNDogJzBweCAxMXB4IDE1cHggLTdweCcsXG4pICFkZWZhdWx0O1xuXG4kcGVudW1icmEtbWFwOiAoXG4gIDA6ICcwcHggMHB4IDBweCAwcHgnLFxuICAxOiAnMHB4IDFweCAxcHggMHB4JyxcbiAgMjogJzBweCAycHggMnB4IDBweCcsXG4gIDM6ICcwcHggM3B4IDRweCAwcHgnLFxuICA0OiAnMHB4IDRweCA1cHggMHB4JyxcbiAgNTogJzBweCA1cHggOHB4IDBweCcsXG4gIDY6ICcwcHggNnB4IDEwcHggMHB4JyxcbiAgNzogJzBweCA3cHggMTBweCAxcHgnLFxuICA4OiAnMHB4IDhweCAxMHB4IDFweCcsXG4gIDk6ICcwcHggOXB4IDEycHggMXB4JyxcbiAgMTA6ICcwcHggMTBweCAxNHB4IDFweCcsXG4gIDExOiAnMHB4IDExcHggMTVweCAxcHgnLFxuICAxMjogJzBweCAxMnB4IDE3cHggMnB4JyxcbiAgMTM6ICcwcHggMTNweCAxOXB4IDJweCcsXG4gIDE0OiAnMHB4IDE0cHggMjFweCAycHgnLFxuICAxNTogJzBweCAxNXB4IDIycHggMnB4JyxcbiAgMTY6ICcwcHggMTZweCAyNHB4IDJweCcsXG4gIDE3OiAnMHB4IDE3cHggMjZweCAycHgnLFxuICAxODogJzBweCAxOHB4IDI4cHggMnB4JyxcbiAgMTk6ICcwcHggMTlweCAyOXB4IDJweCcsXG4gIDIwOiAnMHB4IDIwcHggMzFweCAzcHgnLFxuICAyMTogJzBweCAyMXB4IDMzcHggM3B4JyxcbiAgMjI6ICcwcHggMjJweCAzNXB4IDNweCcsXG4gIDIzOiAnMHB4IDIzcHggMzZweCAzcHgnLFxuICAyNDogJzBweCAyNHB4IDM4cHggM3B4JyxcbikgIWRlZmF1bHQ7XG5cbiRhbWJpZW50LW1hcDogKFxuICAwOiAnMHB4IDBweCAwcHggMHB4JyxcbiAgMTogJzBweCAxcHggM3B4IDBweCcsXG4gIDI6ICcwcHggMXB4IDVweCAwcHgnLFxuICAzOiAnMHB4IDFweCA4cHggMHB4JyxcbiAgNDogJzBweCAxcHggMTBweCAwcHgnLFxuICA1OiAnMHB4IDFweCAxNHB4IDBweCcsXG4gIDY6ICcwcHggMXB4IDE4cHggMHB4JyxcbiAgNzogJzBweCAycHggMTZweCAxcHgnLFxuICA4OiAnMHB4IDNweCAxNHB4IDJweCcsXG4gIDk6ICcwcHggM3B4IDE2cHggMnB4JyxcbiAgMTA6ICcwcHggNHB4IDE4cHggM3B4JyxcbiAgMTE6ICcwcHggNHB4IDIwcHggM3B4JyxcbiAgMTI6ICcwcHggNXB4IDIycHggNHB4JyxcbiAgMTM6ICcwcHggNXB4IDI0cHggNHB4JyxcbiAgMTQ6ICcwcHggNXB4IDI2cHggNHB4JyxcbiAgMTU6ICcwcHggNnB4IDI4cHggNXB4JyxcbiAgMTY6ICcwcHggNnB4IDMwcHggNXB4JyxcbiAgMTc6ICcwcHggNnB4IDMycHggNXB4JyxcbiAgMTg6ICcwcHggN3B4IDM0cHggNnB4JyxcbiAgMTk6ICcwcHggN3B4IDM2cHggNnB4JyxcbiAgMjA6ICcwcHggOHB4IDM4cHggN3B4JyxcbiAgMjE6ICcwcHggOHB4IDQwcHggN3B4JyxcbiAgMjI6ICcwcHggOHB4IDQycHggN3B4JyxcbiAgMjM6ICcwcHggOXB4IDQ0cHggOHB4JyxcbiAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4JyxcbikgIWRlZmF1bHQ7XG5cbi8vIFRoZSBjc3MgcHJvcGVydHkgdXNlZCBmb3IgZWxldmF0aW9uLiBJbiBtb3N0IGNhc2VzIHRoaXMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLiBJdCBpcyBleHBvc2VkXG4vLyBhcyBhIHZhcmlhYmxlIGZvciBhYnN0cmFjdGlvbiAvIGVhc3kgdXNlIHdoZW4gbmVlZGluZyB0byByZWZlcmVuY2UgdGhlIHByb3BlcnR5IGRpcmVjdGx5LCBmb3Jcbi8vIGV4YW1wbGUgaW4gYSBgd2lsbC1jaGFuZ2VgIHJ1bGUuXG4kcHJvcGVydHk6IGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciB0aGUgZWxldmF0aW9uIG92ZXJsYXkuXG4kb3ZlcmxheS1jb2xvcjogI2ZmZjtcblxuLy8gVGhlIGNzcyBwcm9wZXJ0eSB1c2VkIGZvciBlbGV2YXRpb24gb3ZlcmxheSB0cmFuc2l0aW9ucy4gSW4gbW9zdCBjYXNlcyB0aGlzIHNob3VsZCBub3QgYmUgY2hhbmdlZC4gSXQgaXMgZXhwb3NlZFxuLy8gYXMgYSB2YXJpYWJsZSBmb3IgYWJzdHJhY3Rpb24gLyBlYXN5IHVzZSB3aGVuIG5lZWRpbmcgdG8gcmVmZXJlbmNlIHRoZSBwcm9wZXJ0eSBkaXJlY3RseSwgZm9yXG4vLyBleGFtcGxlIGluIGEgYHdpbGwtY2hhbmdlYCBydWxlLlxuJG92ZXJsYXktcHJvcGVydHk6IG9wYWNpdHkgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwbXMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGVhc2luZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiB0cmFuc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkdXJhdGlvbiAtIFRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGVhc2luZyAtIFRoZSBlYXNpbmcgZnVuY3Rpb24gZm9yIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tdmFsdWUoXG4gICRkdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRlYXNpbmc6ICR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblxuKSB7XG4gIEByZXR1cm4gI3skcHJvcGVydHl9ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBlbGV2YXRpb24gb3ZlcmxheSB0cmFuc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkdXJhdGlvbiAtIFRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGVhc2luZyAtIFRoZSBlYXNpbmcgZnVuY3Rpb24gZm9yIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG92ZXJsYXktdHJhbnNpdGlvbi12YWx1ZShcbiAgJGR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGVhc2luZzogJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXG4pIHtcbiAgQHJldHVybiAjeyRvdmVybGF5LXByb3BlcnR5fSAjeyRkdXJhdGlvbn0gI3skZWFzaW5nfTtcbn1cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGJveC1zaGFkb3cgZnJvbSB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIHN5c3RlbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldmVsIC0gdGhlIGxldmVsIG9mIHRoZSBNYXRlcmlhbCBlbGV2YXRpb24gc3lzdGVtLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY29sb3IgLSB0aGUgY29sb3Igb2YgdGhlIHNoYWRvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHktYm9vc3QgWzBdIC0gb3B0aW9uYWwgb3BhY2l0eSBib29zdCBmb3IgdGhlIHNoYWRvdy5cbi8vLyBAcmV0dXJuIHtMaXN0fSB0aGUgY29tcGxldGUgYm94IHNoYWRvdy5cbi8vL1xuQGZ1bmN0aW9uIF9ib3gtc2hhZG93KCRsZXZlbCwgJGNvbG9yLCAkb3BhY2l0eS1ib29zdDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yLnByb3AtdmFsdWUoJGNvbG9yKTtcbiAgJHVtYnJhLXotdmFsdWU6IG1hcC5nZXQoJHVtYnJhLW1hcCwgJGxldmVsKTtcbiAgJHBlbnVtYnJhLXotdmFsdWU6IG1hcC5nZXQoJHBlbnVtYnJhLW1hcCwgJGxldmVsKTtcbiAgJGFtYmllbnQtei12YWx1ZTogbWFwLmdldCgkYW1iaWVudC1tYXAsICRsZXZlbCk7XG5cbiAgJHVtYnJhLWNvbG9yOiByZ2JhKCRjb2xvciwgJHVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsICRwZW51bWJyYS1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuICAkYW1iaWVudC1jb2xvcjogcmdiYSgkY29sb3IsICRhbWJpZW50LW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG5cbiAgQHJldHVybiAoXG4gICAgI3snI3skdW1icmEtei12YWx1ZX0gI3skdW1icmEtY29sb3J9J30sXG4gICAgI3snI3skcGVudW1icmEtei12YWx1ZX0gI3skcGVudW1icmEtY29sb3J9J30sXG4gICAgI3skYW1iaWVudC16LXZhbHVlfSAkYW1iaWVudC1jb2xvclxuICApO1xufVxuXG4vLyBSZXR1cm5zIHRoZSBjb3JyZWN0IGJveC1zaGFkb3cgc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQGZ1bmN0aW9uIGVsZXZhdGlvbi1ib3gtc2hhZG93KFxuICAkei12YWx1ZSxcbiAgJGNvbG9yOiAkYmFzZWxpbmUtY29sb3IsXG4gICRvcGFjaXR5LWJvb3N0OiAwXG4pIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkei12YWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCBtYXRoLmlzLXVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgQHJldHVybiBfYm94LXNoYWRvdygkei12YWx1ZSwgJGNvbG9yLCAkb3BhY2l0eS1ib29zdCk7XG59XG5cbi8vL1xuLy8vIFJldHVybnMgYSBzaGFkb3cgb3IgbnVsbCBpZiBwYXJhbXMgYXJlIGludmFsaWQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIHRoZSBsZXZlbCBvZiB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIHN5c3RlbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNvbG9yIC0gdGhlIGNvbG9yIG9mIHRoZSBzaGFkb3cuXG4vLy8gQHJldHVybiB7TGlzdHxudWxsfSB0aGUgY29tcGxldGUgYm94IHNoYWRvdyBvciBudWxsLlxuLy8vXG5AZnVuY3Rpb24gX3NoYWRvdygkbGV2ZWwsICRjb2xvcikge1xuICBAaWYgJGxldmVsID09IG51bGwgYW5kICRjb2xvciA9PSBudWxsIHtcbiAgICAvLyBEbyBub3QgZW1pdCBhIHdhcm5pbmcgaWYgYm90aCBhcmUgbnVsbCwgd2hpY2ggbWVhbnMgdGhlIHVzZXIgZGlkIG5vdFxuICAgIC8vIHByb3ZpZGUgdG9rZW5zLlxuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkbGV2ZWwgPT0gbnVsbCBvciAkY29sb3IgPT0gbnVsbCB7XG4gICAgLy8gSWYgb25lIG9mIHRoZSB0b2tlbnMgaXMgbnVsbCwgZW1pdCBhIHdhcm5pbmc6IHRoZSB1c2VyIG1heSBub3QgcmVhbGl6ZVxuICAgIC8vIHRoYXQgYm90aCBhcmUgcmVxdWlyZWQuXG4gICAgQHdhcm4gXCJib3RoICRsZXZlbCBhbmQgJGNvbG9yIGFyZSByZXF1aXJlZDsgcmVjZWl2ZWQgJGxldmVsOiAnI3skbGV2ZWx9JywgJGNvbG9yOiAnI3skY29sb3J9J1wiO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkbGV2ZWwgPCAwIG9yICRsZXZlbCA+IDI0IHtcbiAgICBAd2FybiBcIiRsZXZlbCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQ7IHJlY2VpdmVkICcjeyRsZXZlbH0nXCI7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQHJldHVybiBfYm94LXNoYWRvdygkbGV2ZWwsICRjb2xvcik7XG59XG5cbkBmdW5jdGlvbiBnZXQtZWxldmF0aW9uKCRsZXZlbCkge1xuICBAcmV0dXJuIChib3gtc2hhZG93OiBlbGV2YXRpb24tYm94LXNoYWRvdygkbGV2ZWwpKTtcbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc2hhZG93IG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRib3gtc2hhZG93IC0gVGhlIHNoYWRvdyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbi8vL1xuQG1peGluIF9ib3gtc2hhZG93KCRzaGFkb3csICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KGJveC1zaGFkb3csICRzaGFkb3cpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHNoYWRvdyBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm94LXNoYWRvdyAtIFRoZSBzaGFkb3cgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbkBtaXhpbiBzaGFkb3coJGJveC1zaGFkb3csICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpZiBjdXN0b20tcHJvcGVydGllcy5pcy1jdXN0b20tcHJvcCgkYm94LXNoYWRvdykge1xuICAgICAgLy8gVE9ETyhiLzE4NTE4ODQ1OCk6IFVzZSB0aGVtZS5wcm9wZXJ0eSgpIG9uY2UgcmVzb2x2ZWQuXG4gICAgICAkZmFsbGJhY2s6IGN1c3RvbS1wcm9wZXJ0aWVzLmdldC1mYWxsYmFjaygkYm94LXNoYWRvdyk7XG5cbiAgICAgIC8vIHZhcigtLTxib3gtc2hhZG93LXByb3A+LCB2YXIoLS1tLWVsZXZhdGlvbi1ib3gtc2hhZG93LWZvci1nc3MpKVxuICAgICAgJGdzcy1jdXN0b20tcHJvcDogY3VzdG9tLXByb3BlcnRpZXMuY3JlYXRlKFxuICAgICAgICBjdXN0b20tcHJvcGVydGllcy5nZXQtdmFybmFtZSgkYm94LXNoYWRvdyksXG4gICAgICAgIGN1c3RvbS1wcm9wZXJ0aWVzLmNyZWF0ZShlbGV2YXRpb24tYm94LXNoYWRvdy1mb3ItZ3NzKVxuICAgICAgKTtcblxuICAgICAgJHZhbHVlOiBjdXN0b20tcHJvcGVydGllcy5jcmVhdGUtdmFyKCRnc3MtY3VzdG9tLXByb3ApO1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIHtcbiAgICAgICAgLy8gQ3VzdG9tIHByb3BlcnRpZXMgYXJlIGRpc2FibGVkLCBzaW5jZSAkZ3NzLWN1c3RvbS1wcm9wXG4gICAgICAgIC8vIGRvZXMgbm90IGhhdmUgYSBmYWxsYmFjay4gQXZvaWQgZW1pdHRpbmcgdHdvIG5vbi1jdXN0b21cbiAgICAgICAgLy8gcHJvcCBkZWNsYXJhdGlvbnMgYnkgc2V0dGluZyAkZmFsbGJhY2sgdG8gbnVsbC5cbiAgICAgICAgJHZhbHVlOiAkZmFsbGJhY2s7XG4gICAgICAgICRmYWxsYmFjazogbnVsbDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgY3VzdG9tLXByb3BlcnRpZXMuZGVjbGFyYXRpb24oXG4gICAgICAgIGN1c3RvbS1wcm9wZXJ0aWVzLmNyZWF0ZShlbGV2YXRpb24tYm94LXNoYWRvdy1mb3ItZ3NzLCAkZmFsbGJhY2spXG4gICAgICApO1xuICAgICAgQGluY2x1ZGUgY3NzLmRlY2xhcmF0aW9uKGJveC1zaGFkb3csICR2YWx1ZSwgJGZhbGxiYWNrLXZhbHVlOiAkZmFsbGJhY2spO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IHN1cmZhY2UgcmVxdWlyZWQgcG9zaXRpb25pbmcuXG4vLy9cbkBtaXhpbiBvdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheSwgaW5jbHVkaW5nIHBvc2l0aW9uaW5nIGFuZCBzaXppbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheVxuLy8vIEBwYXJhbSB7TnVtYmVyfSBbJGhlaWdodF0gLSBUaGUgaGVpZ2h0IG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gWyRoYXMtY29udGVudC1zaXppbmddIC0gU2V0IHRvIGZhbHNlIGlmIHRoZSBjb250YWluZXIgaGFzIG5vIGNvbnRlbnQgc2l6aW5nXG4vLy9cbkBtaXhpbiBvdmVybGF5LWRpbWVuc2lvbnMoXG4gICR3aWR0aCxcbiAgJGhlaWdodDogJHdpZHRoLFxuICAkaGFzLWNvbnRlbnQtc2l6aW5nOiB0cnVlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWVsZXZhdGlvbi1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkod2lkdGgsICR3aWR0aCk7XG4gICAgICBAaW5jbHVkZSB0aGVtZS5wcm9wZXJ0eShoZWlnaHQsICRoZWlnaHQpO1xuXG4gICAgICBAaWYgJGhhcy1jb250ZW50LXNpemluZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLmlnbm9yZS1uZXh0LWxpbmUoKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLmlnbm9yZS1uZXh0LWxpbmUoKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgZmlsbCBjb2xvci5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZGlyZWN0bHkgb24gdGhlIGVsZXZhdGlvbiBvdmVybGF5IGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3Igb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBBcHBsaWVzIHRoZSBnaXZlbiBjb2xvciB0byB0aGUgY29udGFpbmVyIG9mIHRoZSBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIHRoZSBjb2xvciBvZiB0aGUgb3ZlcmxheSBjb250YWluZXJcbi8vL1xuQG1peGluIG92ZXJsYXktY29udGFpbmVyLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAubWRjLWVsZXZhdGlvbi1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBvdmVybGF5LWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgb3BhY2l0eS5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZnJvbSBhIHBhcmVudCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IC0gVGhlIG9wYWNpdHkgb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1vcGFjaXR5KCRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KG9wYWNpdHksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIGVsZXZhdGlvbihcbiAgJHotdmFsdWUsXG4gICRjb2xvcjogJGJhc2VsaW5lLWNvbG9yLFxuICAkb3BhY2l0eS1ib29zdDogMCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gICRib3gtc2hhZG93OiBlbGV2YXRpb24tYm94LXNoYWRvdyhcbiAgICAkei12YWx1ZSxcbiAgICAkY29sb3I6ICRjb2xvcixcbiAgICAkb3BhY2l0eS1ib29zdDogJG9wYWNpdHktYm9vc3RcbiAgKTtcblxuICBAaW5jbHVkZSBzaGFkb3coJGJveC1zaGFkb3csICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8vXG4vLy8gUmVwcmVzZW50cyB0aGUgY29uZmlndXJhYmxlIHZhbHVlcyBvZiB0aGUgZWxldmF0aW9uIHRoZW1lLlxuLy8vXG4kX3RoZW1lLXZhbHVlczogKFxuICBzaGFkb3c6IG51bGwsXG4gIG92ZXJsYXktb3BhY2l0eTogbnVsbCxcbiAgb3ZlcmxheS1jb2xvcjogbnVsbCxcbik7XG5cbi8vL1xuLy8vIEFwcGxpZXMgdGhlIHNoYWRvdyB0aGVtZSB3aXRoIHRoZSBnaXZlbiAkcmVzb2x2ZXIgZnVuY3Rpb24uXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJHJlc29sdmVyIC0gYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSB2YWxpZCB0aGVtZSBjb25maWcuXG4vLy8gICBAc2VlIHJlc29sdmVyIGZvciBhbiBleGFtcGxlIGFuZCBleHBlY3RlZCBhcmd1bWVudHMgYW5kIHJldHVybiB2YWx1ZS5cbi8vLyBBY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9uYWwga2V5d29yZCBhcmdzOlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZWxldmF0aW9uIC0gdGhlIGxldmVsIGluIHRoZSBlbGV2YXRpb24gc3lzdGVtLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2hhZG93LWNvbG9yIC0gdGhlIGNvbG9yIHVzZWQgZm9yIHRoZSBzaGFkb3cuXG4vLy9cbkBtaXhpbiB3aXRoLXJlc29sdmVyKCRyZXNvbHZlciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSwgJGFyZ3MuLi4pIHtcbiAgQGlmICRyZXNvbHZlciB7XG4gICAgQGluY2x1ZGUgX3RoZW1lKG1ldGEuY2FsbCgkcmVzb2x2ZXIsICRhcmdzLi4uKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEFwcGxpZXMgdGhlIGdpdmVuIHRoZW1lIHdpdGggdmFsaWRhdGlvbi5cbi8vLyBAcGFyYW0ge01hcH0gJHRoZW1lIC0gQHNlZSAkX3RoZW1lLXZhbHVlcyBmb3IgYWNjZXB0ZWQgdGhlbWUgcHJvcGVydGllcy5cbi8vL1xuQG1peGluIHRoZW1lKCR0aGVtZTogKCksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgQGluY2x1ZGUgdGhlbWUudmFsaWRhdGUtdGhlbWUoJF90aGVtZS12YWx1ZXMsICR0aGVtZSk7XG4gIEBpbmNsdWRlIF90aGVtZSgkdGhlbWUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8vXG4vLy8gQXBwbGllcyB0aGUgZ2l2ZW4gdGhlbWUuXG4vLy8gQHBhcmFtIHtNYXB9ICR0aGVtZSAtIEBzZWUgJF90aGVtZS12YWx1ZXMgZm9yIGFjY2VwdGVkIHRoZW1lIHByb3BlcnRpZXMuXG4vLy9cbkBtaXhpbiBfdGhlbWUoJHRoZW1lOiAoKSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICBAaW5jbHVkZSBzaGFkb3cobWFwLmdldCgkdGhlbWUsIHNoYWRvdyksICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3ZlcmxheS1vcGFjaXR5KG1hcC5nZXQoJHRoZW1lLCBvdmVybGF5LW9wYWNpdHkpLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG92ZXJsYXktY29udGFpbmVyLWNvbG9yKFxuICAgIG1hcC5nZXQoJHRoZW1lLCBvdmVybGF5LWNvbG9yKSxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xufVxuXG4vLy9cbi8vLyBUcmFuc2Zvcm1zIHRoZSBmb2xsb3dpbmcgb3B0aW9uYWwgcGFyYW1ldGVycyBpbnRvIGEgdGhlbWUgY29uZmlnLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZWxldmF0aW9uIC0gdGhlIGxldmVsIG9mIHRoZSBlbGV2YXRpb24gc3lzdGVtIGluIE1hdGVyaWFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2hhZG93LWNvbG9yIC0gdGhlIGNvbG9yIHRvIGJlIHVzZWQgYnkgdGhlIHNoYWRvdy5cbi8vLyBAcmV0dXJuIHtNYXB9IEBzZWUgJF90aGVtZS12YWx1ZXMgZm9yIGFjY2VwdGVkIHRoZW1lIHByb3BlcnRpZXMuXG4vLy9cbkBmdW5jdGlvbiByZXNvbHZlcigkYXJncy4uLikge1xuICAkb3B0czogbWV0YS5rZXl3b3JkcygkYXJncyk7XG4gICRlbGV2YXRpb246IG1hcC5nZXQoJG9wdHMsIGVsZXZhdGlvbik7XG4gICRzaGFkb3ctY29sb3I6IG1hcC5nZXQoJG9wdHMsIHNoYWRvdy1jb2xvcik7XG4gIEBpZiBjdXN0b20tcHJvcGVydGllcy5pcy1jdXN0b20tcHJvcCgkZWxldmF0aW9uKSB7XG4gICAgQHJldHVybiBfcmVzb2x2ZS1jdXN0b20tcHJvcHMoJGVsZXZhdGlvbiwgJHNoYWRvdy1jb2xvcik7XG4gIH1cblxuICBAcmV0dXJuIChzaGFkb3c6IF9zaGFkb3coJGVsZXZhdGlvbiwgJHNoYWRvdy1jb2xvcikpO1xufVxuXG5AZnVuY3Rpb24gX3Jlc29sdmUtY3VzdG9tLXByb3BzKCRlbGV2YXRpb24sICRzaGFkb3ctY29sb3IpIHtcbiAgJGZhbGxiYWNrLWRwOiBjdXN0b20tcHJvcGVydGllcy5nZXQtZmFsbGJhY2soJGVsZXZhdGlvbik7XG4gICRmYWxsYmFjay1zaGFkb3ctY29sb3I6IGN1c3RvbS1wcm9wZXJ0aWVzLmdldC1mYWxsYmFjaygkc2hhZG93LWNvbG9yKTtcbiAgJHNoYWRvdzogY3VzdG9tLXByb3BlcnRpZXMuc2V0LWZhbGxiYWNrKFxuICAgICRlbGV2YXRpb24sXG4gICAgX3NoYWRvdygkZmFsbGJhY2stZHAsICRmYWxsYmFjay1zaGFkb3ctY29sb3IpXG4gICk7XG4gIEByZXR1cm4gKHNoYWRvdzogJHNoYWRvdyk7XG59XG4iLCJAdXNlICdzYXNzOmNvbG9yJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnLi4vY29yZS9zdHlsZS9wcml2YXRlJztcbkB1c2UgJy4uL2NvcmUvdGhlbWluZy90aGVtaW5nJztcbkB1c2UgJy4uL2NvcmUvdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkB1c2UgJy4uL2NvcmUvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LXV0aWxzJztcbkB1c2UgJy4uL2J1dHRvbi9pY29uLWJ1dHRvbi10aGVtZSc7XG5cbiRzZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRyYW5nZS1mYWRlLWFtb3VudDogMC4yO1xuJHRvZGF5LWZhZGUtYW1vdW50OiAwLjI7XG4kY2FsZW5kYXItYm9keS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBfY29sb3IoJHBhbGV0dGUpIHtcbiAgQGluY2x1ZGUgZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICAgdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRwYWxldHRlLCBkZWZhdWx0LCAkcmFuZ2UtZmFkZS1hbW91bnQpKTtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkcGFsZXR0ZSk7XG4gICAgY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgICRiYWNrZ3JvdW5kOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJHBhbGV0dGUpO1xuXG4gICAgQGlmIChtZXRhLnR5cGUtb2YoJGJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5hZGp1c3QoJGJhY2tncm91bmQsICRhbHBoYTogLSRzZWxlY3RlZC1mYWRlLWFtb3VudCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdG8gYmFja2dyb3VuZCB0byBhIGNvbG9yIChlLmcuIGl0J3MgYSBDU1MgdmFyaWFibGUpLFxuICAgICAgLy8gZmFsbCBiYWNrIHRvIGZhZGluZyB0aGUgY29udGVudCBvdXQgdmlhIGBvcGFjaXR5YC5cbiAgICAgIG9wYWNpdHk6ICR0b2RheS1mYWRlLWFtb3VudDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRzZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoXG4gICAgICAgICAgICAgICAgdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlLFxuICAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBfaGlnaGxpZ2h0ZWQtY2VsbCgkcGFsZXR0ZSk7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIF9oaWdobGlnaHRlZC1jZWxsKCRwYWxldHRlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXRpbGl0eSBtaXhpbiB0byB0YXJnZXQgY2VsbHMgdGhhdCBhcmVuJ3Qgc2VsZWN0ZWQuIFVzZWQgdG8gbWFrZSBzZWxlY3RvciBlYXNpZXIgdG8gZm9sbG93LlxuQG1peGluIF91bnNlbGVjdGVkLWNlbGwge1xuICAmOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTdHlsZXMgZm9yIGEgaGlnaGxpZ2h0ZWQgY2FsZW5kYXIgY2VsbCAoZS5nLiBob3ZlcmVkIG9yIGZvY3VzZWQpLlxuQG1peGluIF9oaWdobGlnaHRlZC1jZWxsKCRwYWxldHRlKSB7XG4gICYgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBfdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkcGFsZXR0ZSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLmdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC5nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXNhYmxlZC1jb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWNhbGVuZGFyLWFycm93IHtcbiAgICBmaWxsOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLy8gVGhlIHByZXYvbmV4dCBidXR0b25zIG5lZWQgYSBiaXQgbW9yZSBzcGVjaWZpY2l0eSB0b1xuICAvLyBhdm9pZCBiZWluZyBvdmVyd3JpdHRlbiBieSB0aGUgLm1hdC1pY29uLWJ1dHRvbi5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24ge1xuICAgIGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcixcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsIHtcbiAgICBjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LFxuICAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgX3Vuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXByZXZpZXcge1xuICAgICRkaXZpZGVyLWNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gICAgQGlmIG1ldGEudHlwZS1vZigkZGl2aWRlci1jb2xvcikgPT0gY29sb3Ige1xuICAgICAgLy8gVGhlIGRpdmlkZXIgY29sb3IgaXMgc2V0IHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQnbGwgYmUgdXNlZFxuICAgICAgLy8gZm9yIGEgc29saWQgYm9yZGVyLCBidXQgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIGRhc2hlZCBib3JkZXIgZm9yIHRoZVxuICAgICAgLy8gcHJldmlldyByYW5nZSwgd2UgbmVlZCB0byBidW1wIGl0cyBvcGFjaXR5IHRvIGVuc3VyZSB0aGF0IGl0J3MgdmlzaWJsZS5cbiAgICAgIGNvbG9yOiByZ2JhKCRkaXZpZGVyLWNvbG9yLCBtYXRoLm1pbihvcGFjaXR5KCRkaXZpZGVyLWNvbG9yKSAqIDIsIDEpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX3Vuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAvLyBOb3RlOiB0aG91Z2ggaXQncyBub3QgdGV4dCwgdGhlIGJvcmRlciBpcyBhIGhpbnQgYWJvdXQgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIHRvZGF5J3MgZGF0ZSxcbiAgICAgIC8vIHNvIHdlIHVzZSB0aGUgaGludCBjb2xvci5cbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX3Vuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAkY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgICAgQGlmIChtZXRhLnR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLmFkanVzdCgkY29sb3IsICRhbHBoYTogLSR0b2RheS1mYWRlLWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBjb2xvciBkaWRuJ3QgcmVzb2x2ZSB0byBhIGNvbG9yIHZhbHVlLCBidXQgc29tZXRoaW5nIGxpa2UgYSBDU1MgdmFyaWFibGUsIHdlIGNhbid0XG4gICAgICAgIC8vIGZhZGUgaXQgb3V0IHNvIHdlIGZhbGwgYmFjayB0byByZWR1Y2luZyB0aGUgZWxlbWVudCBvcGFjaXR5LiBOb3RlIHRoYXQgd2UgZG9uJ3QgdXNlIHRoZVxuICAgICAgICAvLyAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQsIGJlY2F1c2UgaGludCB0ZXh0IHVzdWFsbHkgaGFzIHNvbWUgb3BhY2l0eSBhcHBsaWVkXG4gICAgICAgIC8vIHRvIGl0IGFscmVhZHkgYW5kIHdlIGRvbid0IHdhbnQgdGhlbSB0byBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIF9jb2xvcihtYXAuZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gICAgQGluY2x1ZGUgcHJpdmF0ZS5wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9jb2xvcihtYXAuZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX2NvbG9yKG1hcC5nZXQoJGNvbmZpZywgd2FybikpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBAaW5jbHVkZSBwcml2YXRlLnByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDI0LCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlIHtcbiAgICBjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKG1hcC5nZXQoJGNvbmZpZywgcHJpbWFyeSksIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUobWFwLmdldCgkY29uZmlnLCBhY2NlbnQpLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUobWFwLmdldCgkY29uZmlnLCB3YXJuKSwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LWlubmVyW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZSgkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiB0eXBvZ3JhcGh5LnByaXZhdGUtdHlwb2dyYXBoeS10by0yMDE0LWNvbmZpZyhcbiAgICAgIHRoZW1pbmcuZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IHR5cG9ncmFwaHktdXRpbHMuZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHkge1xuICAgIGZvbnQtc2l6ZTogJGNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IHR5cG9ncmFwaHktdXRpbHMuZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IHR5cG9ncmFwaHktdXRpbHMuZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJGNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiB0eXBvZ3JhcGh5LXV0aWxzLmZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkYXRlLXJhbmdlLWNvbG9ycyhcbiAgJHJhbmdlLWNvbG9yLFxuICAkY29tcGFyaXNvbi1jb2xvcjogcmdiYSgjZjlhYjAwLCAkcmFuZ2UtZmFkZS1hbW91bnQpLFxuICAkb3ZlcmxhcC1jb2xvcjogI2E4ZGFiNSxcbiAgJG92ZXJsYXAtc2VsZWN0ZWQtY29sb3I6IGNvbG9yLmFkanVzdCgkb3ZlcmxhcC1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSkpIHtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29tcGFyaXNvbi1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICBbZGlyPSdydGwnXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkcmFuZ2UtY29sb3IgNTAlLCAkY29tcGFyaXNvbi1jb2xvciA1MCUpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXAtc2VsZWN0ZWQtY29sb3I7XG4gIH1cbn1cblxuQG1peGluIF9kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gUmVnYXJkbGVzcyBvZiB0aGUgdXNlci1wYXNzZWQgZGVuc2l0eSwgd2Ugd2FudCB0aGUgY2FsZW5kYXIgcHJldmlvdXMvbmV4dCBidXR0b25zIHRvIHJlbWFpbiBhdFxuICAvLyBkZW5zaXR5IC0yXG4gIC5tYXQtY2FsZW5kYXItY29udHJvbHMge1xuICAgIEBpbmNsdWRlIGljb24tYnV0dG9uLXRoZW1lLmRlbnNpdHkoLTIpO1xuICB9XG59XG5cbkBtaXhpbiB0aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogdGhlbWluZy5wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIHRoZW1pbmcucHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1kYXRlcGlja2VyJykge1xuICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IHRoZW1pbmcuZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IHRoZW1pbmcuZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX2RlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuIC0tXG4vLyBTZWxlY3RvciAnLm1kYy0qJyBzaG91bGQgb25seSBiZSB1c2VkIGluIHRoaXMgcHJvamVjdC5cblxuQHVzZSAnQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2ZlYXR1cmUtdGFyZ2V0aW5nJztcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS90aGVtZSc7XG5AdXNlICdAbWF0ZXJpYWwvdGhlbWUvY3VzdG9tLXByb3BlcnRpZXMnO1xuQHVzZSAnQG1hdGVyaWFsL3NoYXBlL21peGlucycgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSAnQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXMnIGFzIGFuaW1hdGlvbi12YXJpYWJsZXM7XG5AdXNlICdAbWF0ZXJpYWwvZWxldmF0aW9uL21peGlucycgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgJ0BtYXRlcmlhbC9ydGwvcnRsJztcbkB1c2UgJy4vdmFyaWFibGVzJztcbkB1c2UgJy4vbWVudS1zdXJmYWNlLWN1c3RvbS1wcm9wZXJ0aWVzJztcblxuLy9cbi8vIFB1YmxpY1xuLy9cblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBtZW51LXN1cmZhY2VcbiAgLm1kYy1tZW51LXN1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGJhc2VfKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5lbGV2YXRpb24oJHotdmFsdWU6IDgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBmaWxsLWNvbG9yKHN1cmZhY2UsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKG9uLXN1cmZhY2UsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2hhcGUtcmFkaXVzKHZhcmlhYmxlcy4kc2hhcGUtcmFkaXVzLCBmYWxzZSwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwucmVmbGV4aXZlLXByb3BlcnR5KHRyYW5zZm9ybS1vcmlnaW4sIHRvcCBsZWZ0LCB0b3AgcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAubWRjLW1lbnUtc3VyZmFjZS0tZml4ZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1tZW51LXN1cmZhY2UtLWZ1bGx3aWR0aCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmcuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSB0aGVtZS5wcm9wZXJ0eShiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBzaGFwZS1yYWRpdXMoXG4gICRyYWRpdXMsXG4gICRydGwtcmVmbGV4aXZlOiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8gVXNlZCBieSBmaWxsZWQgdmFyaWFudHMgb2YgR00gY29tcG9uZW50cyB0byBjb25kaXRpb25hbGx5IGZsYXR0ZW4gdGhlIHRvcFxuLy8gY29ybmVycyBvZiB0aGUgbWVudS5cbkBtaXhpbiBmbGF0dGVuLXRvcC13aGVuLW9wZW5lZC1iZWxvdygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gIC5tZGMtbWVudS1zdXJmYWNlLS1pcy1vcGVuLWJlbG93IHtcbiAgICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICRtYXgtd2lkdGg6IGN1c3RvbS1wcm9wZXJ0aWVzLmNyZWF0ZShcbiAgICAgIG1lbnUtc3VyZmFjZS1jdXN0b20tcHJvcGVydGllcy4kbWF4LXdpZHRoLFxuICAgICAgY2FsYygxMDB2dyAtICN7dmFyaWFibGVzLiRtaW4tZGlzdGFuY2UtZnJvbS1lZGdlfSlcbiAgICApO1xuICAgIEBpbmNsdWRlIHRoZW1lLnByb3BlcnR5KG1heC13aWR0aCwgJG1heC13aWR0aCk7XG4gICAgJG1heC1oZWlnaHQ6IGN1c3RvbS1wcm9wZXJ0aWVzLmNyZWF0ZShcbiAgICAgIG1lbnUtc3VyZmFjZS1jdXN0b20tcHJvcGVydGllcy4kbWF4LWhlaWdodCxcbiAgICAgIGNhbGMoMTAwdmggLSAje3ZhcmlhYmxlcy4kbWluLWRpc3RhbmNlLWZyb20tZWRnZX0pXG4gICAgKTtcbiAgICBAaW5jbHVkZSB0aGVtZS5wcm9wZXJ0eShtYXgtaGVpZ2h0LCAkbWF4LWhlaWdodCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgei1pbmRleDogdmFyaWFibGVzLiR6LWluZGV4O1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbiBsaW5lYXIsXG4gICAgICB0cmFuc2Zvcm0gdmFyaWFibGVzLiRzY2FsZS1kdXJhdGlvblxuICAgICAgICBhbmltYXRpb24tdmFyaWFibGVzLiRkZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uLFxuICAgICAgaGVpZ2h0IDI1MG1zIGFuaW1hdGlvbi12YXJpYWJsZXMuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1hbmltYXRpbmctb3BlbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVuZGVyIHRoaXMgYWZ0ZXIgYC0tYW5pbWF0aW5nLW9wZW5gIHRvIG92ZXJyaWRlIGBvcGFjaXR5YCAmIGB0cmFuc2Zvcm1gXG4gIC8vIENTUyBwcm9wZXJ0aWVzLlxuICAmLS1vcGVuIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJi0tYW5pbWF0aW5nLWNsb3NlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdAbWF0ZXJpYWwvdGhlbWUvdGhlbWUtY29sb3InO1xuQHVzZSAnQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzJyBhcyBkZW5zaXR5LXZhcmlhYmxlcztcblxuJHJpcHBsZS10YXJnZXQ6ICcubWRjLWxpc3QtaXRlbV9fcmlwcGxlJztcbiRkaXZpZGVyLWNvbG9yLW9uLWxpZ2h0LWJnOiByZ2JhKDAsIDAsIDAsIDAuMTIpICFkZWZhdWx0O1xuJGRpdmlkZXItY29sb3Itb24tZGFyay1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFkZWZhdWx0O1xuJGNvbnRlbnQtZGlzYWJsZWQtb3BhY2l0eTogdGhlbWUtY29sb3IudGV4dC1lbXBoYXNpcyhkaXNhYmxlZCkgIWRlZmF1bHQ7XG4kY29udGVudC1kaXNhYmxlZC1jb2xvcjogb24tc3VyZmFjZSAhZGVmYXVsdDtcbiRjb250ZW50LXNlbGVjdGVkLWNvbG9yOiBwcmltYXJ5ICFkZWZhdWx0O1xuJHNpZGUtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcblxuJG9uZS1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kdHdvLWxpbmUtaXRlbS1kZW5zaXR5LXNjYWxlOiBkZW5zaXR5LXZhcmlhYmxlcy4kZGVmYXVsdC1zY2FsZSAhZGVmYXVsdDtcbiR0aHJlZS1saW5lLWl0ZW0tZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kb25lLWxpbmUtaXRlbS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiA0OHB4LFxuICAgIG1heGltdW06IDQ4cHgsXG4gICAgbWluaW11bTogMjRweCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4kb25lLWxpbmUtaXRlbS10YWxsLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6IDU2cHgsXG4gICAgbWF4aW11bTogNTZweCxcbiAgICBtaW5pbXVtOiA0MHB4LFxuICApLFxuKSAhZGVmYXVsdDtcbiRvbmUtbGluZS1pdGVtLXRhbGxlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiA3MnB4LFxuICAgIG1heGltdW06IDcycHgsXG4gICAgbWluaW11bTogNTZweCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4kdHdvLWxpbmUtaXRlbS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiA2NHB4LFxuICAgIG1heGltdW06IDY0cHgsXG4gICAgbWluaW11bTogNDhweCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4kdHdvLWxpbmUtaXRlbS10YWxsLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6IDcycHgsXG4gICAgbWF4aW11bTogNzJweCxcbiAgICBtaW5pbXVtOiA1NnB4LFxuICApLFxuKSAhZGVmYXVsdDtcbiR0d28tbGluZS1pdGVtLXRhbGxlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiA4OHB4LFxuICAgIG1heGltdW06IDg4cHgsXG4gICAgbWluaW11bTogNzJweCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4kdGhyZWUtbGluZS1pdGVtLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6IDg4cHgsXG4gICAgbWF4aW11bTogODhweCxcbiAgICBtaW5pbXVtOiA1NnB4LFxuICApLFxuKSAhZGVmYXVsdDtcbiIsIi8vIENvcHlyaWdodCAyMDIwIEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQHVzZSAnQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2ZlYXR1cmUtdGFyZ2V0aW5nJztcbi8vL1xuLy8vIEVtaXRzIG5lY2Vzc2FyeSBsYXlvdXQgc3R5bGVzIHRvIHNldCBhIHRyYW5zcGFyZW50IGJvcmRlciBhcm91bmQgYW4gZWxlbWVudFxuLy8vIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgcmVzdCBvZiBpdHMgY29tcG9uZW50IGxheW91dC4gVGhlIGJvcmRlciBpc1xuLy8vIG9ubHkgdmlzaWJsZSBpbiBoaWdoLWNvbnRyYXN0IG1vZGUuIFRoZSB0YXJnZXQgZWxlbWVudCBzaG91bGQgYmUgYSBjaGlsZCBvZlxuLy8vIGEgcmVsYXRpdmVseSBwb3NpdGlvbmVkIHRvcC1sZXZlbCBlbGVtZW50IChpLmUuIGEgOjpiZWZvcmUgcHNldWRvLWVsZW1lbnQpLlxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRib3JkZXItd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIHRyYW5zcGFyZW50IGJvcmRlci5cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJvcmRlci1zdHlsZSAtIFRoZSBzdHlsZSBvZiB0aGUgdHJhbnNwYXJlbnQgYm9yZGVyLlxuLy8vXG5AbWl4aW4gdHJhbnNwYXJlbnQtYm9yZGVyKFxuICAkYm9yZGVyLXdpZHRoOiAxcHgsXG4gICRib3JkZXItc3R5bGU6IHNvbGlkLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggJGJvcmRlci1zdHlsZSB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gVXNlZCB0byBzYXRpc2Z5IEZpcmVmb3ggdjk0IHdoaWNoIGRvZXMgbm90IHJlbmRlciB0cmFuc3BhcmVudCBib3JkZXJzIGluIEhDTSAoYi8yMDY0NDA4MzgpLlxuICBAaW5jbHVkZSBmb3JjZWQtY29sb3JzLW1vZGUoJGV4Y2x1ZGUtaWUxMTogdHJ1ZSkge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBib3JkZXItY29sb3I6IENhbnZhc1RleHQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFZpc3VhbGx5IGhpZGVzIHRleHQgY29udGVudCBmb3IgYWNjZXNzaWJpbGl0eS4gVGhpcyB0ZXh0IHNob3VsZCBvbmx5IGJlXG4vLy8gdmlzaWJsZSB0byBzY3JlZW4gcmVhZGVyIHVzZXJzLlxuLy8vIFNlZSBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8vXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmcuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBhZGRlZCBsaW5lICovXG4gICAgd2lkdGg6IDFweDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0cyBmb3IgSUUxMSBzdXBwb3J0LlxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGVzIHRvIGVtaXQgZm9yIElFMTEgc3VwcG9ydFxuQG1peGluIGllMTEtc3VwcG9ydCB7XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdHMgZm9yIGBmb3JjZWQtY29sb3JzYCBoaWdoIGNvbnRyYXN0IG1vZGUuXG4vLy9cbi8vLyBXaGlsZSBpbiBgZm9yY2VkLWNvbG9yc2AgbW9kZSwgb25seSBzeXN0ZW0gY29sb3JzIHNob3VsZCBiZSB1c2VkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2NvbG9yX3ZhbHVlI3N5c3RlbV9jb2xvcnNcbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQG1lZGlhL2ZvcmNlZC1jb2xvcnNcbi8vLyBAY29udGVudCBzdHlsZXMgdG8gZW1pdCBpbiBgZm9yY2VkLWNvbG9yc2AgbW9kZVxuQG1peGluIGZvcmNlZC1jb2xvcnMtbW9kZSgkZXhjbHVkZS1pZTExOiBmYWxzZSkge1xuICBAaWYgJGV4Y2x1ZGUtaWUxMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5AdXNlICdAbWF0ZXJpYWwvc3dpdGNoL3N3aXRjaC10aGVtZScgYXMgbWRjLXN3aXRjaC10aGVtZTtcbkB1c2UgJ0BtYXRlcmlhbC90aGVtZS9jb2xvci1wYWxldHRlJyBhcyBtZGMtY29sb3ItcGFsZXR0ZTtcbkB1c2UgJ0BtYXRlcmlhbC9mb3JtLWZpZWxkJyBhcyBtZGMtZm9ybS1maWVsZDtcbkB1c2UgJy4uL2NvcmUvdGhlbWluZy90aGVtaW5nJztcbkB1c2UgJy4uL2NvcmUvbWRjLWhlbHBlcnMvbWRjLWhlbHBlcnMnO1xuQHVzZSAnLi4vY29yZS90eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG5cbi8vIEdlbmVyYXRlcyBhbGwgY29sb3IgbWFwcGluZyBmb3IgdGhlIHByb3BlcnRpZXMgdGhhdCBvbmx5IGNoYW5nZSBiYXNlZCBvbiB0aGUgdGhlbWUuXG5AZnVuY3Rpb24gX2dldC10aGVtZS1iYXNlLW1hcCgkaXMtZGFyaykge1xuICAkb24tc3VyZmFjZTogaWYoJGlzLWRhcmssIG1kYy1jb2xvci1wYWxldHRlLiRncmV5LTEwMCwgbWRjLWNvbG9yLXBhbGV0dGUuJGdyZXktODAwKTtcbiAgJGhhaXJsaW5lOiBpZigkaXMtZGFyaywgbWRjLWNvbG9yLXBhbGV0dGUuJGdyZXktNTAwLCBtZGMtY29sb3ItcGFsZXR0ZS4kZ3JleS0zMDApO1xuICAkb24tc3VyZmFjZS12YXJpYW50OiBpZigkaXMtZGFyaywgbWRjLWNvbG9yLXBhbGV0dGUuJGdyZXktMjAwLCBtZGMtY29sb3ItcGFsZXR0ZS4kZ3JleS03MDApO1xuICAkb24tc3VyZmFjZS1zdGF0ZS1jb250ZW50OiBpZigkaXMtZGFyaywgbWRjLWNvbG9yLXBhbGV0dGUuJGdyZXktNTAsIG1kYy1jb2xvci1wYWxldHRlLiRncmV5LTkwMCk7XG4gICRkaXNhYmxlZC1oYW5kbGUtY29sb3I6IG1kYy1jb2xvci1wYWxldHRlLiRncmV5LTgwMDtcbiAgJHNlbGVjdGVkLWljb24tY29sb3I6IG1kYy1jb2xvci1wYWxldHRlLiRncmV5LTEwMDtcbiAgJGljb24tY29sb3I6IGlmKCRpcy1kYXJrLCBtZGMtY29sb3ItcGFsZXR0ZS4kZ3JleS04MDAsIG1kYy1jb2xvci1wYWxldHRlLiRncmV5LTEwMCk7XG5cbiAgQHJldHVybiAoXG4gICAgZGlzYWJsZWQtc2VsZWN0ZWQtaGFuZGxlLWNvbG9yOiAkZGlzYWJsZWQtaGFuZGxlLWNvbG9yLFxuICAgIGRpc2FibGVkLXVuc2VsZWN0ZWQtaGFuZGxlLWNvbG9yOiAkZGlzYWJsZWQtaGFuZGxlLWNvbG9yLFxuXG4gICAgZGlzYWJsZWQtc2VsZWN0ZWQtdHJhY2stY29sb3I6ICRvbi1zdXJmYWNlLFxuICAgIGRpc2FibGVkLXVuc2VsZWN0ZWQtdHJhY2stY29sb3I6ICRvbi1zdXJmYWNlLFxuICAgIHVuc2VsZWN0ZWQtZm9jdXMtc3RhdGUtbGF5ZXItY29sb3I6ICRvbi1zdXJmYWNlLFxuICAgIHVuc2VsZWN0ZWQtcHJlc3NlZC1zdGF0ZS1sYXllci1jb2xvcjogJG9uLXN1cmZhY2UsXG4gICAgdW5zZWxlY3RlZC1ob3Zlci1zdGF0ZS1sYXllci1jb2xvcjogJG9uLXN1cmZhY2UsXG5cbiAgICB1bnNlbGVjdGVkLWZvY3VzLXRyYWNrLWNvbG9yOiAkaGFpcmxpbmUsXG4gICAgdW5zZWxlY3RlZC1ob3Zlci10cmFjay1jb2xvcjogJGhhaXJsaW5lLFxuICAgIHVuc2VsZWN0ZWQtcHJlc3NlZC10cmFjay1jb2xvcjogJGhhaXJsaW5lLFxuICAgIHVuc2VsZWN0ZWQtdHJhY2stY29sb3I6ICRoYWlybGluZSxcblxuICAgIHVuc2VsZWN0ZWQtZm9jdXMtaGFuZGxlLWNvbG9yOiAkb24tc3VyZmFjZS1zdGF0ZS1jb250ZW50LFxuICAgIHVuc2VsZWN0ZWQtaG92ZXItaGFuZGxlLWNvbG9yOiAkb24tc3VyZmFjZS1zdGF0ZS1jb250ZW50LFxuICAgIHVuc2VsZWN0ZWQtcHJlc3NlZC1oYW5kbGUtY29sb3I6ICRvbi1zdXJmYWNlLXN0YXRlLWNvbnRlbnQsXG5cbiAgICBoYW5kbGUtc3VyZmFjZS1jb2xvcjogc3VyZmFjZSxcbiAgICB1bnNlbGVjdGVkLWhhbmRsZS1jb2xvcjogJG9uLXN1cmZhY2UtdmFyaWFudCxcblxuICAgIHNlbGVjdGVkLWljb24tY29sb3I6ICRzZWxlY3RlZC1pY29uLWNvbG9yLFxuICAgIGRpc2FibGVkLXNlbGVjdGVkLWljb24tY29sb3I6ICRpY29uLWNvbG9yLFxuICAgIGRpc2FibGVkLXVuc2VsZWN0ZWQtaWNvbi1jb2xvcjogJGljb24tY29sb3IsXG4gICAgdW5zZWxlY3RlZC1pY29uLWNvbG9yOiAkaWNvbi1jb2xvcixcbiAgKTtcbn1cblxuLy8gR2VuZXJhdGVzIHRoZSBtYXBwaW5nIGZvciB0aGUgcHJvcGVydGllcyB0aGF0IGNoYW5nZSBiYXNlZCBvbiB0aGUgc2xpZGUgdG9nZ2xlIGNvbG9yLlxuQGZ1bmN0aW9uIF9nZXQtdGhlbWUtY29sb3ItbWFwKCRjb2xvci1wYWxldHRlKSB7XG4gICRzdGF0ZS1jb250ZW50OiBjb2xvci5zY2FsZSgkY29sb3ItcGFsZXR0ZSwgJGJsYWNrbmVzczogNTAlKTtcbiAgJGludmVyc2U6IGNvbG9yLnNjYWxlKCRjb2xvci1wYWxldHRlLCAkbGlnaHRuZXNzOiA3NSUpO1xuXG4gIEByZXR1cm4gKFxuICAgIHNlbGVjdGVkLWZvY3VzLXN0YXRlLWxheWVyLWNvbG9yOiAkY29sb3ItcGFsZXR0ZSxcbiAgICBzZWxlY3RlZC1oYW5kbGUtY29sb3I6ICRjb2xvci1wYWxldHRlLFxuICAgIHNlbGVjdGVkLWhvdmVyLXN0YXRlLWxheWVyLWNvbG9yOiAkY29sb3ItcGFsZXR0ZSxcbiAgICBzZWxlY3RlZC1wcmVzc2VkLXN0YXRlLWxheWVyLWNvbG9yOiAkY29sb3ItcGFsZXR0ZSxcblxuICAgIHNlbGVjdGVkLWZvY3VzLWhhbmRsZS1jb2xvcjogJHN0YXRlLWNvbnRlbnQsXG4gICAgc2VsZWN0ZWQtaG92ZXItaGFuZGxlLWNvbG9yOiAkc3RhdGUtY29udGVudCxcbiAgICBzZWxlY3RlZC1wcmVzc2VkLWhhbmRsZS1jb2xvcjogJHN0YXRlLWNvbnRlbnQsXG5cbiAgICBzZWxlY3RlZC1mb2N1cy10cmFjay1jb2xvcjogJGludmVyc2UsXG4gICAgc2VsZWN0ZWQtaG92ZXItdHJhY2stY29sb3I6ICRpbnZlcnNlLFxuICAgIHNlbGVjdGVkLXByZXNzZWQtdHJhY2stY29sb3I6ICRpbnZlcnNlLFxuICAgIHNlbGVjdGVkLXRyYWNrLWNvbG9yOiAkaW52ZXJzZSxcbiAgKTtcbn1cblxuQG1peGluIGNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKG1hcC5nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuICAkYWNjZW50OiB0aGVtaW5nLmdldC1jb2xvci1mcm9tLXBhbGV0dGUobWFwLmdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgJHdhcm46IHRoZW1pbmcuZ2V0LWNvbG9yLWZyb20tcGFsZXR0ZShtYXAuZ2V0KCRjb25maWcsIHdhcm4pKTtcbiAgJGlzLWRhcms6IG1hcC5nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRmb3JlZ3JvdW5kOiBtYXAuZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIEBpbmNsdWRlIG1kYy1oZWxwZXJzLnVzaW5nLW1kYy10aGVtZSgkY29uZmlnKSB7XG4gICAgLy8gTURDJ3Mgc3dpdGNoIGRvZXNuJ3Qgc3VwcG9ydCBhIGBjb2xvcmAgcHJvcGVydHkuIFdlIGFkZCBzdXBwb3J0XG4gICAgLy8gZm9yIGl0IGJ5IGFkZGluZyBhIENTUyBjbGFzcyBmb3IgYWNjZW50IGFuZCB3YXJuIHN0eWxlLlxuICAgIC5tYXQtbWRjLXNsaWRlLXRvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZm9ybS1maWVsZC5jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1oZWxwZXJzLiRtZGMtdGhlbWUtc3R5bGVzLXF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdGhlbWUudGhlbWUoX2dldC10aGVtZS1iYXNlLW1hcCgkaXMtZGFyaykpO1xuXG4gICAgICAvLyBNREMgc2hvdWxkIHNldCB0aGUgZGlzYWJsZWQgY29sb3Igb24gdGhlIGxhYmVsLCBidXQgZG9lc24ndCwgc28gd2UgZG8gaXQgaGVyZSBpbnN0ZWFkLlxuICAgICAgLm1kYy1zd2l0Y2gtLWRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItZnJvbS1wYWxldHRlKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdGhlbWUudGhlbWUoX2dldC10aGVtZS1jb2xvci1tYXAoJHByaW1hcnkpKTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtYWNjZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN3aXRjaC10aGVtZS50aGVtZShfZ2V0LXRoZW1lLWNvbG9yLW1hcCgkYWNjZW50KSk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4ge1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3dpdGNoLXRoZW1lLnRoZW1lKF9nZXQtdGhlbWUtY29sb3ItbWFwKCR3YXJuKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogdHlwb2dyYXBoeS5wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxOC1jb25maWcoXG4gICAgICB0aGVtaW5nLmdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSk7XG4gIEBpbmNsdWRlIG1kYy1oZWxwZXJzLnVzaW5nLW1kYy10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgICBAaW5jbHVkZSBtZGMtZm9ybS1maWVsZC5jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1oZWxwZXJzLiRtZGMtdHlwb2dyYXBoeS1zdHlsZXMtcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBkZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IHRoZW1pbmcuZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW1kYy1zbGlkZS10b2dnbGUge1xuICAgIEBpbmNsdWRlIG1kYy1zd2l0Y2gtdGhlbWUudGhlbWUobWRjLXN3aXRjaC10aGVtZS5kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKSk7XG4gIH1cbn1cblxuQG1peGluIHRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiB0aGVtaW5nLnByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcblxuICBAaW5jbHVkZSB0aGVtaW5nLnByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGUtdG9nZ2xlJykge1xuICAgICRjb2xvcjogdGhlbWluZy5nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IHRoZW1pbmcuZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IHRoZW1pbmcuZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAtLVxuLy8gU2VsZWN0b3IgJy5tZGMtKicgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiB0aGlzIHByb2plY3QuXG5cbkB1c2UgJ0BtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mZWF0dXJlLXRhcmdldGluZyc7XG5AdXNlICdAbWF0ZXJpYWwvcnRsL3J0bCc7XG5AdXNlICdAbWF0ZXJpYWwvdGhlbWUvdGhlbWUnO1xuQHVzZSAnQG1hdGVyaWFsL3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AdXNlICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZm9ybS1maWVsZCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS50eXBvZ3JhcGh5KGJvZHkyLCAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUucHJvcGVydHkoY29sb3IsIHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAmW2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgMCwgYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgdmFyaWFibGVzLiRpdGVtLXNwYWNpbmcsIDApO1xuXG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZm9ybS1maWVsZC0tbm93cmFwIHtcbiAgICA+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kIHtcbiAgICA+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAwKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAwLCB2YXJpYWJsZXMuJGl0ZW0tc3BhY2luZyk7XG5cbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZm9ybS1maWVsZC0tc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmcudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICA+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBydGwucnRsIHtcbiAgICAgICAgICAvLyBSVEwgbmVlZGVkIGZvciBzcGVjaWZpY2l0eVxuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNkay1vdmVybGF5LXBhbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4vLyBEaXNhYmxlIGdsb2JhbCBzY3JvbGxiYXJzICh1c2VkIGluIGZ1bGwgc2NyZWVuIGV1aS1kaWFsb2cgZm9yIGV4YW1wbGUpXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZXVpLXNjcm9sbGJhcnM7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xufVxuQGluY2x1ZGUgbWVkaWEoJGV1aS1ia3AtbW9iaWxlKSB7XG4gICAgLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBldWktc2Nyb2xsYmFycztcbiAgICB9XG59XG4iLCJAbWl4aW4gZXVpLXNjcm9sbGJhcnMoICRzaXplOiA4cHgsICRmb3JlZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWdyZXktMjApLCAkYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTEwKSwgJGJvcmRlci1yYWRpdXM6IDVyZW0sICRzdGF0ZTogYWN0aXZlICkge1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTsgICAgICAvLyBob3Jpem9udGFsIHNjcm9sbFxuICAgICAgICB3aWR0aDogJHNpemU7ICAgICAgIC8vIHZlcnRpY2FsIHNjcm9sbFxuICAgICAgICAvLyB6LWluZGV4OiB2KGV1aS1iYXNlLXotaW5kZXgtaGlnaGxpZ2h0ZWQpOyAgICAgICAgLy8gc2hvdWxkIGJlIHdoZW4gaW4gZWRpdGlvbiBtb2RlXG4gICAgICAgIEBpZiAoJHN0YXRlID09IGFjdGl2ZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHRoZSBzY3JvbGxpbmcgYmFyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBAaWYgKCRzdGF0ZSA9PSBhY3RpdmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS0yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHRoZSBzY3JvbGwgY29udGFpbmVyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBAaWYgKCRzdGF0ZSA9PSBhY3RpdmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBldWktc2Nyb2xsYmFycy1pbmFjdGl2ZSgkc2l6ZTogOHB4KSB7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTsgICAgICAvLyBob3Jpem9udGFsIHNjcm9sbFxuICAgICAgICB3aWR0aDogJHNpemU7ICAgICAgIC8vIHZlcnRpY2FsIHNjcm9sbFxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4iLCIkZGVmYXVsdC1mZWF0dXJlOiBcIm1pbi13aWR0aFwiO1xuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zKSB7XG4gICAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAgICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICAgICAgfVxuICAgICAgICAkaTogMTtcbiAgICAgICAgQHdoaWxlICRpIDw9JGxvb3AtdG8ge1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG4gICAgICAgICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAgICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkaTogJGkrMjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gVE9ETyB2MTUgcmVtb3ZlIC8gcmVwbGFjZSBpbiBzaG93Y3phc2VcblxuLmZsZXgtY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIHYgdiB2ICBJRTExIEZJWEVTIC0+IFRPIEJFIERFUFJFQ0FURUQgIHYgdiB2XG4vLyBGbGV4Ym94IC8gQm9vdHN0cmFwIG9idmlvdXMgb3ZlcnJpZGVzIGZvciBJRS9WZW5kb3JzXG4uZC1mbGV4IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4vLyBMaWtlIC5jb2wgZGVmaW5pdGlvbiB3aXRoIElFIGZpeFxuLnV4LWNvbCB7XG4gICAgLy8gQSBwcmVmZXJyZWQgc2l6ZSBvZiAwIG11c3QgaGF2ZSBhIHVuaXQgdG8gYXZvaWQgYmVpbmcgaW50ZXJwcmV0ZWQgYXMgYSBmbGV4aWJpbGl0eS5cbiAgICAvLyBEZWZhdWx0cyB0byAwJSB3aGVuIG9taXR0ZWQuXG4gICAgLy8gU291cmNlOiBNRE4gJiBNU0ROXG4gICAgZmxleDogMSAwIGF1dG87XG59XG4iLCIvLyBUT0RPIHYxNSB0cmFuc2ZlciB0byBzdHlsZXMgYmFzZSA/XG5cbi8vIEhFQURJTkdTXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG4uaDcsXG4uaDgsXG4uaDkge1xuICAgIEBpbmNsdWRlIGV1aS1mb250LWZhbWlseSgpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8vIGZvbnQtZmFtaWx5OiB2KGV1aS1iYXNlLWZvbnQtZmFtaWx5KTtcbiAgICAvLyBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMSxcbi5oMSB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQoNHhsLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG5oMixcbi5oMiB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQoM3hsLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG5oMyxcbi5oMyB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQoMnhsLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG5oNCxcbi5oNCB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQoeGwsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbmg1LFxuLmg1IHtcbiAgICBAaW5jbHVkZSBldWktZm9udChsLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG5oNixcbi5oNiB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQobSwgdWkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLmg3LFxuLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBldWktZm9udChzLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG4uaDgsXG4uc21hbGxlciB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQoeHMsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbi5oOSxcbi5zbWFsbGVzdCxcbi50aW55IHtcbiAgICBAaW5jbHVkZSBldWktZm9udCgyeHMsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cblxuYSxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1saW5rKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1saW5rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgLy8gVE9ETzogdW5kZXJsaW5lIGRvdHRlZCBpcyB0aGUgZGVmYXVsdCBhbmQgcmVjb21tZW5kZWQgdXNhZ2Vcbn1cblxuLmxhYmVsLCBhYmJyLCBibG9ja3F1b3RlLCBkZWwsIGxhYmVsLCBtYXJrLCBwIHtcbiAgICBmb250LXNpemU6IHYoZXVpLWJhc2UtZm9udC1zaXplKTtcbn1cblxubGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IHYoZXVpLWJhc2Utc3BhY2luZy14cyk7XG59XG4iLCJAbWl4aW4gZXVpLWZvbnQoJHNpemU6IG0sICRmYW1pbHk6IHVpKSB7XG4gICAgJHNlbGVjdGVkLWZhbWlseTogbWFwLWdldCgkZXVpLWJhc2UtdG9rZW5zLWZvbnRzLCAkZmFtaWx5KTtcbiAgICAkc2VsZWN0ZWQtZm9udC1kZWZpbml0aW9uOiBtYXAtZ2V0KCRzZWxlY3RlZC1mYW1pbHksICRzaXplKTtcblxuICAgIGZvbnQ6ICRzZWxlY3RlZC1mb250LWRlZmluaXRpb247XG59XG4iLCIvLyBlVUkgMTMrIG9ubHlcbi5ldWktaW5wdXQtbWF4bGVuZ3RoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5ldWktaW5wdXQtbWF4bGVuZ3RoIHtcbiAgICAgICAgQGluY2x1ZGUgZXVpLWZvbnQoeHMsIHVpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTEwKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdihldWktYmFzZS1jb2xvci1ncmV5LTUwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdihldWktYmFzZS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItYmxhY2spO1xuICAgICAgICBwYWRkaW5nOiAwIHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC0xICogI3t2KGV1aS1iYXNlLXNwYWNpbmcteHMpfSk7XG4gICAgICAgIHRvcDogY2FsYygtMSAqICN7dihldWktYmFzZS1zcGFjaW5nLXhzKX0pO1xuICAgICAgICB6LWluZGV4OiB2KGV1aS1iYXNlLXotaW5kZXgtaW5wdXQtbWF4bGVuZ3RoKTtcblxuICAgICAgICAmLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZGFuZ2VyLTEwMCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZGFuZ2VyLTEwMCk7XG4gICAgICAgICAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci13aGl0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJodG1sIHtcbiAgICAvLyBFeHBvc2VkIENTUyB2YXJzXG4gICAgLS1ldWktaHRtbC1mb250LXNpemU6IHZhcigtLWV1aS1iYXNlLWZvbnQtc2l6ZSk7XG4gICAgLS1ldWktaHRtbC1saW5lLWhlaWdodDogdmFyKC0tZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogdihldWktaHRtbC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1odG1sLWxpbmUtaGVpZ2h0KTtcbn1cbiIsImJvZHkge1xuICAgIC8vIEV4cG9zZWQgQ1NTIHZhcnNcbiAgICAtLWV1aS1ib2R5LWJnLWNvbG9yOiB2YXIoLS1ldWktYXBwLWJvZHktYmctY29sb3IpO1xuICAgIC0tZXVpLWJvZHktY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yKTtcbiAgICAtLWV1aS1ib2R5LWZvbnQtZmFtaWx5OiB2YXIoLS1ldWktYmFzZS1mb250LWZhbWlseSk7XG4gICAgLS1ldWktYm9keS1mb250LXNpemU6IHZhcigtLWV1aS1iYXNlLWZvbnQtc2l6ZSk7XG4gICAgLS1ldWktYm9keS1saW5lLWhlaWdodDogdmFyKC0tZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYm9keS1iZy1jb2xvcik7XG4gICAgY29sb3I6IHYoZXVpLWJvZHktY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2KGV1aS1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICBmb250LXNpemU6IHYoZXVpLWJvZHktZm9udC1zaXplKTtcbiAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJvZHktbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG4iLCIvLyBNYWtlIHZpZXdwb3J0IHJlc3BvbnNpdmVcbi8vXG4vLyBAdmlld3BvcnQgaXMgbmVlZGVkIGJlY2F1c2UgSUUgMTArIGRvZXNuJ3QgaG9ub3IgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+IGluXG4vLyBzb21lIGNhc2VzLiBTZWUgaHR0cHM6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbi8vIEV2ZW50dWFsbHkgQHZpZXdwb3J0IHdpbGwgcmVwbGFjZSA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4uXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTcpXG4vLyBhbmQgdGhlIGZpeCBmb3IgdGhhdCBpbnZvbHZlcyBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudFxuLy8gYW5kIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTLlxuLy9cbi8vIFNlZSBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGggZm9yIHRoZSByZWxldmFudCBoYWNrLlxuLy9cbi8vIFdyYXAgYEB2aWV3cG9ydGAgd2l0aCBgQGF0LXJvb3RgIGZvciB3aGVuIGZvbGtzIGRvIGEgbmVzdGVkIGltcG9ydCAoZS5nLixcbi8vIGAuY2xhc3MtbmFtZSB7IEBpbXBvcnQgXCJib290c3RyYXBcIjsgfWApLlxuQGF0LXJvb3Qge1xuICAgIEAtbXMtdmlld3BvcnQge1xuICAgICAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCT1gtU0laSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3gtc2l6aW5nOlxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXG4gKi9cblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG4gICAgJixcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuLy8gU2VlOlxuLy8gKiBodHRwczovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cHM6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5wLFxubGFiZWwsXG4ubGFiZWwsXG5ibG9ja3F1b3RlLFxuYWJicixcbm1hcmssXG5kZWwge1xuICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUpO1xufVxuXG4ubGFiZWwsXG5sYWJlbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgICAvLyBEbyBOT1QgY2hhbmdlIVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IHYoZXVpLWJhc2Utc3BhY2luZy1tKTsgIC8vIEZvciBpbmxpbmUgZGlzcGxheVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgIC8vIE1hbmRhdG9yeSEgRG8gTk9UIGNoYW5nZSFcbn1cblxuZW0ge1xuICAgIC8vZm9udC1mYW1pbHk6IHYoZXVpLWZvbnQtZmFtaWx5LWl0YWxpYyk7IC8vIGRvIE5PVCB1c2UgbWl4aW4gaGVyZSFcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbm9wdGdyb3VwLFxuc3Ryb25nLFxuYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmIGksXG4gICAgJiBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG59XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LXNpemU6IHYoZXVpLWJhc2UtZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBldWktZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG5jb2RlIHtcbiAgICBjb2xvcjogI2NjMzY3YjsgICAgIC8vIFdDQUcyIEFBIGNvbnRyYXN0IHJhdGlvIGNvbXBsaWFudDogNC41OVxuICAgIGZvbnQtc2l6ZTogOTUlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG5rYmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS03NSk7ICAgIC8vIFdDQUcyIEFBIGNvbXBsaWFudFxuICAgIGJvcmRlci1yYWRpdXM6IHYoZXVpLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUtcyk7XG4gICAgcGFkZGluZzogMXB4IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpO1xufVxuXG5wcmUge1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDg3LjUlO1xuICAgIG1hcmdpbi1ib3R0b206IHYoZXVpLWJhc2Utc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBib3JkZXItbGVmdDogdihldWktYmFzZS1zcGFjaW5nLXhzKSBzb2xpZCB2KGV1aS1iYXNlLWNvbG9yLWdyZXktMjApO1xuICAgIHBhZGRpbmc6IHYoZXVpLWJhc2Utc3BhY2luZy14cykgdihldWktYmFzZS1zcGFjaW5nLW0pO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItYWNjZW50LTI1KTtcbiAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbnRhYmxlLmV1aS10YWJsZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWZvbnQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBPdmVyYWxsIHNldHRpbmdzIChkZWZhdWx0KVxuICAgIHRoZWFkID4gdHIgPiB0aCxcbiAgICB0Ym9keSA+IHRyID4gdGQsXG4gICAgdGZvb3QgPiB0ciA+IHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICB0ciA+IHRoLFxuICAgIHRyID4gdGQge1xuICAgICAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmctcyk7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdihldWktYmFzZS1jb2xvci1ncmV5LTEwKTtcbiAgICAgICAgICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWdyZXktNzUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2KGV1aS1iYXNlLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmctbSkgdihldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGV1aS1mb250LWZhbWlseS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdihldWktYmFzZS1jb2xvci1ncmV5LTUpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0cmlwZWQgJiBob3ZlcmVkIHRhYmxlcyBieSBkZWZhdWx0IChVWClcbiAgICB0Ym9keSB7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgIC8vIG9wdGlvbmFsIC0gZW5hYmxlIGlPUyBtb21lbnR1bSBzY3JvbGxpbmdcblxuICAgICAgICB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWdyZXktNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWdyZXktNSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdihldWktYmFzZS1jb2xvci1ncmV5LTIwKTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cblxuICAgIC8vIENvbXBhY3QgdGFibGVcbiAgICAmLS1jb21wYWN0IHtcbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHYoZXVpLWJhc2Utc3BhY2luZy14cykgdihldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIgPiB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKSB2KGV1aS1iYXNlLXNwYWNpbmctcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHRhYmxlXG4gICAgJi0tcmVzcG9uc2l2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7ICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9yZGVyZWQgdGFibGVcbiAgICAmLS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2KGV1aS1iYXNlLWNvbG9yLWdyZXktMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2hhZG93ZWQgdGFibGVcbiAgICAmLS1zaGFkb3dlZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IHYoZXVpLWJhc2UtYmFzZS1zaGFkb3ctMSk7XG4gICAgfVxuXG4gICAgLy8gTm9XcmFwIHRhYmxlIGNvbnRlbnQgKGFsc28gZGlzYWJsZXMgZWxsaXBzaXMpXG4gICAgJi0tbm93cmFwIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIHRib2R5ID4gdHIgPiB0ZCxcbiAgICAgICAgdGZvb3QgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDZW50ZXJlZCB0YWJsZVxuICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBNaWRkbGUgYWxpZ25lZCBjZWxscyBjb250ZW50XG4gICAgJi0tYWxpZ24tbWlkZGxlIHtcbiAgICAgICAgdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAvLyBSRVNQT05TSVZFIExBWU9VVCAoUFJPVE8pXG4vLyBAaW5jbHVkZSBtZWRpYSgkZXVpLWJrcC1tb2JpbGUpIHtcbi8vICAgICB0YWJsZS51eC10YWJsZSB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4vLyAgICAgICAgICYudXgtdGFibGUtLXJlc3BvbnNpdmUge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbi8vICAgICAgICAgICAgICYudXgtdGFibGUtLWJvcmRlcmVkIHtcbi8vICAgICAgICAgICAgICAgICB0ciB7XG4vLyAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItZ3JleS1saWdodCk7XG4vLyAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgfVxuXG4vLyAgICAgICAgICAgICAmLnV4LXRhYmxlLS1jb21wYWN0IHtcbi8vICAgICAgICAgICAgICAgICB0ZCB7XG4vLyAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2KGV1aS1iYXNlLXNwYWNpbmctM3hzKTtcbi8vICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpO1xuXG4vLyAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpO1xuLy8gICAgICAgICAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgfVxuXG4vLyAgICAgICAgICAgICAvLyBGb3JjZSB0YWJsZSB0byBiZSBsaWtlIGNhcmRzXG4vLyAgICAgICAgICAgICB0aGVhZCxcbi8vICAgICAgICAgICAgIHRib2R5LFxuLy8gICAgICAgICAgICAgdGgsXG4vLyAgICAgICAgICAgICB0ZCxcbi8vICAgICAgICAgICAgIHRyIHtcbi8vICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgLy8gSGlkZSB0YWJsZSBoZWFkZXJzIGJ1dCBub3QgZGlzcGxheTogbm9uZSBmb3IgYWNjZXNzaWJpbGl0eVxuLy8gICAgICAgICAgICAgdGhlYWQgdHIge1xuLy8gICAgICAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7XG4vLyAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgICAgICAgICAgIHRvcDogLTk5OTlweDtcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgdHIge1xuLy8gICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgdGgsXG4vLyAgICAgICAgICAgICB0ZCB7XG4vLyAgICAgICAgICAgICAgICAgLy8gQmVoYXZlIGxpa2UgYSBcInJvd1wiXG4vLyAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2KGV1aS1iYXNlLWNvbG9yLWdyZXktbGlnaHRlc3QpO1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmc6IHYoZXVpLWJhc2Utc3BhY2luZy14cyk7XG4vLyAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4vLyAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgICAgfVxuXG4vLyAgICAgICAgICAgICB0ZDo6YmVmb3JlIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LWRhcmspO1xuLy8gICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb2wpOyAgICAvLyBMaWtlIGEgdGFibGUgaGVhZGVyIGNvbHVtblxuLy8gICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gICAgICAgICAgICAgICAgIGxlZnQ6IHYoZXVpLWJhc2Utc3BhY2luZy14cyk7XG4vLyAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdihldWktYmFzZS1zcGFjaW5nLXhzKTtcbi8vICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgICAgICAgICAgLy8gTWltaWMgdG9wICYgbGVmdCBwYWRkaW5nc1xuLy8gICAgICAgICAgICAgICAgIHRvcDogdihldWktYmFzZS1zcGFjaW5nLXhzKTtcbi8vICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG4iLCIvLyBHTE9CQUwgQ09NUEFDVCBUSEVNRVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmh0bWwuZXVpLXQtY29tcGFjdCB7XG4gICAgLy8gRXhwb3NlZCBDU1MgdmFyaWFibGVzXG4gICAgLS1ldWktYmFzZS1mb250LXNpemU6IDE0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZSBiYXNlIGZvciBjb21wYWN0IHRoZW1lXG4gICAgLS1ldWktYmFzZS1saW5lLWhlaWdodDogMS4yNTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaXRsZXNzIG51bWJlciB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBlbGVtZW50J3MgZm9udCBzaXplXG4gICAgLy8gU2V0dXBcbiAgICBmb250LXNpemU6IHZhcigtLWV1aS1iYXNlLWZvbnQtc2l6ZSk7ICAgICAgICAgICAgICAgLy8gQXBwbGllcyB0aGUgZGVmaW5lZCBjdXN0b20gZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTsgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGxpbmUgaGVpZ2h0IHJhdGlvXG59XG5cbi8vIEZPUk0gRUxFTUVOVFNcbi8vLy8vLy8vLy8vLy8vLy8vXG5mb3JtLmV1aS10LWZvcm0tY29tcGFjdCB7XG4gICAgLy8gRXhwb3NlZCBDU1MgdmFyaWFibGVzXG4gICAgLS1ldWktYmFzZS1mb250LXNpemU6IDE0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplIGJhc2UgZm9yIGNvbXBhY3QgdGhlbWVcbiAgICAtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0OiAxLjI1OyAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdGxlc3MgbnVtYmVyIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGVsZW1lbnQncyBmb250IHNpemVcbiAgICAtLWV1aS1pbnB1dC1ncm91cC1zcGFjaW5nOiB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLXhzKTsgICAvLyBTcGFjaW5nIGJldHdlZW4gZm9ybSBncm91cHMgZWxlbWVudHNcbiAgICAvLyBJbnRlcm5hbHNcbiAgICAvLyBTZWU6IGV1aS1zdHlsZXMtYmFzZVxcc3JjXFxzdHlsZXNcXDAyLWJhc2VcXG1peGluc1xcdGhlbWluZ1xcX2NvbXBhY3QtdmFycy5zY3NzXG4gICAgQGluY2x1ZGUgZXVpLWNvbXBhY3QtZ2V0LXRva2VucygpO1xuICAgIC8vIFNldHVwXG4gICAgZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpOyAgICAgICAgICAgICAgICAgICAgLy8gQXBwbGllcyB0aGUgZGVmaW5lZCBjdXN0b20gZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTsgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGxpbmUgaGVpZ2h0IHJhdGlvXG5cbiAgICAvLyBJbnRlcm5hbHNcbiAgICAuZXVpLWlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZXVpLWlucHV0LWdyb3VwLXNwYWNpbmcpO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWV1aS1iYXNlLXNwYWNpbmctMnhzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ldWktaW5wdXQtZ3JvdXAtYWRkb24taXRlbSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMi41ICogI3t2KGV1aS1iYXNlLXNwYWNpbmcpfSk7XG4gICAgICAgIG1pbi13aWR0aDogY2FsYygyLjUgKiAje3YoZXVpLWJhc2Utc3BhY2luZyl9KTtcbiAgICAgICAgcGFkZGluZzogY2FsYygje3YoZXVpLWJhc2Utc3BhY2luZy14cyl9IC0gMXB4KTtcbiAgICB9XG59XG5cbi8vIFRBQkxFXG4vLy8vLy8vLy8vLy8vLy8vL1xuLmV1aS10YWJsZS5ldWktdC10YWJsZS1jb21wYWN0IHtcbiAgICAvLyBFeHBvc2VkIENTUyB2YXJpYWJsZXNcbiAgICAtLWV1aS1iYXNlLWZvbnQtc2l6ZTogMTRweDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUgYmFzZSBmb3IgY29tcGFjdCB0aGVtZVxuICAgIC0tZXVpLWJhc2UtbGluZS1oZWlnaHQ6IDEuMjU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml0bGVzcyBudW1iZXIgdmFsdWUgaXMgbXVsdGlwbGllZCBieSB0aGUgZWxlbWVudCdzIGZvbnQgc2l6ZVxuICAgIC0tZXVpLXRhYmxlLWhlYWRlci1wYWRkaW5nOiB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLXMpOyAgIC8vIFRhYmxlIGhlYWRlciBzcGFjZXIgc2V0IHRvIDAuNzVyZW1cbiAgICAtLWV1aS10YWJsZS1yb3ctcGFkZGluZzogdmFyKC0tZXVpLWJhc2Utc3BhY2luZy0yeHMpOyAgICAvLyBUYWJsZSBib2R5IHJvdyBzcGFjZXIgc2V0IHRvIDAuMjVyZW1cbiAgICAtLWV1aS10YWJsZS1mb290ZXItcGFkZGluZzogdmFyKC0tZXVpLWJhc2Utc3BhY2luZy1zKTsgICAvLyBUYWJsZSBmb290ZXIgc3BhY2VyIHNldCB0byAwLjc1cmVtXG4gICAgLy8gSW50ZXJuYWxzXG4gICAgQGluY2x1ZGUgZXVpLWNvbXBhY3QtZ2V0LXRva2VucygpO1xuICAgIC8vIFNldHVwXG4gICAgZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpOyAgICAgICAgICAgICAgICAgICAgLy8gQXBwbGllcyB0aGUgZGVmaW5lZCBjdXN0b20gZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTsgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGxpbmUgaGVpZ2h0IHJhdGlvXG5cbiAgICAvLyBJbnRlcm5hbHNcbiAgICB0aGVhZCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWV1aS10YWJsZS1oZWFkZXItcGFkZGluZykgIHZhcigtLWV1aS1iYXNlLXNwYWNpbmctcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWV1aS10YWJsZS1yb3ctcGFkZGluZykgIHZhcigtLWV1aS1iYXNlLXNwYWNpbmctcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Zm9vdCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWV1aS10YWJsZS1mb290ZXItcGFkZGluZykgIHZhcigtLWV1aS1iYXNlLXNwYWNpbmctcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENBUkRcbi8vLy8vLy8vLy8vLy8vLy8vXG4uZXVpLWNhcmQuZXVpLXQtY2FyZC1jb21wYWN0IHtcbiAgICAvLyBFeHBvc2VkIENTUyB2YXJpYWJsZXNcbiAgICAtLWV1aS1iYXNlLWZvbnQtc2l6ZTogMTRweDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUgYmFzZSBmb3IgY29tcGFjdCB0aGVtZVxuICAgIC0tZXVpLWJhc2UtbGluZS1oZWlnaHQ6IDEuMjU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml0bGVzcyBudW1iZXIgdmFsdWUgaXMgbXVsdGlwbGllZCBieSB0aGUgZWxlbWVudCdzIGZvbnQgc2l6ZVxuICAgIC0tZXVpLWNhcmQtdGl0bGUtc2l6ZTogdmFyKC0tZXVpLWJhc2UtZm9udC1zaXplLW0pOyAgICAgIC8vIENhcmQgdGl0bGUgZm9udCBzaXplXG4gICAgLS1ldWktY2FyZC1zdWJ0aXRsZS1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUtcyk7ICAgLy8gQ2FyZCBzdWJ0aXRsZSBmb250IHNpemVcbiAgICAvLyBJbnRlcm5hbHNcbiAgICBAaW5jbHVkZSBldWktY29tcGFjdC1nZXQtdG9rZW5zKCk7XG4gICAgLy8gU2V0dXBcbiAgICBmb250LXNpemU6IHZhcigtLWV1aS1iYXNlLWZvbnQtc2l6ZSk7ICAgICAgICAgICAgICAgICAgICAvLyBBcHBsaWVzIHRoZSBkZWZpbmVkIGN1c3RvbSBmb250IHNpemVcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZXVpLWJhc2UtbGluZS1oZWlnaHQpOyAgICAgICAgICAgLy8gQXBwbGllcyB0aGUgZGVmaW5lZCBjdXN0b20gbGluZSBoZWlnaHQgcmF0aW9cblxuICAgIC8vIEludGVybmFsc1xuICAgIC5ldWktY2FyZCB7XG4gICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgICZfX3RpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgJi10aXRsZSxcbiAgICAgICAgICAgICAgICAmLXRpdGxlIC5ldWktbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWV1aS1jYXJkLXRpdGxlLXNpemUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtc3VidGl0bGUsXG4gICAgICAgICAgICAgICAgJi1zdWJ0aXRsZSAuZXVpLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ldWktY2FyZC1zdWJ0aXRsZS1zaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3VyZ2VudC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUtMnhsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gZXVpLWNvbXBhY3QtZ2V0LXRva2VucygkcmF0aW86IDAuODc1KSB7XG4gICAgLS1ldWktY29tcGFjdC1yYXRpbzogI3skcmF0aW99O1xuICAgIEBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1zcGFjaW5ncyB7XG4gICAgICAgIC0tZXVpLWJhc2Utc3BhY2luZy0jeyRzcGFjaW5nfTogY2FsYyggI3t2YXIoLS1ldWktY29tcGFjdC1yYXRpbyl9ICogI3skdmFsdWV9ICk7XG4gICAgfVxufVxuIiwiLy8gSUUxMCsgU1ZHJ3MgYXNwZWN0IHJhdGlvcyBhbmQgc2l6ZXMgZml4XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIGltZ1tzcmMkPVwiLnN2Z1wiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4ge1xuICAgIC8vIElFIEZpeDogQmljdWJpYyBTY2FsaW5nIGZvciBJbWFnZXMgJiBmdWxsIHdpZHRoIGJhY2tncm91bmQgKEVDIGxvZ28pXG4gICAgaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICAgIH1cbn1cbiIsIi8vIENPT0tJRSBDT05TRU5UXG4uY29va2llLWNvbnNlbnQtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIHRvcDogdihldWktYmFzZS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiB2KGV1aS1iYXNlLXotaW5kZXgtbWF4KSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IHYoZXVpLWJhc2Utc2hhZG93LTI0KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHYoZXVpLWJhc2UtY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKGV1aS1iYXNlLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuIiwiI2xvYWRlci13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAjbG9hZGVyIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIE9wZXJhIDE1KywgU2FmYXJpIDUrICovXG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7IC8qIENocm9tZSwgRmlyZWZveCAxNissIElFIDEwKywgT3BlcmEgKi9cbiAgICAgICAgYW5pbWF0aW9uOiBob3VyZ2xhc3MgNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdihldWktYmFzZS1jb2xvci13YXJuaW5nLTEwMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogLTEwMHB4IDAgMCAtMTAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIE9wZXJhIDE1KywgU2FmYXJpIDUrICovXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIEZpcmVmb3ggMTYrLCBJRSAxMCssIE9wZXJhICovXG4gICAgICAgICAgICBhbmltYXRpb246IGhvdXJnbGFzcyA0cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWRhbmdlci0xMDApO1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIE9wZXJhIDE1KywgU2FmYXJpIDUrICovXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIEZpcmVmb3ggMTYrLCBJRSAxMCssIE9wZXJhICovXG4gICAgICAgICAgICBhbmltYXRpb246IGhvdXJnbGFzcyAzcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLXByaW1hcnktMTAwKTtcbiAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhvdXJnbGFzcyAge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MDBkZWcpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MDBkZWcpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgaG91cmdsYXNzIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTAwZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODAwZGVnKTtcbiAgICB9XG59XG4iLCIuZXVpLXUtY29sb3ItYmxhY2sge1xuICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWJnLWNvbG9yLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ibGFjaykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3Itd2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1jb2xvci13aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtYmctY29sb3Itd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTEwMCkgIWltcG9ydGFudDtcbn1cbkBlYWNoICRjb2xvciwgJHNoYWRlcyBpbiAkZXVpLWJhc2UtdG9rZW5zLWNvbG9ycyB7XG4gICAgQGVhY2ggJHNoYWRlLCAkdmFsdWUgaW4gJHNoYWRlcyB7XG4gICAgICAgIC5ldWktdS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfSkgIWltcG9ydGFudDtcbiAgICAgICAgfTtcblxuICAgICAgICAuZXVpLXUtYmctY29sb3ItI3skY29sb3IgKyAnLScgKyAkc2hhZGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0tY29udHJhc3QpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLWNvbG9ycy0xMDBzIHtcbiAgICAuZXVpLXUtY29sb3ItI3snJyArICRjb2xvcn0ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItI3snJyArICRjb2xvcn0tMTAwKSAhaW1wb3J0YW50O1xuICAgIH07XG5cbiAgICAuZXVpLXUtYmctY29sb3ItI3snJyArICRjb2xvcn0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci0jeycnICsgJGNvbG9yfS0xMDApICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci0jeycnICsgJGNvbG9yfS0xMDAtY29uc3RyYXN0KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8vIEZPTlQtU0laRVNcbkBlYWNoICRmb250LXNpemUsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLWZvbnQtc2l6ZXMge1xuICAgIC5ldWktdS1mb250LXNpemUtI3skZm9udC1zaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBGT05UUyAodHlwb2dyYXBoaWMgaW5ncmVkaWVudHMgbGlrZSBsaW5lLWhlaWdodCwgd2VpZ2h0LCBzdHJldGNoaW5nIGV0YylcbkBlYWNoICRmYW1pbHksICRzaXplcyBpbiAkZXVpLWJhc2UtdG9rZW5zLWZvbnRzIHtcbiAgICAkZmFtaWx5LXR5cGU6ICRmYW1pbHkgKyAnLSc7XG4gICAgQGlmKCRmYW1pbHkgPT0gdWkpIHtcbiAgICAgICAgJGZhbWlseS10eXBlOiAnJztcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJGRlZmluaXRpb24gaW4gJHNpemVzIHtcbiAgICAgICAgLmV1aS11LWZvbnQtI3skZmFtaWx5LXR5cGV9I3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udDogI3skZGVmaW5pdGlvbn0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmV1aS11LWZvbnQtcmVndWxhciB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZm9udC1ib2xkIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZm9udC1ib2xkLWl0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZvbnQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mb250LWxpZ2h0IHtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQWxpZ25tZW50XG4uZXVpLXUtdGV4dC1sZWZ0ICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LXJpZ2h0ICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LWNlbnRlciAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC1qdXN0aWZ5ICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LW5vd3JhcCAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLmV1aS11LXRleHQtdHJ1bmNhdGUgICAgIHsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50OyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLy8gRGVjb3JhdGlvbnNcbi5ldWktdS10ZXh0LW92ZXJsaW5lICAgICB7IHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUgIWltcG9ydGFudDsgfVxuLmV1aS11LXRleHQtdW5kZXJsaW5lICAgIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuLmV1aS11LXRleHQtbGluZS10aHJvdWdoIHsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLmV1aS11LXRleHQtbG93ZXJjYXNlICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC11cHBlcmNhc2UgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LWNhcGl0YWxpemUgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gRXh0cmFcbi5ldWktdS10ZXh0LXNtYWxsICAgICAgICB7IGZvbnQtc2l6ZTogODAlOyB9XG4uZXVpLXUtdGV4dC1tb25vc3BhY2UgICAgeyBAaW5jbHVkZSBldWktZm9udC1mYW1pbHktbW9ub3NwYWNlOyB9XG5cbi5ldWktdS10ZXh0LWxpbmsge1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWxpbmspICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZXVpLWFjY2Vzc2libGUtZm9jdXMtb3V0bGluZSgycHgpO1xuICAgIH1cbn1cbi5ldWktdS10ZXh0LWxpbmstZXh0ZXJuYWwge1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWxpbmspICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZXVpLWFjY2Vzc2libGUtZm9jdXMtb3V0bGluZSgycHgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gdjE1IG1pZ3JhdGlvbiB1c2UgcGxhaW4gc3ZnIGluc3RlYWQgb2YgaWNvbi1mb250XG4gICAgLy8gJjo6YWZ0ZXIge1xuICAgIC8vICAgICBjb250ZW50OiAkZXVpLWljb24tZWNsLWV4dGVybmFsO1xuICAgIC8vICAgICBmb250LWZhbWlseTogdihldWktYmFzZS1mb250LWZhbWlseS1pY29ucykgIWltcG9ydGFudDtcbiAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpICFpbXBvcnRhbnQ7XG4gICAgLy8gfVxufVxuLmV1aS11LXRleHQtaGlnaGxpZ2h0IHtcbiAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItYWNjZW50LTEwKSAhaW1wb3J0YW50O1xufVxuIiwiLy8gQm9yZGVyZWQgZm9jdXMgYWNjZXNzaWJpbGl0eSB2aXN1YWwgKGRlZmF1bHQ6IGJ1dHRvbnMsIGlucHV0IGZpZWxkcywgZXRjLilcbkBtaXhpbiBldWktYWNjZXNzaWJsZS1mb2N1cygpIHtcbiAgICBib3JkZXItY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItYWNjZXNzaWJsZS1mb2N1cykgIWltcG9ydGFudDsgICAgLy8gTXVzdFxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2KGV1aS1iYXNlLWNvbG9yLWFjY2Vzc2libGUtZm9jdXMpLCBpbnNldCAwIDAgMCAycHggdihldWktYmFzZS1jb2xvci1ncmV5LTUpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbi8vIE91dGxpbmVkIGZvY3VzIGFjY2Vzc2liaWxpdHkgdmlzdWFsIChjaGVja2JveGVzLCByYWRpb3MpXG5AbWl4aW4gZXVpLWFjY2Vzc2libGUtZm9jdXMtb3V0bGluZSgkb2Zmc2V0OiAtMnB4LCAkb3V0bGluZS1zaXplOiAycHgpIHtcbiAgICBvdXRsaW5lOiAkb3V0bGluZS1zaXplIHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItYWNjZXNzaWJsZS1mb2N1cyk7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gICAgLW1vei1vdXRsaW5lLXJhZGl1czogdihldWktYmFzZS1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBvdXRsaW5lIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gZXVpLWFjY2Vzc2libGUtZm9jdXMtYm9yZGVyLWlubGluZSgkZGlzcGxheTogJycsICR6SW5kZXg6IGF1dG8pIHtcbiAgICBAaWYgJGRpc3BsYXkgIT0gJycge1xuICAgICAgICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgICB9XG4gICAgei1pbmRleDogJHpJbmRleDtcbiAgICBAaW5jbHVkZSBldWktYWNjZXNzaWJsZS1mb2N1cygpO1xufVxuLy8gVGhpcyBpcyB0aGUgbWFpbiBtaXhpbiB0byBjYWxsL2luY2x1ZGVcbkBtaXhpbiBldWktYWNjZXNzaWJsZS1mb2N1cy1ib3JkZXIoJGRpc3BsYXk6ICcnLCAkekluZGV4OiBhdXRvLCAkaW5saW5lOiBmYWxzZSkge1xuICAgIEBpZiAkaW5saW5lIHtcbiAgICAgICAgQGluY2x1ZGUgZXVpLWFjY2Vzc2libGUtZm9jdXMtYm9yZGVyLWlubGluZSgkZGlzcGxheSwgJHpJbmRleCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgJjphY3RpdmU6bm90KFtyZWFkb25seV0pLFxuICAgICAgICAmOmZvY3VzOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBldWktYWNjZXNzaWJsZS1mb2N1cy1ib3JkZXItaW5saW5lKCRkaXNwbGF5LCAkekluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBldWktYWNjZXNzaWJsZS1mb2N1cy1ib3JkZXItcm91bmRlZCgpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2KGV1aS1iYXNlLWNvbG9yLWFjY2Vzc2libGUtZm9jdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuIiwiQGVhY2ggJHNwYWNpbmcsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNwYWNpbmdzIHtcbiAgICAuZXVpLXUtc3BhY2luZy0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1pbi13aWR0aDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG59IiwiQGVhY2ggJHNwYWNpbmcsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNwYWNpbmdzIHtcbiAgICAuZXVpLXUtcHQtI3skc3BhY2luZ30ge1xuICAgICAgICBwYWRkaW5nLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1wYi0jeyRzcGFjaW5nfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXBsLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXByLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmV1aS11LXAtI3skc3BhY2luZ30ge1xuICAgICAgICBwYWRkaW5nOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXB2LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1waC0jeyRzcGFjaW5nfSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH0gICAgXG4gXG4gICAgLmV1aS11LXNwYWNpbmctI3skc3BhY2luZ30ge1xuICAgICAgICBtaW4td2lkdGg6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuICIsIkBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1zcGFjaW5ncyB7XG4gICAgLmV1aS11LW10LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tYi0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZXVpLXUtbWwtI3skc3BhY2luZ30ge1xuICAgICAgICBtYXJnaW4tbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tci0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LW12LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZXVpLXUtbWgtI3skc3BhY2luZ30ge1xuICAgICAgICBtYXJnaW4tbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuIH1cbiBcbi5ldWktdS1tbC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLmV1aS11LW1yLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmV1aS11LW10LWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5ldWktdS1tYi1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59IiwiLy8gREVQUkVDQVRJT05TIFdJTEwgT0NDVVIgSU4gTkVYVCBlVUkgMTUgUkVMRUFTRVxuLy8gQ09OVEFJTkVSU1xuLmV1aS11LWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8gUmVwbGFjZW1lbnQgb2YgZC1mbGV4XG4uZXVpLXUtZGlzcGxheS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1kaXNwbGF5LWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xufVxuXG4vLyBKVVNUSUZZIGNvbnRlbnRcbi5ldWktdS1mbGV4LXN0YXJ0LCAgLy8gREVQUkVDQVRFRFxuLmV1aS11LWZsZXgtanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtZW5kLCAgICAvLyBERVBSRUNBVEVEXG4uZXVpLXUtZmxleC1qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWJldHdlZW4sICAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtZXZlbmx5LCAgICAgLy8gREVQUkVDQVRFRFxuLmV1aS11LWZsZXgtanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbn1cblxuLy8gSVRFTVMgYWxpZ25lbWVudHNcbi5ldWktdS1mbGV4LWFsaWduLWxlZnQsICAgICAvLyBERVBSRUNBVEVEXG4uZXVpLXUtZmxleC1hbGlnbi1pdGVtcy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtYWxpZ24tY2VudGVyLCAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWFsaWduLWl0ZW1zLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLmV1aS11LWZsZXgtYWxpZ24tcmlnaHQsICAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWFsaWduLWl0ZW1zLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi8vIERJUkVDVElPTiBsYXlvdXRcbi5ldWktdS1mbGV4LXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZmxleC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgLmV1aS11LWZsZXgtYWxpZ24tY2VudGVyLCAgIC8vIERFUFJFQ0FURURcbiAgICAuZXVpLXUtZmxleC1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmV1aS11LWZsZXgtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4vLyBWQVJJT1VTXG4uZXVpLXUtZmxleC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZmxleC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWNvbCB7XG4gICAgZmxleDogMSAwIDAlICFpbXBvcnRhbnQ7XG59XG4iLCIuZXVpLXUtZGlzcGxheS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWRpc3BsYXktdmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWRpc3BsYXktcHJpbnQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS1oaWRkZW4tZGVza3RvcC1kb3duIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG5AaW5jbHVkZSBtZWRpYSgkZXVpLWJrcC1kZXNrdG9wLWRvd24pIHtcbiAgICAuZXVpLXUtZGlzcGxheS1oaWRkZW4tZGVza3RvcC1kb3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi5ldWktdS13aWR0aC1hdXRvIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTAwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMSB7XG4gICAgbWF4LXdpZHRoOiB2KGV1aS1iYXNlLXNwYWNpbmctbSk7XG4gICAgbWluLXdpZHRoOiB2KGV1aS1iYXNlLXNwYWNpbmctbSk7XG4gICAgd2lkdGg6IHYoZXVpLWJhc2Utc3BhY2luZy1tKSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMiB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygyICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygyICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDMgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygzICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygzICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtNCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDQgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg0ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg0ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg1ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg1ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtNiB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDYgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg2ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg2ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtNyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDcgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg3ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg3ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtOCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg4ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg4ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtOSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDkgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYyg5ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYyg5ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTAge1xuICAgIG1heC13aWR0aDogY2FsYygxMCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxMCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTExIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxMSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTEgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xMiB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEyICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDEyICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTMge1xuICAgIG1heC13aWR0aDogY2FsYygxMyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEzICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxMyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTE0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTQgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxNCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTQgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xNSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE1ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDE1ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTYge1xuICAgIG1heC13aWR0aDogY2FsYygxNiAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDE2ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxNiAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTE3IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTcgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxNyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTcgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xOCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE4ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDE4ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTkge1xuICAgIG1heC13aWR0aDogY2FsYygxOSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDE5ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxOSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTIwIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjAgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygyMCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMjAgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG4iXX0= */",":root {\n // COLORS\n @each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n --eui-base-color-#{$color + '-' + $shade}: #{$value};\n // not in base\n // --eui-base-color-#{$color + '-' + $shade}-rgb: #{toRGB($value)};\n // --eui-base-color-#{$color + '-' + $shade}-contrast: #{getContrast($value)};\n // --eui-base-color-#{$color + '-' + $shade}-contrast-rgb: #{toRGB(getContrast($value))};\n }\n }\n\n // DEFAULTS 100s\n @each $color, $value in $eui-base-tokens-colors-100s {\n --eui-base-color-#{'' + $color}: #{$value};\n }\n\n // OTHER COLORS\n --eui-base-color-text: var(--eui-base-color-grey-100);\n --eui-base-color-link: var(--eui-base-color-primary-100);\n --eui-base-color-black: black;\n --eui-base-color-white: white;\n --eui-base-color: var(--eui-base-color-grey-100);\n\n // FONT-SIZES\n --eui-base-font-size: 16px;\n @each $font-size, $value in $eui-base-tokens-font-sizes {\n --eui-base-font-size-#{$font-size}: #{$value};\n }\n\n // // FONTS\n --eui-base-font-family: #{$eui-base-font-family};\n --eui-base-font-family-icons: #{$eui-base-font-family-icons};\n --eui-base-font-family-monospace: #{$eui-base-font-family-monospace};\n\n // ICON-SIZES\n --eui-base-icon-size: 1.5rem;\n @each $icon-size, $value in $eui-base-tokens-icon-sizes {\n --eui-base-icon-size-#{$icon-size}: #{$value};\n }\n\n @each $family, $sizes in $eui-base-tokens-fonts {\n $family-type: $family + '-';\n @if($family == ui) {\n $family-type: '';\n }\n\n @each $size, $definition in $sizes {\n --eui-base-font-#{$family-type}#{$size}: #{$definition};\n }\n }\n\n // SPACINGS\n @each $spacing, $value in $eui-base-tokens-spacings {\n --eui-base-spacing-#{$spacing}: #{$value};\n }\n\n // SHADOWS\n @each $shadow, $value in $eui-base-tokens-shadows {\n --eui-base-shadow-#{$shadow}: #{$value};\n }\n\n // Z-INDEXES\n @each $idx, $value in $eui-base-tokens-z-indexes {\n --eui-base-z-index-#{$idx}: #{$value};\n }\n}\n",":root {\n --eui-base-line-height: 1.15;\n --eui-base-scale-factor: 1;\n --eui-base-disabled-opacity: 0.45;\n\n --eui-base-border-radius: 3px;\n\n --eui-base-border: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-light: 1px solid var(--eui-color-grey-light);\n --eui-base-border-lighter: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-lightest: 1px solid var(--eui-color-grey-lightest);\n\n // Animations related\n --eui-base-animation-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 1);\n --eui-base-animation-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --eui-base-animation-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1);\n --eui-base-animation-ease-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); // ease\n --eui-base-animation-ease-in-out-timing-function: ease-in-out;\n\n --eui-base-animation-duration-fast: 0.25s;\n --eui-base-animation-duration-medium: 0.5s;\n --eui-base-animation-duration-slow: 1s;\n --eui-base-animation-duration-base: 500ms;\n --eui-base-animation-duration: var(--eui-base-animation-duration-base);\n\n --eui-base-animation-transition-base: all 0.2s #{var(--eui-base-animation-linear-out-slow-in-timing-function)};\n --eui-base-animation-transition-ease: all 0.2s #{var(--eui-base-animation-ease-timing-function)};\n --eui-base-animation-transition-ease-in-out: all 0.2s #{var(--eui-base-animation-ease-in-out-timing-function)};\n --eui-base-animation-transition-ease-in-out-1s: all 1s #{var(--eui-base-animation-ease-in-out-timing-function)};\n\n --eui-base-animation-delay: 0s;\n --eui-base-animation-direction: normal;\n --eui-base-animation-fill-mode: forwards; // this prevents the animation from restarting\n --eui-base-animation-background-color: var(--eui-base-color-primary-50); // #cfcfdf;\n\n // Extra colors\n --eui-base-color-accessible-focus: var(--eui-base-color-accent-110); // Carbon blue: #0f62fe;\n}\n",":root {\n // eUI APP\n --eui-app-header-height-default: 0px;\n --eui-app-header-height: 0px;\n --eui-app-header-height-active: 90px;\n --eui-app-header-height-shrink: 0px;\n\n --eui-app-breadcrumbs-height-default: 0px;\n --eui-app-breadcrumbs-height: 0px;\n --eui-app-breadcrumbs-height-active: 20px;\n\n --eui-app-top-message-height-default: 0px;\n --eui-app-top-message-height: 0px;\n --eui-app-top-message-height-active: 42px;\n\n --eui-app-toolbar-height-default: 0px;\n --eui-app-toolbar-height: 0px;\n --eui-app-toolbar-height-active: 55px;\n\n --eui-app-sidebar-width-default: 0px;\n --eui-app-sidebar-width: 0px;\n --eui-app-sidebar-width-active: 300px;\n --eui-app-sidebar-width-close-default: 0px;\n --eui-app-sidebar-width-close: 0px;\n --eui-app-sidebar-width-close-active: 64px;\n --eui-app-sidebar-header-height: 0px;\n --eui-app-sidebar-header-height-default: 0px;\n --eui-app-sidebar-header-height-active: 48px;\n --eui-app-sidebar-footer-height: 0px;\n --eui-app-sidebar-footer-height-default: 0px;\n --eui-app-sidebar-footer-height-active: 24px;\n\n // Page Layout\n --eui-page-header-with-subtitle-height: 4rem;\n --eui-page-header-without-subtitle-height: 2rem;\n\n --eui-page-column--size-s: 50px;\n --eui-page-column--size-m: 150px;\n --eui-page-column--size-l: 200px;\n --eui-page-column--size-xl: 250px;\n --eui-page-column--size-xxl: 300px;\n --eui-page-column--size-xxxl: 350px;\n --eui-page-column-footer-height: 3.5rem;\n\n // Misc\n --eui-border-state-width: 6px;\n\n // Colors\n // eUI App elements\n --eui-app-header-bg-color: var(--eui-base-color-white);\n --eui-app-header-title-color: var(--eui-base-color-grey-100);\n --eui-app-header-subtitle-color: var(--eui-base-color-grey-75);\n\n --eui-app-toolbar-color: var(--eui-base-color-white);\n --eui-app-toolbar-bg-color: var(--eui-base-color-primary-100);\n --eui-app-toolbar-border-bottom-color: var(--eui-base-color-primary-25);\n\n --eui-app-sidebar-bg-color: var(--eui-base-color-grey-2);\n --eui-app-sidebar-border-right-color: #f2f4f9;\n\n --eui-app-body-bg-color: var(--eui-base-color-grey-5);\n --eui-app-main-bg-color: var(--eui-base-color-grey-2);\n\n --eui-app-footer-color: var(--eui-base-color-font);\n --eui-app-footer-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-border-top-color: #e8ebf1;\n}\n\n.xs, .sm {\n --eui-app-header-height: 0px;\n}\n",".eui-icon-svg {\n fill: currentColor;\n margin: 0;\n transform: scaleX(1) scaleY(1) rotateZ(0deg);\n transition: transform 300ms ease-in-out;\n display: inline-flex;\n align-items: center;\n}\n@each $size, $value in $eui-base-tokens-icon-sizes {\n .eui-icon-svg--size-#{$size} {\n height: #{$value};\n width: #{$value};\n };\n}\n@each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n .eui-icon-svg--color-#{$color + '-' + $shade} {\n color: #{$value};\n fill: #{$value};\n };\n }\n}\n@each $color, $value in $eui-base-tokens-colors-100s {\n .eui-icon-svg--color-#{'' + $color} {\n color: #{$value};\n fill: #{$value};\n };\n}\n\n.eui-icon-svg--color-white {\n color: white;\n fill: white;\n}\n\n.eui-icon-svg--color-black {\n color: black;\n fill: black;\n}\n","@use '@angular/cdk';\n\n@mixin ripple() {\n // The host element of an mat-ripple directive should always have a position of \"absolute\" or\n // \"relative\" so that the ripples inside are correctly positioned relatively to the container.\n .mat-ripple {\n overflow: hidden;\n\n // By default, every ripple container should have position: relative in favor of creating an\n // easy API for developers using the MatRipple directive.\n position: relative;\n\n // Promote containers that have ripples to a new layer. We want to target `:not(:empty)`,\n // because we don't want all ripple containers to have their own layer since they're used in a\n // lot of places and the layer is only relevant while animating. Note that ideally we'd use\n // the `contain` property here (see #13175), because `:empty` can be broken by having extra\n // text inside the element, but it isn't very well supported yet.\n &:not(:empty) {\n transform: translateZ(0);\n }\n }\n\n .mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n }\n\n .mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n\n // We use a 3d transform here in order to avoid an issue in Safari where\n // the ripples aren't clipped when inside the shadow DOM (see #24028).\n transform: scale3d(0, 0, 0);\n\n // In high contrast mode the ripple is opaque, causing it to obstruct the content.\n @include cdk.high-contrast(active, off) {\n display: none;\n }\n }\n}\n","/// Emits a CSS class, `.cdk-visually-hidden`. This class can be applied to an element\n/// to make that element visually hidden while remaining available to assistive technology.\n@mixin a11y-visually-hidden() {\n .cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n\n // This works around a Chrome bug that can cause the tab to crash when large amounts of\n // non-English text get wrapped: https://bugs.chromium.org/p/chromium/issues/detail?id=1201444\n white-space: nowrap;\n\n // Avoid browsers rendering the focus ring in some cases.\n outline: 0;\n\n // Avoid some cases where the browser will still render the native controls (see #9049).\n -webkit-appearance: none;\n -moz-appearance: none;\n\n // We need at least one of top/bottom/left/right in order to prevent cases where the\n // absolute-positioned element is pushed down and can affect scrolling (see #24597).\n // `left` was chosen here, because it's the least likely to break overrides where the\n // element might have been positioned (e.g. `mat-checkbox`).\n left: 0;\n\n [dir='rtl'] & {\n left: auto;\n right: 0;\n }\n }\n}\n\n/// @deprecated Use `a11y-visually-hidden`.\n@mixin a11y() {\n @include a11y-visually-hidden;\n}\n\n/// Emits the mixin's content nested under `$selector-context` if `$selector-context`\n/// is non-empty.\n/// @param {String} selector-context The selector under which to nest the mixin's content.\n@mixin _optionally-nest-content($selector-context) {\n @if ($selector-context == '') {\n @content;\n }\n @else {\n #{$selector-context} {\n @content;\n }\n }\n}\n\n/// Applies styles for users in high contrast mode. Note that this only applies\n/// to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\n/// attribute, however Chrome handles high contrast differently.\n///\n/// @param {String} target Type of high contrast setting to target. Defaults to `active`, can be\n/// `white-on-black` or `black-on-white`.\n/// @param {String} encapsulation Whether to emit styles for view encapsulation. Values are:\n/// * `on` - works for `Emulated`, `Native`, and `ShadowDom`\n/// * `off` - works for `None`\n/// * `any` - works for all encapsulation modes by emitting the CSS twice (default).\n@mixin high-contrast($target: active, $encapsulation: 'any') {\n @if ($target != 'active' and $target != 'black-on-white' and $target != 'white-on-black') {\n @error 'Unknown cdk-high-contrast value \"#{$target}\" provided. ' +\n 'Allowed values are \"active\", \"black-on-white\", and \"white-on-black\"';\n }\n\n @if ($encapsulation != 'on' and $encapsulation != 'off' and $encapsulation != 'any') {\n @error 'Unknown cdk-high-contrast encapsulation \"#{$encapsulation}\" provided. ' +\n 'Allowed values are \"on\", \"off\", and \"any\"';\n }\n\n // If the selector context has multiple parts, such as `.section, .region`, just doing\n // `.cdk-high-contrast-xxx #{&}` will only apply the parent selector to the first part of the\n // context. We address this by nesting the selector context under .cdk-high-contrast.\n @at-root {\n $selector-context: #{&};\n\n @if ($encapsulation != 'on') {\n // Note that if this selector is updated, the same change has to be made inside\n // `_overlay.scss` which can't depend on this mixin due to some infrastructure limitations.\n .cdk-high-contrast-#{$target} {\n @include _optionally-nest-content($selector-context) {\n @content;\n }\n }\n }\n\n @if ($encapsulation != 'off') {\n .cdk-high-contrast-#{$target} :host {\n @include _optionally-nest-content($selector-context) {\n @content;\n }\n }\n }\n }\n}\n","// We want overlays to always appear over user content, so set a baseline\n// very high z-index for the overlay container, which is where we create the new\n// stacking context for all overlays.\n$overlay-container-z-index: 1000 !default;\n$overlay-z-index: 1000 !default;\n$overlay-backdrop-z-index: 1000 !default;\n\n// Background color for all of the backdrops\n$overlay-backdrop-color: rgba(0, 0, 0, 0.32) !default;\n\n// Default backdrop animation is based on the Material Design swift-ease-out.\n$backdrop-animation-duration: 400ms !default;\n$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;\n\n/// Emits structural styles required for cdk/overlay to function.\n@mixin overlay() {\n .cdk-overlay-container, .cdk-global-overlay-wrapper {\n // Disable events from being captured on the overlay container.\n pointer-events: none;\n\n // The container should be the size of the viewport.\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n }\n\n // The overlay-container is an invisible element which contains all individual overlays.\n .cdk-overlay-container {\n position: fixed;\n z-index: $overlay-container-z-index;\n\n &:empty {\n // Hide the element when it doesn't have any child nodes. This doesn't\n // include overlays that have been detached, rather than disposed.\n display: none;\n }\n }\n\n // We use an extra wrapper element in order to use make the overlay itself a flex item.\n // This makes centering the overlay easy without running into the subpixel rendering\n // problems tied to using `transform` and without interfering with the other position\n // strategies.\n .cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: $overlay-z-index;\n }\n\n // A single overlay pane.\n .cdk-overlay-pane {\n // Note: it's important for this one to start off `absolute`,\n // in order for us to be able to measure it correctly.\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: $overlay-z-index;\n\n // For connected-position overlays, we set `display: flex` in\n // order to force `max-width` and `max-height` to take effect.\n display: flex;\n max-width: 100%;\n max-height: 100%;\n }\n\n .cdk-overlay-backdrop {\n // TODO(jelbourn): reuse sidenav fullscreen mixin.\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n z-index: $overlay-backdrop-z-index;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity $backdrop-animation-duration $backdrop-animation-timing-function;\n opacity: 0;\n\n &.cdk-overlay-backdrop-showing {\n opacity: 1;\n\n // Note that we can't import and use the `high-contrast` mixin from `_a11y.scss`, because\n // this file will be copied to the top-level `cdk` package when putting together the files\n // for npm. Any relative import paths we use here will become invalid once the file is copied.\n .cdk-high-contrast-active & {\n // In high contrast mode the rgba background will become solid\n // so we need to fall back to making it opaque using `opacity`.\n opacity: 0.6;\n }\n }\n }\n\n .cdk-overlay-dark-backdrop {\n background: $overlay-backdrop-color;\n }\n\n .cdk-overlay-transparent-backdrop {\n // Define a transition on the visibility so that the `transitionend` event can fire immediately.\n transition: visibility 1ms linear, opacity 1ms linear;\n visibility: hidden;\n opacity: 1;\n\n // Note: as of Firefox 57, having the backdrop be `background: none` will prevent it from\n // capturing the user's mouse scroll events. Since we also can't use something like\n // `rgba(0, 0, 0, 0)`, we work around the inconsistency by not setting the background at\n // all and using `opacity` to make the element transparent.\n &.cdk-overlay-backdrop-showing {\n opacity: 0;\n visibility: visible;\n }\n }\n\n .cdk-overlay-backdrop-noop-animation {\n transition: none;\n }\n\n // Overlay parent element used with the connected position strategy. Used to constrain the\n // overlay element's size to fit within the viewport.\n .cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: $overlay-z-index;\n\n // We use `display: flex` on this element exclusively for centering connected overlays.\n // When *not* centering, a top/left/bottom/right will be set which overrides the normal\n // flex layout.\n display: flex;\n\n // We use the `column` direction here to avoid some flexbox issues in Edge\n // when using the \"grow after open\" options.\n flex-direction: column;\n\n // Add some dimensions so the element has an `innerText` which some people depend on in tests.\n min-width: 1px;\n min-height: 1px;\n }\n\n // Used when disabling global scrolling.\n .cdk-global-scrollblock {\n position: fixed;\n\n // Necessary for the content not to lose its width. Note that we're using 100%, instead of\n // 100vw, because 100vw includes the width plus the scrollbar, whereas 100% is the width\n // that the element had before we made it `fixed`.\n width: 100%;\n\n // Note: this will always add a scrollbar to whatever element it is on, which can\n // potentially result in double scrollbars. It shouldn't be an issue, because we won't\n // block scrolling on a page that doesn't have a scrollbar in the first place.\n overflow-y: scroll;\n }\n}\n","// Structural styles for the autosize text fields.\n@mixin text-field-autosize() {\n // Remove the resize handle on autosizing textareas, because whatever height\n // the user resized to will be overwritten once they start typing again.\n textarea.cdk-textarea-autosize {\n resize: none;\n }\n\n // This class is temporarily applied to the textarea when it is being measured. It is immediately\n // removed when measuring is complete. We use `!important` rules here to make sure user-specified\n // rules do not interfere with the measurement.\n textarea.cdk-textarea-autosize-measuring {\n @include _autosize-measuring-base;\n height: auto !important;\n overflow: hidden !important;\n }\n\n // Similar to the `cdk-textarea-autosize-measuring` class, but only applied on Firefox. We need\n // to use this class, because Firefox has a bug where changing the `overflow` breaks the user's\n // ability to undo/redo what they were typing (see #16629). This class is only scoped to Firefox,\n // because the measurements there don't seem to be affected by the `height: 0`, whereas on other\n // browsers they are, e.g. Chrome detects longer text and IE does't resize back to normal.\n // Identical issue report: https://bugzilla.mozilla.org/show_bug.cgi?id=448784\n textarea.cdk-textarea-autosize-measuring-firefox {\n @include _autosize-measuring-base;\n height: 0 !important;\n }\n}\n\n// Core styles that enable monitoring autofill state of text fields.\n@mixin text-field-autofill() {\n // Keyframes that apply no styles, but allow us to monitor when an text field becomes autofilled\n // by watching for the animation events that are fired when they start. Note: the /*!*/ comment is\n // needed to prevent LibSass from stripping the keyframes out.\n // Based on: https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n @keyframes cdk-text-field-autofill-start {/*!*/}\n @keyframes cdk-text-field-autofill-end {/*!*/}\n\n .cdk-text-field-autofill-monitored:-webkit-autofill {\n // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n animation: cdk-text-field-autofill-start 0s 1ms;\n }\n\n .cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n animation: cdk-text-field-autofill-end 0s 1ms;\n }\n}\n\n@mixin _autosize-measuring-base {\n // Having 2px top and bottom padding seems to fix a bug where Chrome gets an incorrect\n // measurement. We just have to account for it later and subtract it off the final result.\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n}\n\n// Used to generate UIDs for keyframes used to change the text field autofill styles.\n$autofill-color-frame-count: 0;\n\n// Mixin used to apply custom background and foreground colors to an autofilled text field.\n// Based on: https://stackoverflow.com/questions/2781549/\n// removing-input-background-colour-for-chrome-autocomplete#answer-37432260\n@mixin text-field-autofill-color($background, $foreground:'') {\n @keyframes cdk-text-field-autofill-color-#{$autofill-color-frame-count} {\n to {\n background: $background;\n @if $foreground != '' { color: $foreground; }\n }\n }\n\n &:-webkit-autofill {\n animation: cdk-text-field-autofill-color-#{$autofill-color-frame-count} both;\n }\n\n &.cdk-text-field-autofill-monitored:-webkit-autofill {\n // Since Chrome 80 we need a 1ms delay for cdk-text-field-autofill-start, or the animationstart\n // event won't fire.\n animation: cdk-text-field-autofill-start 0s 1ms,\n cdk-text-field-autofill-color-#{$autofill-color-frame-count} both;\n }\n\n $autofill-color-frame-count: $autofill-color-frame-count + 1 !global;\n}\n\n// @deprecated Use `autosize` and `autofill` instead.\n@mixin text-field {\n @include text-field-autosize();\n @include text-field-autofill();\n}\n","@use 'sass:map';\n@use 'sass:meta';\n@use '@angular/cdk';\n@use '../style/layout-common';\n@use '../theming/theming';\n\n// Private sass variables that will be used as reference throughout component stylesheets.\n$default-border-width: 3px;\n$default-border-style: solid;\n$default-border-color: transparent;\n$default-border-radius: 4px;\n\n// Mixin that renders the focus indicator structural styles.\n@mixin structural-styling($prefix) {\n .#{$prefix}-focus-indicator {\n position: relative;\n\n &::before {\n @include layout-common.fill();\n box-sizing: border-box;\n pointer-events: none;\n display: var(--#{$prefix}-focus-indicator-display, none); // Hide the indicator by default.\n border: var(\n --#{$prefix}-focus-indicator-border-width,\n #{$default-border-width}\n )\n var(\n --#{$prefix}-focus-indicator-border-style,\n #{$default-border-style}\n )\n var(\n --#{$prefix}-focus-indicator-border-color,\n #{$default-border-color}\n );\n border-radius: var(\n --#{$prefix}-focus-indicator-border-radius,\n #{$default-border-radius}\n );\n }\n\n // By default, render the focus indicator when the focus indicator host element takes focus.\n // Defining a pseudo element's content will cause it to render.\n &:focus::before {\n content: '';\n }\n }\n\n // Enable the indicator in high contrast mode.\n @include cdk.high-contrast(active, off) {\n @include customize-focus-indicators((display: block), $prefix);\n }\n}\n\n// Generates CSS variable declarations from a map.\n@mixin _output-variables($map) {\n @each $key, $value in $map {\n @if ($value) {\n --#{$key}: #{$value};\n }\n }\n}\n\n// Mixin that dedups CSS variables for the strong-focus-indicators mixin.\n@mixin customize-focus-indicators($config, $prefix) {\n $border-style: map.get($config, border-style);\n $border-width: map.get($config, border-width);\n $border-radius: map.get($config, border-radius);\n $border-color: map.get($config, border-color);\n $display: map.get($config, display);\n $map: (\n '#{$prefix}-focus-indicator-border-style': $border-style,\n '#{$prefix}-focus-indicator-border-width': $border-width,\n '#{$prefix}-focus-indicator-border-radius': $border-radius,\n '#{$prefix}-focus-indicator-border-color': $border-color,\n '#{$prefix}-focus-indicator-display': $display,\n );\n\n @if (&) {\n @include _output-variables($map);\n }\n @else {\n // We use `html` here instead of `:root`, because the\n // latter causes some issues with internal tooling.\n html {\n @include _output-variables($map);\n }\n }\n}\n\n@mixin strong-focus-indicators($config: ()) {\n // Default focus indicator config.\n $default-config: (\n border-color: black,\n display: block,\n );\n\n // Merge default config with user config.\n $config: map.merge($default-config, $config);\n\n @include customize-focus-indicators($config, 'mat');\n}\n\n@mixin mdc-strong-focus-indicators($config: ()) {\n // Default focus indicator config.\n $default-config: (\n border-color: black,\n display: block,\n );\n\n // Merge default config with user config.\n $config: map.merge($default-config, $config);\n\n @include customize-focus-indicators($config, 'mat-mdc');\n}\n\n@mixin strong-focus-indicators-color($config-or-theme-or-color) {\n @if meta.type-of($config-or-theme-or-color) == 'color' {\n @include customize-focus-indicators((\n border-color: $config-or-theme-or-color\n ), 'mat');\n }\n @else {\n $config: theming.get-color-config($config-or-theme-or-color);\n $border-color: theming.get-color-from-palette(map.get($config, primary));\n @include customize-focus-indicators((\n border-color: $border-color\n ), 'mat');\n }\n}\n\n@mixin strong-focus-indicators-theme($theme-or-color-config-or-color) {\n @if meta.type-of($theme-or-color-config-or-color) == 'color' {\n @include customize-focus-indicators((\n border-color: $theme-or-color-config-or-color\n ), 'mat');\n }\n @else {\n $theme: theming.private-legacy-get-theme($theme-or-color-config-or-color);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-focus-indicators') {\n $color: theming.get-color-config($theme);\n @if $color != null {\n @include strong-focus-indicators-color($color);\n }\n }\n }\n}\n\n@mixin mdc-strong-focus-indicators-color($config-or-theme-or-color) {\n @if meta.type-of($config-or-theme-or-color) == 'color' {\n @include customize-focus-indicators((\n border-color: $config-or-theme-or-color\n ), 'mat-mdc');\n }\n @else {\n $config: theming.get-color-config($config-or-theme-or-color);\n $border-color: theming.get-color-from-palette(map.get($config, primary));\n @include customize-focus-indicators((\n border-color: $border-color\n ), 'mat-mdc');\n }\n}\n\n@mixin mdc-strong-focus-indicators-theme($theme-or-color-config-or-color) {\n @if meta.type-of($theme-or-color-config-or-color) == 'color' {\n @include customize-focus-indicators((\n border-color: $theme-or-color-config-or-color\n ), 'mat-mdc');\n }\n @else {\n $theme: theming.private-legacy-get-theme($theme-or-color-config-or-color);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-mdc-focus-indicators') {\n $color: theming.get-color-config($theme);\n @if $color != null {\n @include mdc-strong-focus-indicators-color($color);\n }\n }\n }\n}\n","// This mixin ensures an element spans to fill the nearest ancestor with defined positioning.\n@mixin fill {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n}\n","@use 'sass:map';\n@use 'sass:meta';\n@use '../theming/theming';\n\n// Colors for the ripple elements.\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $foreground: map.get($config, foreground);\n $foreground-base: map.get($foreground, base);\n $color-opacity: 0.1;\n\n .mat-ripple-element {\n // If the ripple color is resolves to a color *type*, we can use it directly, otherwise\n // (e.g. it resolves to a CSS variable) we fall back to using the color and setting an opacity.\n @if (meta.type-of($foreground-base) == color) {\n background-color: rgba($foreground-base, $color-opacity);\n }\n @else {\n background-color: $foreground-base;\n opacity: $color-opacity;\n }\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-ripple') {\n $color: theming.get-color-config($theme);\n @if $color != null {\n @include color($color);\n }\n }\n}\n","@use '@material/theme/theme-color' as mdc-theme-color;\n@use '@material/theme/theme' as mdc-theme;\n@use '@material/list/evolution-mixins' as mdc-list-mixins;\n@use '@material/typography' as mdc-typography;\n@use '@material/ripple' as mdc-ripple;\n\n@use '../theming/theming';\n@use '../typography/typography';\n@use '../mdc-helpers/mdc-helpers';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n\n @include mdc-helpers.using-mdc-theme($config) {\n .mat-mdc-option {\n // Since this will usually be rendered in an overlay,\n // we have explicitly set the default color.\n @include mdc-theme.prop(color, text-primary-on-background);\n\n &:hover:not(.mdc-list-item--disabled),\n &:focus:not(.mdc-list-item--disabled),\n &.mat-mdc-option-active,\n\n // In multiple mode there is a checkbox to show that the option is selected.\n &.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled) {\n $color: mdc-theme-color.$on-surface;\n background: rgba($color, mdc-ripple.states-opacity($color, hover));\n }\n }\n\n .mat-primary {\n .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) {\n @include mdc-list-mixins.list-primary-text-ink-color(primary,\n $query: mdc-helpers.$mdc-theme-styles-query);\n }\n }\n\n .mat-accent {\n .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) {\n @include mdc-list-mixins.list-primary-text-ink-color(secondary,\n $query: mdc-helpers.$mdc-theme-styles-query);\n }\n }\n\n .mat-warn {\n .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) {\n @include mdc-list-mixins.list-primary-text-ink-color(error,\n $query: mdc-helpers.$mdc-theme-styles-query);\n }\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n\n @include mdc-helpers.using-mdc-typography($config) {\n // MDC uses the `subtitle1` level for list items, but\n // the spec shows `body1` as the correct level.\n .mat-mdc-option {\n @include mdc-typography.typography(body1,\n $query: mdc-helpers.$mdc-typography-styles-query,\n // Exclude these properties, because they cause some build\n // issues internally and they aren't used for anything.\n $exclude-props: (text-decoration, text-transform)\n );\n }\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-option') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use 'sass:list';\n@use 'sass:map';\n@use 'sass:meta';\n@use './gss';\n\n/// When true, add an additional property/value declaration before declarations\n/// that use advanced features such as custom properties or CSS functions. This\n/// adds fallback support for older browsers such as IE11 that do not support\n/// these features at the cost of additional CSS. Set this variable to false to\n/// disable generating fallback declarations.\n$enable-fallback-declarations: true !default;\n\n/// Writes a CSS property/value declaration. This mixin is used throughout the\n/// theme package for consistency for dynamically setting CSS property values.\n///\n/// This mixin may optionally take a fallback value. For advanced features such\n/// as custom properties or CSS functions like min and max, a fallback value is\n/// recommended to support older browsers.\n///\n/// @param {String} $property - The CSS property of the declaration.\n/// @param {*} $value - The value of the CSS declaration. The value should be\n/// resolved by other theme functions first (i.e. custom property Maps and\n/// Material theme keys are not supported in this mixin). If the value is\n/// null, no declarations will be emitted.\n/// @param {*} $fallback - An optional fallback value for older browsers. If\n/// provided, a second property/value declaration will be added before the\n/// main property/value declaration.\n/// @param {Map} $gss - An optional Map of GSS annotations to add.\n/// @param {Bool} $important - If true, add `!important` to the declaration.\n@mixin declaration(\n $property,\n $value,\n $fallback-value: null,\n $gss: (),\n $important: false\n) {\n // Normally setting a null value to a property will not emit CSS, so mixins\n // wouldn't need to check this. However, Sass will throw an error if the\n // interpolated property is a custom property.\n @if $value != null {\n $important-rule: if($important, ' !important', '');\n\n @if $fallback-value and $enable-fallback-declarations {\n @include gss.annotate($gss);\n #{$property}: #{$fallback-value} #{$important-rule};\n\n // Add @alternate to annotations.\n $gss: map.merge(\n $gss,\n (\n alternate: true,\n )\n );\n }\n\n @include gss.annotate($gss);\n #{$property}: #{$value}#{$important-rule};\n }\n}\n\n/// Unpacks shorthand values for CSS properties (i.e. lists of 1-3 values).\n/// If a list of 4 values is given, it is returned as-is.\n///\n/// Examples:\n///\n/// unpack-value(4px) => 4px 4px 4px 4px\n/// unpack-value(4px 2px) => 4px 2px 4px 2px\n/// unpack-value(4px 2px 2px) => 4px 2px 2px 2px\n/// unpack-value(4px 2px 0 2px) => 4px 2px 0 2px\n///\n/// @param {Number | Map | List} $value - List of 1 to 4 value numbers.\n/// @return {List} a List of 4 value numbers.\n@function unpack-value($value) {\n @if meta.type-of($value) == 'map' or list.length($value) == 1 {\n @return $value $value $value $value;\n } @else if list.length($value) == 4 {\n @return $value;\n } @else if list.length($value) == 3 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 3)\n list.nth($value, 2);\n } @else if list.length($value) == 2 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 1)\n list.nth($value, 2);\n }\n\n @error \"Invalid CSS property value: '#{$value}' is more than 4 values\";\n}\n","// Selector '.mdc-*' should only be used in this project.\n// stylelint-disable selector-class-pattern --\n// NOTE: this is the implementation of the aforementioned classes.\n\n@use 'sass:math';\n@use 'sass:list';\n@use 'sass:map';\n@use '@material/theme/theme';\n@use '@material/ripple/ripple';\n@use '@material/ripple/ripple-theme';\n@use '@material/rtl/rtl';\n@use '@material/density/functions' as density-functions;\n@use '@material/dom/mixins' as dom-mixins;\n@use '@material/shape/mixins' as shape-mixins;\n@use '@material/typography/typography';\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/theme/theme-color';\n@use './evolution-variables' as variables;\n\n$ripple-target: variables.$ripple-target;\n\n@mixin core-styles($query: feature-targeting.all()) {\n @include without-ripple($query);\n @include with-ripple($query);\n}\n\n@mixin without-ripple($query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-typography: feature-targeting.create-target($query, typography);\n\n //\n // Items\n //\n\n @include list-primary-text-ink-color(text-primary-on-background, $query);\n @include list-secondary-text-ink-color(text-secondary-on-background, $query);\n @include list-overline-text-ink-color(text-hint-on-background, $query);\n @include list-icon-fill-color(transparent, $query);\n @include list-icon-ink-color(text-icon-on-background, $query);\n @include list-meta-text-ink-color(text-hint-on-background, $query);\n @include list-disabled-opacity(variables.$content-disabled-opacity, $query);\n @include list-disabled-ink-color(variables.$content-disabled-color, $query);\n @include list-selected-ink-color(variables.$content-selected-color, $query);\n\n @include group-subheader-ink-color(text-primary-on-background, $query);\n\n @include _high-contrast-mode($query);\n\n .mdc-list {\n @include list-base($query: $query);\n }\n\n .mdc-list-item__wrapper {\n @include feature-targeting.targets($feat-structure) {\n display: block;\n }\n }\n\n .mdc-list-item {\n @include item-base($query: $query);\n\n @include _one-line-item-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n @include _three-line-item-density(\n variables.$three-line-item-density-scale,\n $query: $query\n );\n\n @include one-line-item-start-alignment(center, $query: $query);\n @include two-line-item-start-alignment(\n $alignment: flex-start,\n $offset: 16px,\n $query: $query\n );\n @include three-line-item-start-alignment(\n $alignment: flex-start,\n $offset: 16px,\n $query: $query\n );\n\n @include one-line-item-end-alignment(center, $query: $query);\n @include two-line-item-end-alignment(center, $query: $query);\n @include three-line-item-end-alignment(\n $alignment: flex-start,\n $offset: 16px,\n $query: $query\n );\n\n @include feature-targeting.targets($feat-structure) {\n align-items: stretch;\n cursor: pointer;\n }\n\n // Reset mouse cursor for disabled and non-interactive items.\n &.mdc-list-item--disabled,\n &.mdc-list-item--non-interactive {\n @include feature-targeting.targets($feat-structure) {\n cursor: auto;\n }\n }\n\n // For components using aria-activedescendant, the focus pseudoclass is\n // never applied and use `.mdc-ripple-upgraded--background-focused` instead.\n &:not(.mdc-list-item--selected):focus::before, // lint-disable-focus-psuedo-selector\n &.mdc-ripple-upgraded--background-focused::before {\n @include dom-mixins.transparent-border($query: $query);\n }\n\n &.mdc-list-item--selected::before {\n @include dom-mixins.transparent-border(\n $border-width: 3px,\n $border-style: double,\n $query: $query\n );\n }\n\n // lint-disable-focus-psuedo-selector\n &.mdc-list-item--selected:focus::before {\n @include dom-mixins.transparent-border(\n $border-width: 3px,\n $query: $query\n );\n }\n }\n\n // Override anchor tag styles for the use-case of a list being used for navigation\n // stylelint-disable selector-max-type,selector-no-qualifying-type\n a.mdc-list-item {\n @include feature-targeting.targets($feat-structure) {\n color: inherit;\n text-decoration: none;\n }\n }\n // stylelint-enable selector-max-type,selector-no-qualifying-type\n\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-structure) {\n fill: currentColor;\n flex-shrink: 0;\n pointer-events: none;\n }\n }\n\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-structure) {\n flex-shrink: 0;\n pointer-events: none;\n }\n }\n\n .mdc-list-item__content {\n @include typography.overflow-ellipsis($query);\n @include feature-targeting.targets($feat-structure) {\n align-self: center;\n flex: 1;\n pointer-events: none;\n }\n\n .mdc-list-item--with-two-lines &,\n .mdc-list-item--with-three-lines & {\n @include feature-targeting.targets($feat-structure) {\n align-self: stretch;\n }\n }\n\n // Disable interaction on label elements that may automatically\n // toggle corresponding checkbox / radio input.\n &[for] {\n @include feature-targeting.targets($feat-structure) {\n pointer-events: none;\n }\n }\n }\n\n .mdc-list-item__primary-text {\n @include typography.typography(subtitle1, $query);\n @include typography.overflow-ellipsis($query);\n\n .mdc-list-item--with-two-lines &,\n .mdc-list-item--with-three-lines & {\n @include typography.text-baseline(\n $top: 28px,\n $bottom: 20px,\n $query: $query\n );\n }\n }\n\n .mdc-list-item__secondary-text {\n @include typography.typography(body2, $query);\n @include typography.overflow-ellipsis($query);\n @include typography.text-baseline(\n $top: 20px,\n $display: block,\n $query: $query\n );\n\n .mdc-list-item--with-three-lines & {\n @include feature-targeting.targets($feat-structure) {\n white-space: normal;\n line-height: 20px;\n }\n }\n\n .mdc-list-item--with-overline & {\n @include feature-targeting.targets($feat-structure) {\n white-space: nowrap;\n line-height: auto;\n }\n }\n }\n\n .mdc-list-item__overline-text {\n @include typography.typography(overline, $query);\n @include typography.overflow-ellipsis($query);\n\n .mdc-list-item--with-two-lines & {\n @include typography.text-baseline(\n $top: 24px,\n $bottom: 20px,\n $query: $query\n );\n }\n\n .mdc-list-item--with-three-lines & {\n @include typography.text-baseline(\n $top: 28px,\n $bottom: 20px,\n $query: $query\n );\n }\n }\n\n .mdc-list-item--with-leading-avatar {\n @include item-start-spacing(16px, $query: $query);\n @include item-start-size(40px, $query: $query);\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-structure) {\n border-radius: 50%;\n }\n }\n }\n\n .mdc-list-item--with-leading-icon {\n @include item-start-size(24px, $query: $query);\n @include item-start-spacing(\n $leading: 16px,\n $trailing: 32px,\n $query: $query\n );\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-thumbnail {\n @include item-start-spacing(16px, $query: $query);\n @include item-start-size(40px, $query: $query);\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-image {\n @include item-start-spacing(16px, $query: $query);\n @include item-start-size(56px, $query: $query);\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-taller-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-video {\n @include two-line-item-start-alignment(\n $alignment: flex-start,\n $offset: 8px,\n $query: $query\n );\n @include item-start-spacing($leading: 0, $trailing: 16px, $query: $query);\n @include item-start-size($width: 100px, $height: 56px, $query: $query);\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-taller-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-checkbox {\n $leading: absorb-overflow(16px, $actual: 40px, $available: 24px);\n $trailing: absorb-overflow(32px, $actual: 40px, $available: 24px);\n $top: absorb-overflow(16px, $actual: 40px, $available: 24px);\n\n @include item-start-spacing($leading, $trailing, $query: $query);\n @include item-start-size(40px, $query: $query);\n @include two-line-item-start-alignment(\n $alignment: flex-start,\n $offset: $top,\n $query: $query\n );\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-radio {\n $leading: absorb-overflow(16px, $actual: 40px, $available: 24px);\n $trailing: absorb-overflow(32px, $actual: 40px, $available: 24px);\n $top: absorb-overflow(16px, $actual: 40px, $available: 24px);\n\n @include item-start-spacing($leading, $trailing, $query: $query);\n @include item-start-size(40px, $query: $query);\n @include two-line-item-start-alignment(\n $alignment: flex-start,\n $offset: $top,\n $query: $query\n );\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-leading-switch {\n @include item-start-spacing(16px, $query: $query);\n @include item-start-size($width: 36px, $height: 20px, $query: $query);\n @include two-line-item-start-alignment(\n $alignment: flex-start,\n $offset: 16px,\n $query: $query\n );\n @include _two-line-item-primary-baseline(32px, 20px, $query: $query);\n @include _two-line-item-overline-baseline(28px, 20px, $query: $query);\n @include _two-line-item-meta-baseline($top: 32px, $query: $query);\n @include _one-line-item-tall-density(\n variables.$one-line-item-density-scale,\n $query: $query\n );\n @include _two-line-item-tall-density(\n variables.$two-line-item-density-scale,\n $query: $query\n );\n }\n\n .mdc-list-item--with-trailing-icon {\n @include item-end-spacing(16px, $query: $query);\n @include item-end-size(24px, $query: $query);\n }\n\n .mdc-list-item--with-trailing-meta {\n @include two-line-item-end-alignment(flex-start, $query: $query);\n @include three-line-item-end-alignment(flex-start, $query: $query);\n @include item-end-spacing($leading: 28px, $trailing: 16px, $query: $query);\n @include _two-line-item-end-baseline($top: 28px, $query: $query);\n @include _three-line-item-end-baseline($top: 28px, $query: $query);\n\n .mdc-list-item__end {\n @include typography.typography(caption, $query);\n }\n }\n\n .mdc-list-item--with-trailing-checkbox {\n $leading: absorb-overflow(32px, $actual: 40px, $available: 24px);\n $trailing: absorb-overflow(16px, $actual: 40px, $available: 24px);\n $top: absorb-overflow(16px, $actual: 40px, $available: 24px);\n\n @include item-end-spacing($leading, $trailing, $query: $query);\n @include item-end-size(40px, $query: $query);\n @include three-line-item-end-alignment(\n $alignment: flex-start,\n $offset: $top,\n $query: $query\n );\n }\n\n .mdc-list-item--with-trailing-radio {\n $leading: absorb-overflow(32px, $actual: 40px, $available: 24px);\n $trailing: absorb-overflow(16px, $actual: 40px, $available: 24px);\n $top: absorb-overflow(16px, $actual: 40px, $available: 24px);\n\n @include item-end-spacing($leading, $trailing, $query: $query);\n @include item-end-size(40px, $query: $query);\n @include three-line-item-end-alignment(\n $alignment: flex-start,\n $offset: $top,\n $query: $query\n );\n }\n\n .mdc-list-item--with-trailing-switch {\n @include item-end-spacing(16px, $query: $query);\n @include item-end-size($width: 36px, $height: 20px, $query: $query);\n @include three-line-item-end-alignment(\n $alignment: flex-start,\n $offset: 16px,\n $query: $query\n );\n }\n\n .mdc-list-item--with-overline {\n @include _two-line-item-primary-baseline(20px, 0px, $query: $query);\n @include _three-line-item-primary-baseline(20px, 0px, $query: $query);\n }\n\n // This must be specified last to ensure that RTL padding takes priority over\n // LTR padding in the cascade.\n .mdc-list-item {\n @include item-spacing(16px, $query: $query);\n }\n\n //\n // Grouping\n //\n\n .mdc-list-group {\n @include feature-targeting.targets($feat-structure) {\n // Cancel top/bottom padding on individual lists within group\n .mdc-deprecated-list {\n padding: 0;\n }\n }\n }\n\n .mdc-list-group__subheader {\n $mdc-list-subheader-virtual-height: 3rem;\n $mdc-list-subheader-leading: map.get(\n map.get(typography.$styles, body1),\n line-height\n );\n $mdc-list-subheader-margin: calc(\n (#{$mdc-list-subheader-virtual-height} - #{$mdc-list-subheader-leading}) /\n 2\n );\n\n @include typography.typography(subtitle1, $query);\n @include feature-targeting.targets($feat-structure) {\n margin: $mdc-list-subheader-margin variables.$side-padding;\n }\n }\n\n //\n // Dividers\n //\n\n $divider-color: if(\n theme-color.tone(theme-color.$background) == 'dark',\n variables.$divider-color-on-dark-bg,\n variables.$divider-color-on-light-bg\n );\n\n @include divider-color($divider-color, $query: $query);\n @include divider-height(1px, $query: $query);\n\n .mdc-list-divider {\n @include feature-targeting.targets($feat-structure) {\n padding: 0;\n\n // Allows the use of padding to specify leading and trailing insets\n // independently.\n background-clip: content-box;\n }\n }\n\n // The base inset variant corresponds to the item's padding.\n .mdc-list-divider,\n .mdc-list-divider--with-leading-text,\n .mdc-list-divider--with-leading-icon,\n .mdc-list-divider--with-leading-image,\n .mdc-list-divider--with-leading-thumbnail,\n .mdc-list-divider--with-leading-avatar,\n .mdc-list-divider--with-leading-checkbox,\n .mdc-list-divider--with-leading-switch,\n .mdc-list-divider--with-leading-radio {\n @include divider-leading-inset(16px, $query: $query);\n @include divider-trailing-inset(16px, $query: $query);\n }\n\n .mdc-list-divider--with-leading-video {\n @include divider-leading-inset(0px, $query: $query);\n }\n\n // This is needed to ensure that default padding isn't applied in RTL locales.\n .mdc-list-divider {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.rtl {\n padding: 0;\n }\n }\n }\n}\n\n@mixin with-ripple($query: feature-targeting.all()) {\n @include ripple.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n :not(.mdc-list-item--disabled).mdc-list-item {\n @include _item-interactive-ripple($query);\n }\n\n .mdc-list-item--disabled {\n @include ripple.surface(\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple.radius-bounded(\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple-theme.states-base-color(\n theme-color.prop-value(on-surface),\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple-theme.states-focus-opacity(\n ripple-theme.states-opacity(primary, focus),\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n\n #{variables.$ripple-target} {\n @include ripple.target-common($query: $query);\n }\n }\n}\n\n///\n/// Adjusts an offset (i.e., margin) to accomodate contents that are larger than\n/// the space allocated by the specification.\n///\n/// For instance, the specification provides 24x24dp for a checkbox with a 16dp\n/// margin. However, checkboxes are actually 40x40dp. To ensure that the\n/// checkbox is positioned correctly, the margin is reduced by 8dp to reflect\n/// that the margin is already \"baked into\" the checkbox.\n///\n/// Concretely, 40dp - 24dp = 16dp. Assuming that the control is symmetrical,\n/// half of the overflow (8dp) is on the leading side and half on the trailing\n/// side. Therefore, the leading and trailing margins are reduced by 8dp.\n///\n/// Note: this might be more useful if it's added into the leading/trailing\n/// margin mixins as a parameter.\n///\n@function absorb-overflow($offset, $actual, $available, $symmetric: true) {\n @if $actual <= $available {\n @return $offset;\n }\n $overflow: $actual - $available;\n @return $offset - math.div($overflow, if($symmetric, 2, 1));\n}\n\n@mixin one-line-item-height($height, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-one-line {\n @include feature-targeting.targets($feat-structure) {\n height: $height;\n }\n }\n}\n\n@mixin two-line-item-height($height, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-two-lines {\n @include feature-targeting.targets($feat-structure) {\n height: $height;\n }\n }\n}\n@mixin three-line-item-height($height, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-three-lines {\n @include feature-targeting.targets($feat-structure) {\n height: $height;\n }\n }\n}\n\n@mixin list-item-height($height) {\n &.mdc-list-item--with-one-line,\n &.mdc-list-item--with-two-lines,\n &.mdc-list-item--with-three-lines {\n height: $height;\n }\n}\n\n@mixin item-spacing(\n $leading,\n $trailing: $leading,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(padding, $leading, $trailing);\n }\n}\n\n@mixin one-line-item-start-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-one-line {\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin two-line-item-start-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin three-line-item-start-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-three-lines {\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin one-line-item-end-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-one-line {\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin two-line-item-end-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin three-line-item-end-alignment(\n $alignment,\n $offset: 0,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-item--with-three-lines {\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-structure) {\n align-self: $alignment;\n margin-top: $offset;\n }\n }\n }\n}\n\n@mixin item-start-spacing(\n $leading,\n $trailing: $leading,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n // Extra specificity needed to override default customizations.\n &.mdc-list-item {\n // We rely on auto to avoid clobbering the opposite padding.\n @include rtl.reflexive-property(padding, 0, auto);\n }\n\n .mdc-list-item__start {\n @include rtl.reflexive-property(margin, $leading, $trailing);\n }\n }\n}\n\n@mixin item-end-spacing(\n $leading,\n $trailing: $leading,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n // Extra specificity needed to override default customizations.\n &.mdc-list-item {\n // We rely on auto to avoid clobbering the opposite padding.\n @include rtl.reflexive-property(padding, auto, 0);\n }\n\n .mdc-list-item__end {\n @include rtl.reflexive-property(margin, $leading, $trailing);\n }\n }\n}\n\n@mixin item-start-size(\n $width,\n $height: $width,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n .mdc-list-item__start {\n width: $width;\n height: $height;\n }\n }\n}\n\n@mixin item-end-size($width, $height: $width, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n .mdc-list-item__end {\n width: $width;\n height: $height;\n }\n }\n}\n\n@mixin list-item-selected-container-color($color) {\n &.mdc-list-item.mdc-list-item--selected {\n @include theme.property(background-color, $color);\n }\n}\n\n@mixin list-primary-text-typography($typography-theme) {\n .mdc-list-item__primary-text {\n @include typography.theme-styles($typography-theme);\n }\n}\n\n@mixin list-primary-text-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item__primary-text {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n@mixin list-secondary-text-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item__secondary-text {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n@mixin list-secondary-text-typography($typography-theme) {\n .mdc-list-item__secondary-text {\n @include typography.theme-styles($typography-theme);\n }\n}\n\n@mixin list-overline-text-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item__overline-text {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n@mixin list-meta-text-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n@mixin list-icon-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--with-leading-icon .mdc-list-item__start,\n .mdc-list-item--with-trailing-icon .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n@mixin list-icon-fill-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--with-leading-icon .mdc-list-item__start,\n .mdc-list-item--with-trailing-icon .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(background-color, $color);\n }\n }\n}\n\n@mixin list-selected-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--selected,\n .mdc-list-item--activated {\n @include list-primary-text-ink-color($color, $query);\n @include _item-icon-ink-color($color, $leading-only: true, $query: $query);\n }\n}\n\n@mixin list-selected-meta-text-ink-color(\n $color,\n $query: feature-targeting.all()\n) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--selected,\n .mdc-list-item--activated {\n @include list-meta-text-ink-color($color, $query);\n }\n}\n\n@mixin list-disabled-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--disabled {\n @include list-primary-text-ink-color($color, $query);\n @include list-secondary-text-ink-color($color, $query);\n @include list-overline-text-ink-color($color, $query);\n @include _item-icon-ink-color($color, $query: $query);\n @include item-meta-text-ink-color($color, $query);\n }\n}\n\n@mixin list-disabled-opacity($opacity, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-item--disabled {\n .mdc-list-item__start,\n .mdc-list-item__content,\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n opacity: $opacity;\n }\n }\n }\n}\n\n@mixin group-subheader-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-deprecated-list-group__subheader {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n}\n\n///\n/// Sets shape radius (rounded) to single line list variant.\n///\n/// @param {Number | List<Number>} $radius Radius size in `px` or percentage. It can be 4 value corner or single radius.\n/// Set to `50%` for rounded shape.\n/// @param {Boolean} $rtl-reflexive Set to true to flip border radius in RTL context. Defaults to `false`.\n/// @param {Number} $density-scale Density scale of single line list. Set this only when custom density is applied.\n/// Defaults to `$mdc-deprecated-list-single-line-density-scale`.\n///\n/// @access public\n///\n@mixin one-line-list-radius(\n $radius,\n $rtl-reflexive: false,\n $density-scale: variables.$one-line-item-density-scale,\n $query: feature-targeting.all()\n) {\n .mdc-list-item--with-one-line {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$one-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n\n &.mdc-list-item--with-leading-avatar,\n &.mdc-list-item--with-leading-icon,\n &.mdc-list-item--with-leading-thumbnail,\n &.mdc-list-item--with-leading-checkbox,\n &.mdc-list-item--with-leading-radio,\n &.mdc-list-item--with-leading-switch {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$one-line-item-tall-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n }\n\n &.mdc-list-item--with-leading-image,\n &.mdc-list-item--with-leading-video {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$one-line-item-taller-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n }\n }\n}\n\n@mixin two-line-list-radius(\n $radius,\n $rtl-reflexive: false,\n $density-scale: variables.$two-line-item-density-scale,\n $query: feature-targeting.all()\n) {\n .mdc-list-item--with-two-lines {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$two-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n\n &.mdc-list-item--with-leading-avatar,\n &.mdc-list-item--with-leading-icon,\n &.mdc-list-item--with-leading-thumbnail,\n &.mdc-list-item--with-leading-checkbox,\n &.mdc-list-item--with-leading-radio,\n &.mdc-list-item--with-leading-switch,\n &.mdc-list-item--with-leading-image,\n &.mdc-list-item--with-leading-video {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$two-line-item-tall-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n }\n }\n}\n\n@mixin three-line-list-radius(\n $radius,\n $rtl-reflexive: false,\n $density-scale: variables.$three-line-item-density-scale,\n $query: feature-targeting.all()\n) {\n .mdc-list-item--with-three-lines {\n @include shape-mixins.radius(\n $radius,\n $rtl-reflexive,\n $component-height:\n density-functions.prop-value(\n $density-config: variables.$three-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height\n ),\n $query: $query\n );\n }\n}\n\n@mixin divider-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-list-divider {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(background-color, $color);\n }\n }\n}\n\n@mixin divider-height($height, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n .mdc-list-divider {\n @include feature-targeting.targets($feat-structure) {\n @include theme.property(height, $height);\n }\n }\n}\n\n@mixin divider-leading-inset($inset, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-divider--with-leading-inset {\n @include feature-targeting.targets($feat-structure) {\n // We rely on auto to avoid clobbering the opposite padding.\n @include rtl.reflexive-property(padding, $inset, auto);\n }\n }\n}\n\n@mixin divider-trailing-inset($inset, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n &.mdc-list-divider--with-trailing-inset {\n @include feature-targeting.targets($feat-structure) {\n // We rely on auto to avoid clobbering the opposite padding.\n @include rtl.reflexive-property(padding, auto, $inset);\n }\n }\n}\n\n// The public density mixins apply the appropriate density styles regardless of\n// the item's start contents.\n@mixin one-line-item-density(\n $density-scale,\n $exclude-variants: false,\n $query: feature-targeting.all()\n) {\n @include _one-line-item-density($density-scale, $query: $query);\n\n @if not $exclude-variants {\n &.mdc-list-item--with-leading-avatar,\n &.mdc-list-item--with-leading-icon,\n &.mdc-list-item--with-leading-thumbnail,\n &.mdc-list-item--with-leading-checkbox,\n &.mdc-list-item--with-leading-radio,\n &.mdc-list-item--with-leading-switch {\n @include _one-line-item-tall-density($density-scale, $query: $query);\n }\n\n &.mdc-list-item--with-leading-image,\n &.mdc-list-item--with-leading-video {\n @include _one-line-item-taller-density($density-scale, $query: $query);\n }\n }\n}\n\n@mixin two-line-item-density($density-scale, $query: feature-targeting.all()) {\n @include _two-line-item-density($density-scale, $query: $query);\n\n &.mdc-list-item--with-leading-avatar,\n &.mdc-list-item--with-leading-icon,\n &.mdc-list-item--with-leading-thumbnail,\n &.mdc-list-item--with-leading-checkbox,\n &.mdc-list-item--with-leading-radio,\n &.mdc-list-item--with-leading-switch,\n &.mdc-list-item--with-leading-image,\n &.mdc-list-item--with-leading-video {\n @include _two-line-item-tall-density($density-scale, $query: $query);\n }\n}\n\n@mixin three-line-item-density(\n $density-scale,\n $query: feature-targeting.all()\n) {\n @include _three-line-item-density($density-scale, $query: $query);\n}\n\n//\n// Private\n//\n\n// The private density mixins allow density properties to be overridden\n// individually to avoid increasing specificity.\n@mixin _one-line-item-density($density-scale, $query: feature-targeting.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$one-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include one-line-item-height($height, $query: $query);\n}\n\n@mixin _one-line-item-tall-density(\n $density-scale,\n $query: feature-targeting.all()\n) {\n $height: density-functions.prop-value(\n $density-config: variables.$one-line-item-tall-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include one-line-item-height($height, $query: $query);\n}\n\n@mixin _one-line-item-taller-density(\n $density-scale,\n $query: feature-targeting.all()\n) {\n $height: density-functions.prop-value(\n $density-config: variables.$one-line-item-taller-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include one-line-item-height($height, $query: $query);\n}\n\n@mixin _two-line-item-density($density-scale, $query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $height: density-functions.prop-value(\n $density-config: variables.$two-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include two-line-item-height($height, $query: $query);\n\n @if ($density-scale and $density-scale != 0) {\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n .mdc-list-item__primary-text,\n .mdc-list-item__secondary-text {\n margin-top: 0px;\n margin-bottom: 0px;\n line-height: 1.4;\n &::before,\n &::after {\n display: none;\n }\n }\n }\n }\n}\n\n@mixin _two-line-item-tall-density(\n $density-scale,\n $query: feature-targeting.all()\n) {\n $height: density-functions.prop-value(\n $density-config: variables.$two-line-item-tall-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include two-line-item-height($height, $query: $query);\n}\n\n@mixin _three-line-item-density(\n $density-scale,\n $query: feature-targeting.all()\n) {\n $height: density-functions.prop-value(\n $density-config: variables.$three-line-item-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include three-line-item-height($height, $query: $query);\n}\n\n@mixin list-base($query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-typography: feature-targeting.create-target($query, typography);\n\n @include typography.typography(subtitle1, $query);\n @include feature-targeting.targets($feat-typography) {\n // According to the mocks and stickersheet, the line-height is\n // adjusted to 24px for text content, same as for body1.\n /* @alternate */\n line-height: map.get(map.get(typography.$styles, body1), line-height);\n }\n @include feature-targeting.targets($feat-structure) {\n margin: 0;\n padding: 8px 0;\n list-style-type: none;\n\n &:focus // lint-disable-focus-psuedo-selector\n {\n outline: none;\n }\n }\n}\n\n@mixin item-base($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n @include feature-targeting.targets($feat-structure) {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n padding: 0;\n\n &:focus // lint-disable-focus-psuedo-selector\n {\n outline: none;\n }\n }\n}\n\n@mixin _item-interactive-ripple($query: feature-targeting.all()) {\n @include ripple.surface(\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple.radius-bounded(\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple-theme.states(\n theme-color.prop-value(on-surface),\n false,\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple-theme.states-activated(\n primary,\n false,\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n @include ripple-theme.states-selected(\n primary,\n false,\n $ripple-target: variables.$ripple-target,\n $query: $query\n );\n\n #{variables.$ripple-target} {\n @include ripple.target-common($query: $query);\n }\n}\n\n@mixin _two-line-item-primary-baseline(\n $top,\n $bottom,\n $query: feature-targeting.all()\n) {\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__primary-text {\n @include typography.text-baseline(\n $top: $top,\n $bottom: $bottom,\n $query: $query\n );\n }\n }\n}\n\n@mixin _three-line-item-primary-baseline(\n $top,\n $bottom,\n $query: feature-targeting.all()\n) {\n &.mdc-list-item--with-three-lines {\n .mdc-list-item__primary-text {\n @include typography.text-baseline(\n $top: $top,\n $bottom: $bottom,\n $query: $query\n );\n }\n }\n}\n\n@mixin _two-line-item-overline-baseline(\n $top,\n $bottom,\n $query: feature-targeting.all()\n) {\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__overline-text {\n @include typography.text-baseline(\n $top: $top,\n $bottom: $bottom,\n $query: $query\n );\n }\n }\n}\n\n@mixin _three-line-item-overline-baseline(\n $top,\n $bottom,\n $query: feature-targeting.all()\n) {\n &.mdc-list-item--with-three-lines {\n .mdc-list-item__overline-text {\n @include typography.text-baseline(\n $top: $top,\n $bottom: $bottom,\n $query: $query\n );\n }\n }\n}\n\n@mixin _two-line-item-end-baseline($top, $query: feature-targeting.all()) {\n &.mdc-list-item--with-two-lines {\n .mdc-list-item__end {\n @include typography.text-baseline(\n $display: block,\n $top: $top,\n $query: $query\n );\n }\n }\n}\n\n@mixin _three-line-item-end-baseline($top, $query: feature-targeting.all()) {\n &.mdc-list-item--with-three-lines {\n .mdc-list-item__end {\n @include typography.text-baseline(\n $display: block,\n $top: $top,\n $query: $query\n );\n }\n }\n}\n\n@mixin _two-line-item-meta-baseline($top, $query: feature-targeting.all()) {\n &.mdc-list-item--with-two-lines {\n &.mdc-list-item--with-trailing-meta {\n .mdc-list-item__end {\n @include typography.text-baseline(\n $display: block,\n $top: $top,\n $query: $query\n );\n }\n }\n }\n}\n\n@mixin item-meta-text-ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n &.mdc-list-item--with-trailing-meta {\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n }\n}\n\n@mixin _item-icon-ink-color(\n $color,\n $leading-only: false,\n $query: feature-targeting.all()\n) {\n $feat-color: feature-targeting.create-target($query, color);\n\n &.mdc-list-item--with-leading-icon {\n .mdc-list-item__start {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n }\n\n @if (not $leading-only) {\n &.mdc-list-item--with-trailing-icon {\n .mdc-list-item__end {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n }\n }\n }\n}\n\n@mixin _high-contrast-mode($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-color: feature-targeting.create-target($query, color);\n\n @include dom-mixins.forced-colors-mode {\n .mdc-list-divider::after {\n @include feature-targeting.targets($feat-structure) {\n content: '';\n display: block;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n }\n\n @include feature-targeting.targets($feat-color) {\n // Color ensures border is shown, but will be overridden by the browser.\n @include theme.property(border-bottom-color, white);\n }\n }\n }\n}\n","@use '@material/theme/theme' as mdc-theme;\n\n@use '../theming/theming';\n@use '../typography/typography';\n@use '../mdc-helpers/mdc-helpers';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n\n @include mdc-helpers.using-mdc-theme($config) {\n .mat-mdc-optgroup-label {\n // Since this will usually be rendered in an overlay,\n // we have to explicitly set the default color.\n @include mdc-theme.prop(color, text-primary-on-background);\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-optgroup') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","@use 'sass:map';\n@use '../../theming/theming';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $is-dark-theme: map.get($config, is-dark);\n $primary: map.get($config, primary);\n $accent: map.get($config, accent);\n $warn: map.get($config, warn);\n $background: map.get($config, background);\n\n // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,\n // this does not work well with elements layered on top of one another. To get around this we\n // blend the colors together based on the base color and the theme background.\n $white-30pct-opacity-on-dark: #686868;\n $black-26pct-opacity-on-light: #b0b0b0;\n $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);\n $colored-box-selector: '.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate';\n\n .mat-pseudo-checkbox {\n color: theming.get-color-from-palette(map.get($config, foreground), secondary-text);\n\n &::after {\n color: theming.get-color-from-palette($background, background);\n }\n }\n\n .mat-pseudo-checkbox-disabled {\n color: $disabled-color;\n }\n\n .mat-primary .mat-pseudo-checkbox-checked,\n .mat-primary .mat-pseudo-checkbox-indeterminate {\n background: theming.get-color-from-palette(map.get($config, primary));\n }\n\n // Default to the accent color. Note that the pseudo checkboxes are meant to inherit the\n // theme from their parent, rather than implementing their own theming, which is why we\n // don't attach to the `mat-*` classes. Also note that this needs to be below `.mat-primary`\n // in order to allow for the color to be overwritten if the checkbox is inside a parent that\n // has `mat-accent` and is placed inside another parent that has `mat-primary`.\n .mat-pseudo-checkbox-checked,\n .mat-pseudo-checkbox-indeterminate,\n .mat-accent .mat-pseudo-checkbox-checked,\n .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: theming.get-color-from-palette(map.get($config, accent));\n }\n\n .mat-warn .mat-pseudo-checkbox-checked,\n .mat-warn .mat-pseudo-checkbox-indeterminate {\n background: theming.get-color-from-palette(map.get($config, warn));\n }\n\n .mat-pseudo-checkbox-checked,\n .mat-pseudo-checkbox-indeterminate {\n &.mat-pseudo-checkbox-disabled {\n background: $disabled-color;\n }\n }\n}\n\n@mixin typography($config-or-theme) {}\n\n@mixin _density($config-or-theme) {}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-pseudo-checkbox') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include _density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","@use 'sass:map';\n@use 'theming/theming';\n@use './style/private';\n@use './ripple/ripple-theme';\n@use './option/option-theme';\n@use './option/optgroup-theme';\n@use './selection/pseudo-checkbox/pseudo-checkbox-theme';\n@use './style/elevation';\n@use './typography/typography';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n\n @include ripple-theme.color($config);\n @include option-theme.color($config);\n @include optgroup-theme.color($config);\n @include pseudo-checkbox-theme.color($config);\n\n // Wrapper element that provides the theme background when the user's content isn't\n // inside of a `mat-sidenav-container`. Note that we need to exclude the ampersand\n // selector in case the mixin is included at the top level.\n .mat-app-background#{if(&, ', &.mat-app-background', '')} {\n $background: map.get($config, background);\n $foreground: map.get($config, foreground);\n\n background-color: theming.get-color-from-palette($background, background);\n color: theming.get-color-from-palette($foreground, text);\n }\n\n // Provides external CSS classes for each elevation value. Each CSS class is formatted as\n // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element is\n // elevated.\n @for $zValue from 0 through 24 {\n $selector: elevation.$prefix + $zValue;\n // We need the `mat-mdc-elevation-specific`, because some MDC mixins\n // come with elevation baked in and we don't have a way of removing it.\n .#{$selector}, .mat-mdc-elevation-specific.#{$selector} {\n @include private.private-theme-elevation($zValue, $config);\n }\n }\n\n // Marker that is used to determine whether the user has added a theme to their page.\n @at-root {\n .mat-theme-loaded-marker {\n display: none;\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n\n @include option-theme.typography($config);\n @include optgroup-theme.typography($config);\n @include pseudo-checkbox-theme.typography($config);\n // TODO(mmalerba): add typography mixin for this.\n // @include ripple-theme.typography($config);\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n\n @include option-theme.density($density-scale);\n @include optgroup-theme.density($density-scale);\n // TODO(mmalerba): add density mixins for these.\n // @include ripple-theme.density($density-scale);\n // @include pseudo-checkbox-theme.density($density-scale);\n}\n\n// Mixin that renders all of the core styles that depend on the theme.\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n // Wrap the sub-theme includes in the duplicate theme styles mixin. This ensures that\n // there won't be multiple warnings. e.g. if `mat-core-theme` reports a warning, then\n // the imported themes (such as `mat-ripple-theme`) should not report again.\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-core') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use 'sass:map';\n@use 'sass:math';\n@use 'sass:meta';\n@use '@material/animation/variables' as animation-variables;\n@use '@material/theme/custom-properties';\n@use '@material/base/mixins' as base-mixins;\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/rtl/rtl';\n@use '@material/theme/css';\n@use '@material/theme/theme';\n@use '@material/theme/theme-color';\n\n$baseline-color: black !default;\n$umbra-opacity: 0.2 !default;\n$penumbra-opacity: 0.14 !default;\n$ambient-opacity: 0.12 !default;\n\n$umbra-map: (\n 0: '0px 0px 0px 0px',\n 1: '0px 2px 1px -1px',\n 2: '0px 3px 1px -2px',\n 3: '0px 3px 3px -2px',\n 4: '0px 2px 4px -1px',\n 5: '0px 3px 5px -1px',\n 6: '0px 3px 5px -1px',\n 7: '0px 4px 5px -2px',\n 8: '0px 5px 5px -3px',\n 9: '0px 5px 6px -3px',\n 10: '0px 6px 6px -3px',\n 11: '0px 6px 7px -4px',\n 12: '0px 7px 8px -4px',\n 13: '0px 7px 8px -4px',\n 14: '0px 7px 9px -4px',\n 15: '0px 8px 9px -5px',\n 16: '0px 8px 10px -5px',\n 17: '0px 8px 11px -5px',\n 18: '0px 9px 11px -5px',\n 19: '0px 9px 12px -6px',\n 20: '0px 10px 13px -6px',\n 21: '0px 10px 13px -6px',\n 22: '0px 10px 14px -6px',\n 23: '0px 11px 14px -7px',\n 24: '0px 11px 15px -7px',\n) !default;\n\n$penumbra-map: (\n 0: '0px 0px 0px 0px',\n 1: '0px 1px 1px 0px',\n 2: '0px 2px 2px 0px',\n 3: '0px 3px 4px 0px',\n 4: '0px 4px 5px 0px',\n 5: '0px 5px 8px 0px',\n 6: '0px 6px 10px 0px',\n 7: '0px 7px 10px 1px',\n 8: '0px 8px 10px 1px',\n 9: '0px 9px 12px 1px',\n 10: '0px 10px 14px 1px',\n 11: '0px 11px 15px 1px',\n 12: '0px 12px 17px 2px',\n 13: '0px 13px 19px 2px',\n 14: '0px 14px 21px 2px',\n 15: '0px 15px 22px 2px',\n 16: '0px 16px 24px 2px',\n 17: '0px 17px 26px 2px',\n 18: '0px 18px 28px 2px',\n 19: '0px 19px 29px 2px',\n 20: '0px 20px 31px 3px',\n 21: '0px 21px 33px 3px',\n 22: '0px 22px 35px 3px',\n 23: '0px 23px 36px 3px',\n 24: '0px 24px 38px 3px',\n) !default;\n\n$ambient-map: (\n 0: '0px 0px 0px 0px',\n 1: '0px 1px 3px 0px',\n 2: '0px 1px 5px 0px',\n 3: '0px 1px 8px 0px',\n 4: '0px 1px 10px 0px',\n 5: '0px 1px 14px 0px',\n 6: '0px 1px 18px 0px',\n 7: '0px 2px 16px 1px',\n 8: '0px 3px 14px 2px',\n 9: '0px 3px 16px 2px',\n 10: '0px 4px 18px 3px',\n 11: '0px 4px 20px 3px',\n 12: '0px 5px 22px 4px',\n 13: '0px 5px 24px 4px',\n 14: '0px 5px 26px 4px',\n 15: '0px 6px 28px 5px',\n 16: '0px 6px 30px 5px',\n 17: '0px 6px 32px 5px',\n 18: '0px 7px 34px 6px',\n 19: '0px 7px 36px 6px',\n 20: '0px 8px 38px 7px',\n 21: '0px 8px 40px 7px',\n 22: '0px 8px 42px 7px',\n 23: '0px 9px 44px 8px',\n 24: '0px 9px 46px 8px',\n) !default;\n\n// The css property used for elevation. In most cases this should not be changed. It is exposed\n// as a variable for abstraction / easy use when needing to reference the property directly, for\n// example in a `will-change` rule.\n$property: box-shadow !default;\n\n// The default color for the elevation overlay.\n$overlay-color: #fff;\n\n// The css property used for elevation overlay transitions. In most cases this should not be changed. It is exposed\n// as a variable for abstraction / easy use when needing to reference the property directly, for\n// example in a `will-change` rule.\n$overlay-property: opacity !default;\n\n// The default duration value for elevation transitions.\n$transition-duration: 280ms !default;\n\n// The default easing value for elevation transitions.\n$transition-timing-function: animation-variables.$standard-curve-timing-function !default;\n\n///\n/// Sets the elevation transition value.\n///\n/// @param {String} $duration - The duration of the transition.\n/// @param {String} $easing - The easing function for the transition.\n/// @return {String}\n///\n@function transition-value(\n $duration: $transition-duration,\n $easing: $transition-timing-function\n) {\n @return #{$property} #{$duration} #{$easing};\n}\n\n///\n/// Sets the elevation overlay transition value.\n///\n/// @param {String} $duration - The duration of the transition.\n/// @param {String} $easing - The easing function for the transition.\n/// @return {String}\n///\n@function overlay-transition-value(\n $duration: $transition-duration,\n $easing: $transition-timing-function\n) {\n @return #{$overlay-property} #{$duration} #{$easing};\n}\n\n///\n/// Creates a box-shadow from the Material elevation system.\n/// @param {Number} $level - the level of the Material elevation system.\n/// @param {String} $color - the color of the shadow.\n/// @param {Number} $opacity-boost [0] - optional opacity boost for the shadow.\n/// @return {List} the complete box shadow.\n///\n@function _box-shadow($level, $color, $opacity-boost: 0) {\n $color: theme-color.prop-value($color);\n $umbra-z-value: map.get($umbra-map, $level);\n $penumbra-z-value: map.get($penumbra-map, $level);\n $ambient-z-value: map.get($ambient-map, $level);\n\n $umbra-color: rgba($color, $umbra-opacity + $opacity-boost);\n $penumbra-color: rgba($color, $penumbra-opacity + $opacity-boost);\n $ambient-color: rgba($color, $ambient-opacity + $opacity-boost);\n\n @return (\n #{'#{$umbra-z-value} #{$umbra-color}'},\n #{'#{$penumbra-z-value} #{$penumbra-color}'},\n #{$ambient-z-value} $ambient-color\n );\n}\n\n// Returns the correct box-shadow specified by $z-value.\n// The $z-value must be between 0 and 24.\n// If $color has an alpha channel, it will be ignored and overridden. To increase the opacity of the shadow, use\n// $opacity-boost.\n@function elevation-box-shadow(\n $z-value,\n $color: $baseline-color,\n $opacity-boost: 0\n) {\n @if meta.type-of($z-value) != number or not math.is-unitless($z-value) {\n @error \"$z-value must be a unitless number, but received '#{$z-value}'\";\n }\n\n @if $z-value < 0 or $z-value > 24 {\n @error \"$z-value must be between 0 and 24, but received '#{$z-value}'\";\n }\n\n @return _box-shadow($z-value, $color, $opacity-boost);\n}\n\n///\n/// Returns a shadow or null if params are invalid.\n/// @param {Number} $level - the level of the Material elevation system.\n/// @param {String} $color - the color of the shadow.\n/// @return {List|null} the complete box shadow or null.\n///\n@function _shadow($level, $color) {\n @if $level == null and $color == null {\n // Do not emit a warning if both are null, which means the user did not\n // provide tokens.\n @return null;\n }\n\n @if $level == null or $color == null {\n // If one of the tokens is null, emit a warning: the user may not realize\n // that both are required.\n @warn \"both $level and $color are required; received $level: '#{$level}', $color: '#{$color}'\";\n @return null;\n }\n\n @if $level < 0 or $level > 24 {\n @warn \"$level must be between 0 and 24; received '#{$level}'\";\n @return null;\n }\n\n @return _box-shadow($level, $color);\n}\n\n@function get-elevation($level) {\n @return (box-shadow: elevation-box-shadow($level));\n}\n\n///\n/// Sets the shadow of the element.\n///\n/// @param {String} $box-shadow - The shadow to apply to the element.\n///\n@mixin _box-shadow($shadow, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(box-shadow, $shadow);\n }\n}\n\n///\n/// Sets the shadow of the element.\n///\n/// @param {String} $box-shadow - The shadow to apply to the element.\n///\n@mixin shadow($box-shadow, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include feature-targeting.targets($feat-color) {\n @if custom-properties.is-custom-prop($box-shadow) {\n // TODO(b/185188458): Use theme.property() once resolved.\n $fallback: custom-properties.get-fallback($box-shadow);\n\n // var(--<box-shadow-prop>, var(--m-elevation-box-shadow-for-gss))\n $gss-custom-prop: custom-properties.create(\n custom-properties.get-varname($box-shadow),\n custom-properties.create(elevation-box-shadow-for-gss)\n );\n\n $value: custom-properties.create-var($gss-custom-prop);\n @if $value == null {\n // Custom properties are disabled, since $gss-custom-prop\n // does not have a fallback. Avoid emitting two non-custom\n // prop declarations by setting $fallback to null.\n $value: $fallback;\n $fallback: null;\n }\n\n @include custom-properties.declaration(\n custom-properties.create(elevation-box-shadow-for-gss, $fallback)\n );\n @include css.declaration(box-shadow, $value, $fallback-value: $fallback);\n } @else {\n /* @alternate */\n box-shadow: $box-shadow;\n }\n }\n}\n\n///\n/// Sets the elevation overlay surface required positioning.\n///\n@mixin overlay-surface-position($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n @include feature-targeting.targets($feat-structure) {\n /* @alternate */\n position: relative;\n }\n}\n\n///\n/// Sets the dimensions of the elevation overlay, including positioning and sizing.\n///\n/// @param {Number} $width - The width of the elevation overlay\n/// @param {Number} [$height] - The height of the elevation overlay\n/// @param {Boolean} [$has-content-sizing] - Set to false if the container has no content sizing\n///\n@mixin overlay-dimensions(\n $width,\n $height: $width,\n $has-content-sizing: true,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n .mdc-elevation-overlay {\n @include feature-targeting.targets($feat-structure) {\n @include theme.property(width, $width);\n @include theme.property(height, $height);\n\n @if $has-content-sizing {\n top: 0;\n @include rtl.ignore-next-line();\n left: 0;\n } @else {\n top: 50%;\n @include rtl.ignore-next-line();\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n }\n}\n\n///\n/// Sets the elevation overlay fill color.\n/// Expected to be called directly on the elevation overlay element.\n///\n/// @param {Color} $color - The color of the elevation overlay.\n///\n@mixin overlay-fill-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(background-color, $color);\n }\n}\n\n///\n/// Applies the given color to the container of the overlay.\n/// @param {color} $color - the color of the overlay container\n///\n@mixin overlay-container-color($color, $query: feature-targeting.all()) {\n .mdc-elevation-overlay {\n @include overlay-fill-color($color, $query: $query);\n }\n}\n\n///\n/// Sets the elevation overlay opacity.\n/// Expected to be called from a parent element.\n///\n/// @param {Number} $opacity - The opacity of the elevation overlay.\n///\n@mixin overlay-opacity($opacity, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-elevation-overlay {\n @include feature-targeting.targets($feat-color) {\n @include theme.property(opacity, $opacity);\n }\n }\n}\n\n// Applies the correct CSS rules to an element to give it the elevation specified by $z-value.\n// The $z-value must be between 0 and 24.\n// If $color has an alpha channel, it will be ignored and overridden. To increase the opacity of the shadow, use\n// $opacity-boost.\n@mixin elevation(\n $z-value,\n $color: $baseline-color,\n $opacity-boost: 0,\n $query: feature-targeting.all()\n) {\n $box-shadow: elevation-box-shadow(\n $z-value,\n $color: $color,\n $opacity-boost: $opacity-boost\n );\n\n @include shadow($box-shadow, $query: $query);\n}\n\n///\n/// Represents the configurable values of the elevation theme.\n///\n$_theme-values: (\n shadow: null,\n overlay-opacity: null,\n overlay-color: null,\n);\n\n///\n/// Applies the shadow theme with the given $resolver function.\n/// @param {Function} $resolver - a function that returns a valid theme config.\n/// @see resolver for an example and expected arguments and return value.\n/// Accepts the following optional keyword args:\n/// @param {Number} $elevation - the level in the elevation system.\n/// @param {String} $shadow-color - the color used for the shadow.\n///\n@mixin with-resolver($resolver, $query: feature-targeting.all(), $args...) {\n @if $resolver {\n @include _theme(meta.call($resolver, $args...), $query: $query);\n }\n}\n\n///\n/// Applies the given theme with validation.\n/// @param {Map} $theme - @see $_theme-values for accepted theme properties.\n///\n@mixin theme($theme: (), $query: feature-targeting.all()) {\n @include theme.validate-theme($_theme-values, $theme);\n @include _theme($theme, $query: $query);\n}\n\n///\n/// Applies the given theme.\n/// @param {Map} $theme - @see $_theme-values for accepted theme properties.\n///\n@mixin _theme($theme: (), $query: feature-targeting.all()) {\n @include shadow(map.get($theme, shadow), $query: $query);\n @include overlay-opacity(map.get($theme, overlay-opacity), $query: $query);\n @include overlay-container-color(\n map.get($theme, overlay-color),\n $query: $query\n );\n}\n\n///\n/// Transforms the following optional parameters into a theme config.\n/// @param {Number} $elevation - the level of the elevation system in Material.\n/// @param {String} $shadow-color - the color to be used by the shadow.\n/// @return {Map} @see $_theme-values for accepted theme properties.\n///\n@function resolver($args...) {\n $opts: meta.keywords($args);\n $elevation: map.get($opts, elevation);\n $shadow-color: map.get($opts, shadow-color);\n @if custom-properties.is-custom-prop($elevation) {\n @return _resolve-custom-props($elevation, $shadow-color);\n }\n\n @return (shadow: _shadow($elevation, $shadow-color));\n}\n\n@function _resolve-custom-props($elevation, $shadow-color) {\n $fallback-dp: custom-properties.get-fallback($elevation);\n $fallback-shadow-color: custom-properties.get-fallback($shadow-color);\n $shadow: custom-properties.set-fallback(\n $elevation,\n _shadow($fallback-dp, $fallback-shadow-color)\n );\n @return (shadow: $shadow);\n}\n","@use 'sass:color';\n@use 'sass:map';\n@use 'sass:math';\n@use 'sass:meta';\n@use '../core/style/private';\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n@use '../core/typography/typography-utils';\n@use '../button/icon-button-theme';\n\n$selected-today-box-shadow-width: 1px;\n$selected-fade-amount: 0.6;\n$range-fade-amount: 0.2;\n$today-fade-amount: 0.2;\n$calendar-body-font-size: 13px !default;\n$calendar-weekday-table-font-size: 11px !default;\n\n@mixin _color($palette) {\n @include date-range-colors(\n theming.get-color-from-palette($palette, default, $range-fade-amount));\n\n .mat-calendar-body-selected {\n background-color: theming.get-color-from-palette($palette);\n color: theming.get-color-from-palette($palette, default-contrast);\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-selected {\n $background: theming.get-color-from-palette($palette);\n\n @if (meta.type-of($background) == color) {\n background-color: color.adjust($background, $alpha: -$selected-fade-amount);\n }\n @else {\n // If we couldn't resolve to background to a color (e.g. it's a CSS variable),\n // fall back to fading the content out via `opacity`.\n opacity: $today-fade-amount;\n }\n }\n\n .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 $selected-today-box-shadow-width\n theming.get-color-from-palette($palette, default-contrast);\n }\n\n .cdk-keyboard-focused .mat-calendar-body-active,\n .cdk-program-focused .mat-calendar-body-active {\n @include _highlighted-cell($palette);\n }\n\n @media (hover: hover) {\n .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover {\n @include _highlighted-cell($palette);\n }\n }\n}\n\n// Utility mixin to target cells that aren't selected. Used to make selector easier to follow.\n@mixin _unselected-cell {\n &:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n @content;\n }\n}\n\n// Styles for a highlighted calendar cell (e.g. hovered or focused).\n@mixin _highlighted-cell($palette) {\n & > .mat-calendar-body-cell-content {\n @include _unselected-cell {\n background-color: theming.get-color-from-palette($palette, 0.3);\n }\n }\n}\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $foreground: map.get($config, foreground);\n $background: map.get($config, background);\n $disabled-color: theming.get-color-from-palette($foreground, disabled-text);\n\n .mat-calendar-arrow {\n fill: theming.get-color-from-palette($foreground, icon);\n }\n\n // The prev/next buttons need a bit more specificity to\n // avoid being overwritten by the .mat-icon-button.\n .mat-datepicker-toggle,\n .mat-datepicker-content .mat-calendar-next-button,\n .mat-datepicker-content .mat-calendar-previous-button {\n color: theming.get-color-from-palette($foreground, icon);\n }\n\n .mat-calendar-table-header-divider::after {\n background: theming.get-color-from-palette($foreground, divider);\n }\n\n .mat-calendar-table-header,\n .mat-calendar-body-label {\n color: theming.get-color-from-palette($foreground, secondary-text);\n }\n\n .mat-calendar-body-cell-content,\n .mat-date-range-input-separator {\n color: theming.get-color-from-palette($foreground, text);\n border-color: transparent;\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-cell-content {\n @include _unselected-cell {\n color: $disabled-color;\n }\n }\n\n .mat-form-field-disabled .mat-date-range-input-separator {\n color: $disabled-color;\n }\n\n .mat-calendar-body-in-preview {\n $divider-color: theming.get-color-from-palette($foreground, divider);\n\n @if meta.type-of($divider-color) == color {\n // The divider color is set under the assumption that it'll be used\n // for a solid border, but because we're using a dashed border for the\n // preview range, we need to bump its opacity to ensure that it's visible.\n color: rgba($divider-color, math.min(opacity($divider-color) * 2, 1));\n }\n @else {\n color: $divider-color;\n }\n }\n\n .mat-calendar-body-today {\n @include _unselected-cell {\n // Note: though it's not text, the border is a hint about the fact that this is today's date,\n // so we use the hint color.\n border-color: theming.get-color-from-palette($foreground, hint-text);\n }\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-today {\n @include _unselected-cell {\n $color: theming.get-color-from-palette($foreground, hint-text);\n\n @if (meta.type-of($color) == color) {\n border-color: color.adjust($color, $alpha: -$today-fade-amount);\n }\n @else {\n // If the color didn't resolve to a color value, but something like a CSS variable, we can't\n // fade it out so we fall back to reducing the element opacity. Note that we don't use the\n // $mat-datepicker-today-fade-amount, because hint text usually has some opacity applied\n // to it already and we don't want them to stack on top of each other.\n opacity: 0.5;\n }\n }\n }\n\n @include _color(map.get($config, primary));\n\n .mat-datepicker-content {\n @include private.private-theme-elevation(4, $config);\n background-color: theming.get-color-from-palette($background, card);\n color: theming.get-color-from-palette($foreground, text);\n\n &.mat-accent {\n @include _color(map.get($config, accent));\n }\n\n &.mat-warn {\n @include _color(map.get($config, warn));\n }\n }\n\n .mat-datepicker-content-touch {\n @include private.private-theme-elevation(24, $config);\n }\n\n .mat-datepicker-toggle-active {\n color: theming.get-color-from-palette(map.get($config, primary), text);\n\n &.mat-accent {\n color: theming.get-color-from-palette(map.get($config, accent), text);\n }\n\n &.mat-warn {\n color: theming.get-color-from-palette(map.get($config, warn), text);\n }\n }\n\n .mat-date-range-input-inner[disabled] {\n color: theming.get-color-from-palette($foreground, disabled-text);\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2014-config(\n theming.get-typography-config($config-or-theme));\n .mat-calendar {\n font-family: typography-utils.font-family($config);\n }\n\n .mat-calendar-body {\n font-size: $calendar-body-font-size;\n }\n\n .mat-calendar-body-label,\n .mat-calendar-period-button {\n font: {\n size: typography-utils.font-size($config, button);\n weight: typography-utils.font-weight($config, button);\n }\n }\n\n .mat-calendar-table-header th {\n font: {\n size: $calendar-weekday-table-font-size;\n weight: typography-utils.font-weight($config, body-1);\n }\n }\n}\n\n@mixin date-range-colors(\n $range-color,\n $comparison-color: rgba(#f9ab00, $range-fade-amount),\n $overlap-color: #a8dab5,\n $overlap-selected-color: color.adjust($overlap-color, $lightness: -30%)) {\n\n .mat-calendar-body-in-range::before {\n background: $range-color;\n }\n\n .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range::before {\n background: $comparison-color;\n }\n\n .mat-calendar-body-comparison-bridge-start::before,\n [dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, $range-color 50%, $comparison-color 50%);\n }\n\n .mat-calendar-body-comparison-bridge-end::before,\n [dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, $range-color 50%, $comparison-color 50%);\n }\n\n .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: $overlap-color;\n }\n\n .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: $overlap-selected-color;\n }\n}\n\n@mixin _density($config-or-theme) {\n // Regardless of the user-passed density, we want the calendar previous/next buttons to remain at\n // density -2\n .mat-calendar-controls {\n @include icon-button-theme.density(-2);\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-datepicker') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include _density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/theme/theme';\n@use '@material/theme/custom-properties';\n@use '@material/shape/mixins' as shape-mixins;\n@use '@material/animation/variables' as animation-variables;\n@use '@material/elevation/mixins' as elevation-mixins;\n@use '@material/rtl/rtl';\n@use './variables';\n@use './menu-surface-custom-properties';\n\n//\n// Public\n//\n\n@mixin core-styles($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n // postcss-bem-linter: define menu-surface\n .mdc-menu-surface {\n @include base_($query);\n @include elevation-mixins.elevation($z-value: 8, $query: $query);\n @include fill-color(surface, $query);\n @include ink-color(on-surface, $query);\n @include shape-radius(variables.$shape-radius, false, $query);\n\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(transform-origin, top left, top right);\n }\n }\n\n .mdc-menu-surface--anchor {\n @include feature-targeting.targets($feat-structure) {\n position: relative;\n overflow: visible;\n }\n }\n\n .mdc-menu-surface--fixed {\n @include feature-targeting.targets($feat-structure) {\n position: fixed;\n }\n }\n\n .mdc-menu-surface--fullwidth {\n @include feature-targeting.targets($feat-structure) {\n width: 100%;\n }\n }\n // postcss-bem-linter: end\n}\n\n@mixin ink-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, $color);\n }\n}\n\n@mixin fill-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(background-color, $color);\n }\n}\n\n@mixin shape-radius(\n $radius,\n $rtl-reflexive: false,\n $query: feature-targeting.all()\n) {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n}\n\n// Used by filled variants of GM components to conditionally flatten the top\n// corners of the menu.\n@mixin flatten-top-when-opened-below($query: feature-targeting.all()) {\n .mdc-menu-surface--is-open-below {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n @include feature-targeting.targets($feat-structure) {\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin base_($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-animation: feature-targeting.create-target($query, animation);\n\n @include feature-targeting.targets($feat-structure) {\n display: none;\n position: absolute;\n box-sizing: border-box;\n\n $max-width: custom-properties.create(\n menu-surface-custom-properties.$max-width,\n calc(100vw - #{variables.$min-distance-from-edge})\n );\n @include theme.property(max-width, $max-width);\n $max-height: custom-properties.create(\n menu-surface-custom-properties.$max-height,\n calc(100vh - #{variables.$min-distance-from-edge})\n );\n @include theme.property(max-height, $max-height);\n margin: 0;\n padding: 0;\n transform: scale(1);\n transform-origin: top left;\n opacity: 0;\n overflow: auto;\n will-change: transform, opacity;\n z-index: variables.$z-index;\n }\n\n @include feature-targeting.targets($feat-animation) {\n transition: opacity variables.$fade-in-duration linear,\n transform variables.$scale-duration\n animation-variables.$deceleration-curve-timing-function,\n height 250ms animation-variables.$deceleration-curve-timing-function;\n }\n\n &:focus {\n @include feature-targeting.targets($feat-structure) {\n outline: none;\n }\n }\n\n &--animating-open {\n @include feature-targeting.targets($feat-structure) {\n display: inline-block;\n transform: scale(0.8);\n opacity: 0;\n }\n }\n\n // Render this after `--animating-open` to override `opacity` & `transform`\n // CSS properties.\n &--open {\n @include feature-targeting.targets($feat-structure) {\n display: inline-block;\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &--animating-closed {\n @include feature-targeting.targets($feat-structure) {\n display: inline-block;\n opacity: 0;\n }\n\n @include feature-targeting.targets($feat-animation) {\n transition: opacity variables.$fade-out-duration linear;\n }\n }\n}\n","// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use '@material/feature-targeting/feature-targeting';\n///\n/// Emits necessary layout styles to set a transparent border around an element\n/// without interfering with the rest of its component layout. The border is\n/// only visible in high-contrast mode. The target element should be a child of\n/// a relatively positioned top-level element (i.e. a ::before pseudo-element).\n///\n/// @param {number} $border-width - The width of the transparent border.\n/// @param {string} $border-style - The style of the transparent border.\n///\n@mixin transparent-border(\n $border-width: 1px,\n $border-style: solid,\n $query: feature-targeting.all()\n) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n @include feature-targeting.targets($feat-structure) {\n position: absolute;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n border: $border-width $border-style transparent;\n border-radius: inherit;\n content: '';\n pointer-events: none;\n }\n\n // Used to satisfy Firefox v94 which does not render transparent borders in HCM (b/206440838).\n @include forced-colors-mode($exclude-ie11: true) {\n @include feature-targeting.targets($feat-structure) {\n border-color: CanvasText;\n }\n }\n}\n\n///\n/// Visually hides text content for accessibility. This text should only be\n/// visible to screen reader users.\n/// See https://a11yproject.com/posts/how-to-hide-content/\n///\n@mixin visually-hidden($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n @include feature-targeting.targets($feat-structure) {\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap; /* added line */\n width: 1px;\n }\n}\n\n/// Selects for IE11 support.\n///\n/// @content styles to emit for IE11 support\n@mixin ie11-support {\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n @content;\n }\n}\n\n/// Selects for `forced-colors` high contrast mode.\n///\n/// While in `forced-colors` mode, only system colors should be used.\n///\n/// @link https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#system_colors\n/// @link https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors\n/// @content styles to emit in `forced-colors` mode\n@mixin forced-colors-mode($exclude-ie11: false) {\n @if $exclude-ie11 {\n @media screen and (forced-colors: active) {\n @content;\n }\n } @else {\n @media screen and (forced-colors: active), (-ms-high-contrast: active) {\n @content;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:color';\n@use '@material/switch/switch-theme' as mdc-switch-theme;\n@use '@material/theme/color-palette' as mdc-color-palette;\n@use '@material/form-field' as mdc-form-field;\n@use '../core/theming/theming';\n@use '../core/mdc-helpers/mdc-helpers';\n@use '../core/typography/typography';\n\n\n// Generates all color mapping for the properties that only change based on the theme.\n@function _get-theme-base-map($is-dark) {\n $on-surface: if($is-dark, mdc-color-palette.$grey-100, mdc-color-palette.$grey-800);\n $hairline: if($is-dark, mdc-color-palette.$grey-500, mdc-color-palette.$grey-300);\n $on-surface-variant: if($is-dark, mdc-color-palette.$grey-200, mdc-color-palette.$grey-700);\n $on-surface-state-content: if($is-dark, mdc-color-palette.$grey-50, mdc-color-palette.$grey-900);\n $disabled-handle-color: mdc-color-palette.$grey-800;\n $selected-icon-color: mdc-color-palette.$grey-100;\n $icon-color: if($is-dark, mdc-color-palette.$grey-800, mdc-color-palette.$grey-100);\n\n @return (\n disabled-selected-handle-color: $disabled-handle-color,\n disabled-unselected-handle-color: $disabled-handle-color,\n\n disabled-selected-track-color: $on-surface,\n disabled-unselected-track-color: $on-surface,\n unselected-focus-state-layer-color: $on-surface,\n unselected-pressed-state-layer-color: $on-surface,\n unselected-hover-state-layer-color: $on-surface,\n\n unselected-focus-track-color: $hairline,\n unselected-hover-track-color: $hairline,\n unselected-pressed-track-color: $hairline,\n unselected-track-color: $hairline,\n\n unselected-focus-handle-color: $on-surface-state-content,\n unselected-hover-handle-color: $on-surface-state-content,\n unselected-pressed-handle-color: $on-surface-state-content,\n\n handle-surface-color: surface,\n unselected-handle-color: $on-surface-variant,\n\n selected-icon-color: $selected-icon-color,\n disabled-selected-icon-color: $icon-color,\n disabled-unselected-icon-color: $icon-color,\n unselected-icon-color: $icon-color,\n );\n}\n\n// Generates the mapping for the properties that change based on the slide toggle color.\n@function _get-theme-color-map($color-palette) {\n $state-content: color.scale($color-palette, $blackness: 50%);\n $inverse: color.scale($color-palette, $lightness: 75%);\n\n @return (\n selected-focus-state-layer-color: $color-palette,\n selected-handle-color: $color-palette,\n selected-hover-state-layer-color: $color-palette,\n selected-pressed-state-layer-color: $color-palette,\n\n selected-focus-handle-color: $state-content,\n selected-hover-handle-color: $state-content,\n selected-pressed-handle-color: $state-content,\n\n selected-focus-track-color: $inverse,\n selected-hover-track-color: $inverse,\n selected-pressed-track-color: $inverse,\n selected-track-color: $inverse,\n );\n}\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $primary: theming.get-color-from-palette(map.get($config, primary));\n $accent: theming.get-color-from-palette(map.get($config, accent));\n $warn: theming.get-color-from-palette(map.get($config, warn));\n $is-dark: map.get($config, is-dark);\n $foreground: map.get($config, foreground);\n\n @include mdc-helpers.using-mdc-theme($config) {\n // MDC's switch doesn't support a `color` property. We add support\n // for it by adding a CSS class for accent and warn style.\n .mat-mdc-slide-toggle {\n @include mdc-form-field.core-styles($query: mdc-helpers.$mdc-theme-styles-query);\n @include mdc-switch-theme.theme(_get-theme-base-map($is-dark));\n\n // MDC should set the disabled color on the label, but doesn't, so we do it here instead.\n .mdc-switch--disabled + label {\n color: theming.get-color-from-palette($foreground, disabled-text);\n }\n\n &.mat-primary {\n @include mdc-switch-theme.theme(_get-theme-color-map($primary));\n }\n\n &.mat-accent {\n @include mdc-switch-theme.theme(_get-theme-color-map($accent));\n }\n\n &.mat-warn {\n @include mdc-switch-theme.theme(_get-theme-color-map($warn));\n }\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n @include mdc-helpers.using-mdc-typography($config) {\n @include mdc-form-field.core-styles($query: mdc-helpers.$mdc-typography-styles-query);\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n .mat-mdc-slide-toggle {\n @include mdc-switch-theme.theme(mdc-switch-theme.density($density-scale));\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-slide-toggle') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/rtl/rtl';\n@use '@material/theme/theme';\n@use '@material/typography/typography';\n@use './variables';\n\n@mixin core-styles($query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n $feat-structure: feature-targeting.create-target($query, structure);\n\n .mdc-form-field {\n @include typography.typography(body2, $query);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, text-primary-on-background);\n }\n\n @include feature-targeting.targets($feat-structure) {\n display: inline-flex;\n &[hidden] {\n display: none;\n }\n align-items: center;\n vertical-align: middle;\n }\n\n > label {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(margin, 0, auto);\n @include rtl.reflexive-property(padding, variables.$item-spacing, 0);\n\n order: 0;\n }\n }\n }\n\n .mdc-form-field--nowrap {\n > label {\n @include feature-targeting.targets($feat-structure) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n }\n }\n\n .mdc-form-field--align-end {\n > label {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(margin, auto, 0);\n @include rtl.reflexive-property(padding, 0, variables.$item-spacing);\n\n order: -1;\n }\n }\n }\n\n .mdc-form-field--space-between {\n @include feature-targeting.targets($feat-structure) {\n justify-content: space-between;\n }\n\n > label {\n @include feature-targeting.targets($feat-structure) {\n margin: 0;\n\n @include rtl.rtl {\n // RTL needed for specificity\n margin: 0;\n }\n }\n }\n }\n}\n",".cdk-overlay-pane {\n background-color: white;\n}\n\n// Disable global scrollbars (used in full screen eui-dialog for example)\n.cdk-global-scrollblock {\n position: fixed;\n overflow-y: visible;\n width: 100%;\n @include eui-scrollbars;\n top: 0 !important;\n left: 0 !important;\n}\n@include media($eui-bkp-mobile) {\n .cdk-global-scrollblock {\n height: 100%;\n overflow: auto;\n position: fixed;\n width: 100%;\n @include eui-scrollbars;\n }\n}\n","@mixin eui-scrollbars( $size: 8px, $foreground-color: v(eui-base-color-grey-20), $background-color: v(eui-base-color-grey-10), $border-radius: 5rem, $state: active ) {\n &::-webkit-scrollbar {\n display: inherit;\n height: $size; // horizontal scroll\n width: $size; // vertical scroll\n // z-index: v(eui-base-z-index-highlighted); // should be when in edition mode\n @if ($state == active) {\n background-color: $background-color;\n }\n @else {\n background-color: transparent;\n }\n }\n\n // This is the scrolling bar\n &::-webkit-scrollbar-thumb {\n @if ($state == active) {\n background-color: $foreground-color;\n border-radius: $border-radius;\n\n &:hover {\n background-color: v(eui-base-color-grey-25);\n }\n }\n @else {\n background-color: transparent;\n }\n }\n\n // This is the scroll container\n &::-webkit-scrollbar-track {\n @if ($state == active) {\n background-color: $background-color;\n border-radius: 0;\n }\n @else {\n background-color: transparent;\n }\n }\n}\n@mixin eui-scrollbars-inactive($size: 8px) {\n &::-webkit-scrollbar {\n background-color: transparent;\n display: inherit;\n height: $size; // horizontal scroll\n width: $size; // vertical scroll\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n}\n","$default-feature: \"min-width\";\n@mixin media($query: $feature $value $columns) {\n @if length($query) == 1 {\n @media screen and ($default-feature: nth($query, 1)) {\n @content;\n }\n }\n @else {\n $loop-to: length($query);\n $media-query: \"screen and \";\n @if is-not(is-even(length($query))) {\n $loop-to: $loop-to - 1;\n }\n $i: 1;\n @while $i <=$loop-to {\n $media-query: $media-query + \"(\" + nth($query, $i) + \": \" + nth($query, $i + 1) + \") \";\n @if ($i + 1) != $loop-to {\n $media-query: $media-query + \"and \";\n }\n $i: $i+2;\n }\n @media #{$media-query} {\n @content;\n }\n }\n}\n","// TODO v15 remove / replace in showczase\n\n.flex-container {\n align-items: center;\n display: flex;\n width: 100%;\n}\n\n// v v v IE11 FIXES -> TO BE DEPRECATED v v v\n// Flexbox / Bootstrap obvious overrides for IE/Vendors\n.d-flex {\n display: -webkit-box !important;\n display: -webkit-flex !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n// Like .col definition with IE fix\n.ux-col {\n // A preferred size of 0 must have a unit to avoid being interpreted as a flexibility.\n // Defaults to 0% when omitted.\n // Source: MDN & MSDN\n flex: 1 0 auto;\n}\n","// TODO v15 transfer to styles base ?\n\n// HEADINGS\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6,\n.h7,\n.h8,\n.h9 {\n @include eui-font-family();\n color: inherit;\n // font-family: v(eui-base-font-family);\n // font-weight: normal;\n}\n\nh1,\n.h1 {\n @include eui-font(4xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh2,\n.h2 {\n @include eui-font(3xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh3,\n.h3 {\n @include eui-font(2xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh4,\n.h4 {\n @include eui-font(xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh5,\n.h5 {\n @include eui-font(l, ui);\n line-height: v(eui-base-line-height);\n}\n\nh6,\n.h6 {\n @include eui-font(m, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h7,\n.small {\n @include eui-font(s, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h8,\n.smaller {\n @include eui-font(xs, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h9,\n.smallest,\n.tiny {\n @include eui-font(2xs, ui);\n line-height: v(eui-base-line-height);\n}\n\n\na,\na:not([href]):not([tabindex]) {\n color: v(eui-base-color-link);\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: v(eui-base-color-link);\n text-decoration: underline;\n }\n}\n\na {\n background-color: transparent;\n text-decoration: none;\n}\n\na:focus {\n text-decoration: underline;\n}\n\nabbr[title] {\n text-decoration: none; // TODO: underline dotted is the default and recommended usage\n}\n\n.label, abbr, blockquote, del, label, mark, p {\n font-size: v(eui-base-font-size);\n}\n\nlabel {\n margin-bottom: v(eui-base-spacing-xs);\n}\n","/** Common weight name mapping\n @See the OpenType specification:\n https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass\n The numerical values 100 to 900 roughly correspond to the following common weight names:\n 100 Thin (Hairline)\n 200\t Extra Light (Ultra Light)\n 300\t Light\n 400\t Normal\n 500\t Medium\n 600\t Semi Bold (Demi Bold)\n 700\t Bold\n 800\t Extra Bold (Ultra Bold)\n 900\t Black (Heavy)\n**/\n@mixin eui-font-family() {\n font-family: v(eui-base-font-family);\n font-size: v(eui-base-font-size);\n font-style: normal;\n font-weight: 400;\n}\n@mixin eui-font-family-light() {\n font-style: normal;\n font-weight: 300;\n}\n@mixin eui-font-family-normal() {\n font-style: normal;\n font-weight: 400;\n}\n@mixin eui-font-family-italic() {\n font-style: italic;\n font-weight: 400;\n}\n@mixin eui-font-family-bold() {\n font-style: normal;\n font-weight: 700;\n}\n@mixin eui-font-family-bold-italic() {\n font-style: italic;\n font-weight: 700;\n}\n\n@mixin eui-font-family-monospace() {\n font-family: v(eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n","@mixin eui-font($size: m, $family: ui) {\n $selected-family: map-get($eui-base-tokens-fonts, $family);\n $selected-font-definition: map-get($selected-family, $size);\n\n font: $selected-font-definition;\n}\n","// eUI 13+ only\n.eui-input-maxlength-wrapper {\n position: relative;\n width: 100%;\n\n .eui-input-maxlength {\n @include eui-font(xs, ui);\n background-color: v(eui-base-color-grey-10);\n border: 1px solid v(eui-base-color-grey-50);\n border-radius: v(eui-base-border-radius);\n color: v(eui-base-color-black);\n padding: 0 v(eui-base-spacing-2xs);\n position: absolute;\n right: calc(-1 * #{v(eui-base-spacing-xs)});\n top: calc(-1 * #{v(eui-base-spacing-xs)});\n z-index: v(eui-base-z-index-input-maxlength);\n\n &--invalid {\n background-color: v(eui-base-color-danger-100);\n border-color: v(eui-base-color-danger-100);\n color: v(eui-base-color-white);\n }\n }\n}\n","html {\n // Exposed CSS vars\n --eui-html-font-size: var(--eui-base-font-size);\n --eui-html-line-height: var(--eui-base-line-height);\n\n display: block;\n height: 100%;\n font-size: v(eui-html-font-size);\n line-height: v(eui-html-line-height);\n}\n","body {\n // Exposed CSS vars\n --eui-body-bg-color: var(--eui-app-body-bg-color);\n --eui-body-color: var(--eui-base-color);\n --eui-body-font-family: var(--eui-base-font-family);\n --eui-body-font-size: var(--eui-base-font-size);\n --eui-body-line-height: var(--eui-base-line-height);\n\n background-color: v(eui-body-bg-color);\n color: v(eui-body-color);\n font-family: v(eui-body-font-family);\n font-feature-settings: 'liga';\n font-size: v(eui-body-font-size);\n -moz-font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n font-style: normal;\n font-weight: normal;\n height: 100%;\n line-height: v(eui-body-line-height);\n margin: 0;\n text-align: left;\n text-rendering: optimizeLegibility;\n}\n","// Make viewport responsive\n//\n// @viewport is needed because IE 10+ doesn't honor <meta name=\"viewport\"> in\n// some cases. See https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/.\n// Eventually @viewport will replace <meta name=\"viewport\">.\n//\n// However, `device-width` is broken on IE 10 on Windows (Phone) 8,\n// (see https://timkadlec.com/2013/01/windows-phone-8-and-device-width/ and https://github.com/twbs/bootstrap/issues/10497)\n// and the fix for that involves a snippet of JavaScript to sniff the user agent\n// and apply some conditional CSS.\n//\n// See https://getbootstrap.com/getting-started/#support-ie10-width for the relevant hack.\n//\n// Wrap `@viewport` with `@at-root` for when folks do a nested import (e.g.,\n// `.class-name { @import \"bootstrap\"; }`).\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n/* ==========================================================================\n #BOX-SIZING\n ========================================================================== */\n\n/**\n * More sensible default box-sizing:\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n* {\n &,\n &::before,\n &::after {\n box-sizing: inherit;\n }\n}\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n// * http://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n[hidden] {\n display: none !important;\n}\n\np,\nlabel,\n.label,\nblockquote,\nabbr,\nmark,\ndel {\n font-size: v(eui-base-font-size);\n}\n\n.label,\nlabel {\n align-items: center;\n display: inline-flex; // Do NOT change!\n font-style: normal;\n font-weight: normal;\n padding-right: v(eui-base-spacing-m); // For inline display\n position: relative; // Mandatory! Do NOT change!\n}\n\nem {\n //font-family: v(eui-font-family-italic); // do NOT use mixin here!\n font-style: italic;\n}\n\noptgroup,\nstrong,\nb {\n font-weight: bold;\n\n & i,\n & em {\n font-style: italic;\n }\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-size: v(eui-base-font-size);\n @include eui-font-family-monospace;\n}\n\ncode {\n color: #cc367b; // WCAG2 AA contrast ratio compliant: 4.59\n font-size: 95%;\n word-wrap: break-word;\n}\n\nsmall {\n font-size: 80%;\n}\n\nkbd {\n background-color: v(eui-base-color-grey-75); // WCAG2 AA compliant\n border-radius: v(eui-base-border-radius);\n color: v(eui-base-color-white);\n font-size: v(eui-base-font-size-s);\n padding: 1px v(eui-base-spacing-2xs);\n}\n\npre {\n color: v(eui-base-color);\n display: block;\n font-size: 87.5%;\n margin-bottom: v(eui-base-spacing-m);\n margin-top: 0;\n overflow: auto;\n}\n\nblockquote {\n border-left: v(eui-base-spacing-xs) solid v(eui-base-color-grey-20);\n padding: v(eui-base-spacing-xs) v(eui-base-spacing-m);\n}\n\nmark,\n.mark {\n background-color: v(eui-base-color-accent-25);\n padding: v(eui-base-spacing-2xs);\n}\n","// stylelint-disable no-descending-specificity\ntable.eui-table-default {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n color: v(eui-base-color-font);\n max-width: 100%;\n overflow: auto;\n position: relative;\n\n // Overall settings (default)\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n vertical-align: top;\n }\n\n tr > th,\n tr > td {\n padding: v(eui-base-spacing-s);\n }\n\n thead {\n th {\n border-bottom: 1px solid v(eui-base-color-grey-10);\n color: v(eui-base-color-grey-75);\n font-size: v(eui-base-font-size);\n padding: v(eui-base-spacing-m) v(eui-base-spacing-s);\n vertical-align: middle;\n @include eui-font-family-bold;\n }\n\n tr {\n background: v(eui-base-color-grey-5);\n border-top: 0;\n }\n }\n\n // Striped & hovered tables by default (UX)\n tbody {\n -webkit-overflow-scrolling: touch; // optional - enable iOS momentum scrolling\n\n tr:nth-of-type(odd) {\n background-color: v(eui-base-color-white);\n\n &:hover {\n background-color: v(eui-base-color-grey-5);\n }\n }\n\n tr:nth-of-type(even) {\n background-color: v(eui-base-color-grey-5);\n\n &:hover {\n background-color: v(eui-base-color-white);\n }\n }\n }\n\n tr {\n border-bottom: 1px solid v(eui-base-color-grey-20);\n display: table-row;\n }\n\n // Compact table\n &--compact {\n thead {\n th {\n padding: v(eui-base-spacing-xs) v(eui-base-spacing-s);\n }\n }\n\n tr > td {\n padding: v(eui-base-spacing-2xs) v(eui-base-spacing-s);\n }\n }\n\n // Responsive table\n &--responsive {\n display: block;\n width: 100%;\n\n &--bordered {\n border: 0; // Prevent double border on horizontal scroll due to use of `display: block;`\n }\n }\n\n // Bordered table\n &--bordered {\n th,\n td {\n border: 1px solid v(eui-base-color-grey-20);\n }\n }\n\n // Shadowed table\n &--shadowed {\n box-shadow: v(eui-base-base-shadow-1);\n }\n\n // NoWrap table content (also disables ellipsis)\n &--nowrap {\n white-space: nowrap;\n\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n white-space: nowrap;\n }\n }\n\n // Centered table\n &--centered {\n display: table;\n margin: 0 auto;\n width: auto;\n }\n\n // Middle aligned cells content\n &--align-middle {\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n vertical-align: middle;\n }\n }\n}\n\n// // RESPONSIVE LAYOUT (PROTO)\n// @include media($eui-bkp-mobile) {\n// table.ux-table {\n// display: block;\n\n// &.ux-table--responsive {\n// display: contents;\n\n// &.ux-table--bordered {\n// tr {\n// border: 1px solid v(eui-base-color-grey-light);\n// }\n// }\n\n// &.ux-table--compact {\n// td {\n// padding-bottom: v(eui-base-spacing-3xs);\n// padding-top: v(eui-base-spacing-2xs);\n\n// &::before {\n// top: v(eui-base-spacing-2xs);\n// }\n// }\n// }\n\n// // Force table to be like cards\n// thead,\n// tbody,\n// th,\n// td,\n// tr {\n// display: block;\n// }\n\n// // Hide table headers but not display: none for accessibility\n// thead tr {\n// left: -9999px;\n// position: absolute;\n// top: -9999px;\n// }\n\n// tr {\n// height: auto;\n// }\n\n// th,\n// td {\n// // Behave like a \"row\"\n// border: none;\n// border-bottom: 1px solid v(eui-base-color-grey-lightest);\n// padding: v(eui-base-spacing-xs);\n// padding-left: 50%;\n// position: relative;\n// }\n\n// td::before {\n// color: v(eui-base-color-grey-dark);\n// content: attr(data-col); // Like a table header column\n// font-weight: bold;\n// left: v(eui-base-spacing-xs);\n// padding-right: v(eui-base-spacing-xs);\n// position: absolute;\n// // Mimic top & left paddings\n// top: v(eui-base-spacing-xs);\n// white-space: nowrap;\n// width: 45%;\n// }\n// }\n// }\n// }\n","// GLOBAL COMPACT THEME\n///////////////////////\nhtml.eui-t-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n}\n\n// FORM ELEMENTS\n/////////////////\nform.eui-t-form-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-input-group-spacing: var(--eui-base-spacing-xs); // Spacing between form groups elements\n // Internals\n // See: eui-styles-base\\src\\styles\\02-base\\mixins\\theming\\_compact-vars.scss\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n .eui-input-group {\n margin-bottom: var(--eui-input-group-spacing);\n\n label {\n margin-bottom: var(--eui-base-spacing-2xs);\n }\n }\n\n .eui-input-group-addon-item {\n min-height: calc(2.5 * #{v(eui-base-spacing)});\n min-width: calc(2.5 * #{v(eui-base-spacing)});\n padding: calc(#{v(eui-base-spacing-xs)} - 1px);\n }\n}\n\n// TABLE\n/////////////////\n.eui-table.eui-t-table-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-table-header-padding: var(--eui-base-spacing-s); // Table header spacer set to 0.75rem\n --eui-table-row-padding: var(--eui-base-spacing-2xs); // Table body row spacer set to 0.25rem\n --eui-table-footer-padding: var(--eui-base-spacing-s); // Table footer spacer set to 0.75rem\n // Internals\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n thead {\n tr {\n height: auto;\n\n th {\n padding: var(--eui-table-header-padding) var(--eui-base-spacing-s);\n }\n }\n }\n\n tbody {\n tr {\n height: auto;\n\n td {\n padding: var(--eui-table-row-padding) var(--eui-base-spacing-s);\n }\n }\n }\n\n tfoot {\n tr {\n height: auto;\n\n td {\n padding: var(--eui-table-footer-padding) var(--eui-base-spacing-s);\n }\n }\n }\n}\n\n// CARD\n/////////////////\n.eui-card.eui-t-card-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-card-title-size: var(--eui-base-font-size-m); // Card title font size\n --eui-card-subtitle-size: var(--eui-base-font-size-s); // Card subtitle font size\n // Internals\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n .eui-card {\n &-header {\n &__title-container {\n &-title,\n &-title .eui-label {\n font-size: var(--eui-card-title-size);\n }\n\n &-subtitle,\n &-subtitle .eui-label {\n font-size: var(--eui-card-subtitle-size);\n }\n }\n\n &__urgent-indicator {\n &::after {\n font-size: var(--eui-base-font-size-2xl);\n }\n }\n }\n }\n}\n","@mixin eui-compact-get-tokens($ratio: 0.875) {\n --eui-compact-ratio: #{$ratio};\n @each $spacing, $value in $eui-base-tokens-spacings {\n --eui-base-spacing-#{$spacing}: calc( #{var(--eui-compact-ratio)} * #{$value} );\n }\n}\n","// IE10+ SVG's aspect ratios and sizes fix\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n img[src$=\".svg\"] {\n width: 100%;\n }\n}\n@media screen {\n // IE Fix: Bicubic Scaling for Images & full width background (EC logo)\n img {\n background-repeat: no-repeat;\n background-size: 100%;\n -ms-interpolation-mode: bicubic;\n }\n}\n","// COOKIE CONSENT\n.cookie-consent-banner {\n display: block !important;\n min-width: 50% !important;\n position: absolute !important;\n right: 50% !important;\n top: v(eui-base-spacing-m) !important;\n transform: translateX(50%) !important;\n z-index: v(eui-base-z-index-max) !important;\n box-shadow: v(eui-base-shadow-24) !important;\n background: v(eui-base-color-primary) !important;\n color: var(eui-base-color-white) !important;\n}\n","#loader-wrapper {\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 1000;\n\n #loader {\n -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 5s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-warning-100);\n display: block;\n height: 200px;\n left: 50%;\n margin: -100px 0 0 -100px;\n position: relative;\n top: 50%;\n width: 200px;\n\n &::before {\n -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 4s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-danger-100);\n bottom: 5px;\n content: \"\";\n left: 5px;\n position: absolute;\n right: 5px;\n top: 5px;\n }\n\n &::after {\n -webkit-animation: spin 1s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 1s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 3s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-primary-100);\n bottom: 20px;\n content: \"\";\n left: 20px;\n position: absolute;\n right: 20px;\n top: 20px;\n }\n }\n}\n\n/* stylelint-enable */\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n@keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n",".eui-u-color-black {\n color: var(--eui-base-color-black) !important;\n}\n\n.eui-u-bg-color-black {\n background-color: var(--eui-base-color-black) !important;\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-color-white {\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-bg-color-white {\n background-color: var(--eui-base-color-white) !important;\n color: var(--eui-base-color-grey-100) !important;\n}\n@each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n .eui-u-color-#{$color + '-' + $shade} {\n color: var(--eui-base-color-#{$color + '-' + $shade}) !important;\n };\n\n .eui-u-bg-color-#{$color + '-' + $shade} {\n background-color: var(--eui-base-color-#{$color + '-' + $shade}) !important;\n color: var(--eui-base-color-#{$color + '-' + $shade}-contrast) !important;\n }\n }\n}\n@each $color, $value in $eui-base-tokens-colors-100s {\n .eui-u-color-#{'' + $color} {\n color: var(--eui-base-color-#{'' + $color}-100) !important;\n };\n\n .eui-u-bg-color-#{'' + $color} {\n background-color: var(--eui-base-color-#{'' + $color}-100) !important;\n color: var(--eui-base-color-#{'' + $color}-100-constrast) !important;\n }\n}\n","// FONT-SIZES\n@each $font-size, $value in $eui-base-tokens-font-sizes {\n .eui-u-font-size-#{$font-size} {\n font-size: #{$value} !important;\n }\n}\n\n// FONTS (typographic ingredients like line-height, weight, stretching etc)\n@each $family, $sizes in $eui-base-tokens-fonts {\n $family-type: $family + '-';\n @if($family == ui) {\n $family-type: '';\n }\n\n @each $size, $definition in $sizes {\n .eui-u-font-#{$family-type}#{$size} {\n font: #{$definition} !important;\n }\n }\n}\n\n.eui-u-font-regular {\n font-style: normal !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-bold {\n font-style: normal !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-bold-italic {\n font-style: italic !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-italic {\n font-style: italic !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-light {\n font-style: normal !important;\n font-weight: 300 !important;\n}\n\n\n// Alignment\n.eui-u-text-left { text-align: left !important; }\n.eui-u-text-right { text-align: right !important; }\n.eui-u-text-center { text-align: center !important; }\n.eui-u-text-justify { text-align: justify !important; }\n.eui-u-text-nowrap { white-space: nowrap !important; }\n.eui-u-text-truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }\n\n// Decorations\n.eui-u-text-overline { text-decoration: overline !important; }\n.eui-u-text-underline { text-decoration: underline !important; }\n.eui-u-text-line-through { text-decoration: line-through !important; }\n\n// Transformation\n.eui-u-text-lowercase { text-transform: lowercase !important; }\n.eui-u-text-uppercase { text-transform: uppercase !important; }\n.eui-u-text-capitalize { text-transform: capitalize !important; }\n\n// Extra\n.eui-u-text-small { font-size: 80%; }\n.eui-u-text-monospace { @include eui-font-family-monospace; }\n\n.eui-u-text-link {\n color: v(eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n\n &:focus,\n &:hover {\n text-decoration: underline !important;\n }\n\n &:focus {\n @include eui-accessible-focus-outline(2px);\n }\n}\n.eui-u-text-link-external {\n color: v(eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n\n &:focus,\n &:hover {\n text-decoration: underline !important;\n }\n\n &:focus {\n @include eui-accessible-focus-outline(2px);\n }\n\n // TODO v15 migration use plain svg instead of icon-font\n // &::after {\n // content: $eui-icon-ecl-external;\n // font-family: v(eui-base-font-family-icons) !important;\n // margin-left: v(eui-base-spacing-2xs) !important;\n // }\n}\n.eui-u-text-highlight {\n padding: v(eui-base-spacing-2xs) !important;\n background-color: v(eui-base-color-accent-10) !important;\n}\n","// Bordered focus accessibility visual (default: buttons, input fields, etc.)\n@mixin eui-accessible-focus() {\n border-color: v(eui-base-color-accessible-focus) !important; // Must\n box-shadow: inset 0 0 0 1px v(eui-base-color-accessible-focus), inset 0 0 0 2px v(eui-base-color-grey-5);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n// Outlined focus accessibility visual (checkboxes, radios)\n@mixin eui-accessible-focus-outline($offset: -2px, $outline-size: 2px) {\n outline: $outline-size solid v(eui-base-color-accessible-focus);\n outline-offset: $offset;\n -moz-outline-radius: v(eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n@mixin eui-accessible-focus-border-inline($display: '', $zIndex: auto) {\n @if $display != '' {\n display: $display;\n }\n z-index: $zIndex;\n @include eui-accessible-focus();\n}\n// This is the main mixin to call/include\n@mixin eui-accessible-focus-border($display: '', $zIndex: auto, $inline: false) {\n @if $inline {\n @include eui-accessible-focus-border-inline($display, $zIndex);\n }\n @else {\n &:active:not([readonly]),\n &:focus:not([readonly]) {\n @include eui-accessible-focus-border-inline($display, $zIndex);\n }\n }\n}\n@mixin eui-accessible-focus-border-rounded() {\n border: 2px solid v(eui-base-color-accessible-focus);\n outline: none;\n transition: border 0.15s ease-in-out;\n}\n","@each $spacing, $value in $eui-base-tokens-spacings {\n .eui-u-pt-#{$spacing} {\n padding-top: #{$value} !important;\n }\n .eui-u-pb-#{$spacing} {\n padding-bottom: #{$value} !important;\n }\n .eui-u-pl-#{$spacing} {\n padding-left: #{$value} !important;\n }\n .eui-u-pr-#{$spacing} {\n padding-right: #{$value} !important;\n }\n\n .eui-u-p-#{$spacing} {\n padding: #{$value} !important;\n }\n .eui-u-pv-#{$spacing} {\n padding-top: #{$value} !important;\n padding-bottom: #{$value} !important;\n }\n .eui-u-ph-#{$spacing} {\n padding-left: #{$value} !important;\n padding-right: #{$value} !important;\n } \n \n .eui-u-spacing-#{$spacing} {\n min-width: #{$value} !important;\n width: #{$value} !important;\n }\n}\n ","@each $spacing, $value in $eui-base-tokens-spacings {\n .eui-u-mt-#{$spacing} {\n margin-top: #{$value} !important;\n }\n .eui-u-mb-#{$spacing} {\n margin-bottom: #{$value} !important;\n }\n .eui-u-ml-#{$spacing} {\n margin-left: #{$value} !important;\n }\n .eui-u-mr-#{$spacing} {\n margin-right: #{$value} !important;\n }\n .eui-u-m-#{$spacing} {\n margin: #{$value} !important;\n }\n .eui-u-mv-#{$spacing} {\n margin-top: #{$value} !important;\n margin-bottom: #{$value} !important;\n }\n .eui-u-mh-#{$spacing} {\n margin-left: #{$value} !important;\n margin-right: #{$value} !important;\n }\n }\n \n.eui-u-ml-auto {\n margin-left: auto !important;\n}\n.eui-u-mr-auto {\n margin-right: auto !important;\n}\n.eui-u-mt-auto {\n margin-top: auto !important;\n}\n.eui-u-mb-auto {\n margin-bottom: auto !important;\n}","// DEPRECATIONS WILL OCCUR IN NEXT eUI 15 RELEASE\n// CONTAINERS\n.eui-u-flex {\n align-items: center !important;\n display: flex !important;\n width: 100% !important;\n}\n\n// Replacement of d-flex\n.eui-u-display-flex {\n display: flex !important;\n}\n\n.eui-u-display-inline-flex {\n display: inline-flex !important;\n}\n\n// JUSTIFY content\n.eui-u-flex-start, // DEPRECATED\n.eui-u-flex-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.eui-u-flex-end, // DEPRECATED\n.eui-u-flex-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.eui-u-flex-justify-content-center {\n justify-content: center !important;\n}\n\n.eui-u-flex-justify-content-around {\n justify-content: space-around !important;\n}\n\n.eui-u-flex-between, // DEPRECATED\n.eui-u-flex-justify-content-between {\n justify-content: space-between !important;\n}\n\n.eui-u-flex-evenly, // DEPRECATED\n.eui-u-flex-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n// ITEMS alignements\n.eui-u-flex-align-left, // DEPRECATED\n.eui-u-flex-align-items-start {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-align-center, // DEPRECATED\n.eui-u-flex-align-items-center {\n align-items: center !important;\n}\n.eui-u-flex-align-right, // DEPRECATED\n.eui-u-flex-align-items-end {\n align-items: flex-end !important;\n}\n\n// DIRECTION layout\n.eui-u-flex-row {\n flex-direction: row !important;\n}\n\n.eui-u-flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.eui-u-flex-column {\n flex-direction: column !important;\n\n .eui-u-flex-align-center, // DEPRECATED\n .eui-u-flex-align-items-center {\n align-items: flex-start !important;\n }\n}\n\n.eui-u-flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n// VARIOUS\n.eui-u-flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.eui-u-flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.eui-u-flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.eui-u-flex-col {\n flex: 1 0 0% !important;\n}\n",".eui-u-display-hidden {\n display: none !important;\n}\n\n.eui-u-display-visible {\n visibility: visible !important;\n}\n\n.eui-u-display-block {\n display: block !important;\n}\n\n.eui-u-display-inline {\n display: inline !important;\n}\n\n.eui-u-display-inline-block {\n display: inline-block !important;\n}\n\n.eui-u-display-print-only {\n display: none !important;\n}\n\n.eui-u-display-hidden-desktop-down {\n display: initial;\n}\n\n@include media($eui-bkp-desktop-down) {\n .eui-u-display-hidden-desktop-down {\n display: none !important;\n }\n}\n",".eui-u-width-auto {\n width: auto !important;\n}\n\n.eui-u-width-100 {\n width: 100% !important;\n}\n\n.eui-u-width-1 {\n max-width: v(eui-base-spacing-m);\n min-width: v(eui-base-spacing-m);\n width: v(eui-base-spacing-m) !important;\n}\n\n.eui-u-width-2 {\n max-width: calc(2 * #{v(eui-base-spacing-m)});\n min-width: calc(2 * #{v(eui-base-spacing-m)});\n width: calc(2 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-3 {\n max-width: calc(3 * #{v(eui-base-spacing-m)});\n min-width: calc(3 * #{v(eui-base-spacing-m)});\n width: calc(3 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-4 {\n max-width: calc(4 * #{v(eui-base-spacing-m)});\n min-width: calc(4 * #{v(eui-base-spacing-m)});\n width: calc(4 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-5 {\n max-width: calc(5 * #{v(eui-base-spacing-m)});\n min-width: calc(5 * #{v(eui-base-spacing-m)});\n width: calc(5 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-6 {\n max-width: calc(6 * #{v(eui-base-spacing-m)});\n min-width: calc(6 * #{v(eui-base-spacing-m)});\n width: calc(6 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-7 {\n max-width: calc(7 * #{v(eui-base-spacing-m)});\n min-width: calc(7 * #{v(eui-base-spacing-m)});\n width: calc(7 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-8 {\n max-width: calc(8 * #{v(eui-base-spacing-m)});\n min-width: calc(8 * #{v(eui-base-spacing-m)});\n width: calc(8 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-9 {\n max-width: calc(9 * #{v(eui-base-spacing-m)});\n min-width: calc(9 * #{v(eui-base-spacing-m)});\n width: calc(9 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-10 {\n max-width: calc(10 * #{v(eui-base-spacing-m)});\n min-width: calc(10 * #{v(eui-base-spacing-m)});\n width: calc(10 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-11 {\n max-width: calc(11 * #{v(eui-base-spacing-m)});\n min-width: calc(11 * #{v(eui-base-spacing-m)});\n width: calc(11 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-12 {\n max-width: calc(12 * #{v(eui-base-spacing-m)});\n min-width: calc(12 * #{v(eui-base-spacing-m)});\n width: calc(12 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-13 {\n max-width: calc(13 * #{v(eui-base-spacing-m)});\n min-width: calc(13 * #{v(eui-base-spacing-m)});\n width: calc(13 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-14 {\n max-width: calc(14 * #{v(eui-base-spacing-m)});\n min-width: calc(14 * #{v(eui-base-spacing-m)});\n width: calc(14 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-15 {\n max-width: calc(15 * #{v(eui-base-spacing-m)});\n min-width: calc(15 * #{v(eui-base-spacing-m)});\n width: calc(15 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-16 {\n max-width: calc(16 * #{v(eui-base-spacing-m)});\n min-width: calc(16 * #{v(eui-base-spacing-m)});\n width: calc(16 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-17 {\n max-width: calc(17 * #{v(eui-base-spacing-m)});\n min-width: calc(17 * #{v(eui-base-spacing-m)});\n width: calc(17 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-18 {\n max-width: calc(18 * #{v(eui-base-spacing-m)});\n min-width: calc(18 * #{v(eui-base-spacing-m)});\n width: calc(18 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-19 {\n max-width: calc(19 * #{v(eui-base-spacing-m)});\n min-width: calc(19 * #{v(eui-base-spacing-m)});\n width: calc(19 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-20 {\n max-width: calc(20 * #{v(eui-base-spacing-m)});\n min-width: calc(20 * #{v(eui-base-spacing-m)});\n width: calc(20 * #{v(eui-base-spacing-m)}) !important;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../node_modules/@eui/styles-base/src/styles/01-ecl/all/full-css/ecl-reset.scss","eui.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/03-vars/_tokens.vars-base.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/03-vars/_other.vars.scss","02b-base-vars/_layout.vars.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/05-assets/icons-svg/_icons-generics.scss","05-material/compiled/_full.scss","05-material/overrides/_calendar.scss","05-material/overrides/_cdk-drag.scss","05-material/overrides/_cdk-global-scrollblock.scss","02-base/mixins/_eui-scrollbars.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/utils/_media.scss","05-material/overrides/_cdk-overlay-container.scss","05-material/overrides/_cdk-overlay-pane.scss","06-shared/_default.scss","06-shared/_flex.scss","06-shared/_typography.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-font-family.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-font.scss","06-shared/_eui-input-maxlength.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_html.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_body.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/04-elements/_shared.scss","07-elements/eui-table-default/_eui-table-default.scss","08-themes/_module-compact.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/theming/_compact-vars.scss","10-media/_ieimgfix.scss","11-extras/_cookie-consent.scss","11-extras/_preloader.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_colors.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_typography.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-accessibility.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/02-base/mixins/_eui-svg-icons-content.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_paddings.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/tokens/_margins.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-flex.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-display.scss","../../../../../../../node_modules/@eui/styles-base/src/styles/99-utilities/others/_eui-u-width.scss"],"names":[],"mappings":"AAAA,iEAAA;AACA,2EAAA,CAA4E,KAAK,6BAAA,CAA8B,gBCsC/G,CDtCgI,KAAK,aC0CrI,CD1CmJ,GAAG,aAAA,CAAc,cC+CpK,CD/CmL,GAAG,kBAAA,CAAuB,QAAA,CAAS,gBCqDtN,CDrDuO,IAAI,+BAAA,CAAgC,aC0D3Q,CD1DwT,YAAY,kBAAA,CAAmB,yBAAA,CAA0B,wCAAA,CAAyC,gCCqE1Z,CDrE2b,SAAS,kBCyEpc,CDzEud,cAAc,+BAAA,CAAgC,aC8ErgB,CD9EuiB,QAAQ,aAAA,CAAc,aAAA,CAAc,iBAAA,CAAkB,sBCyF7lB,CDzFqnB,IAAI,aC6FznB,CD7FuoB,IAAI,SCiG3oB,CDjGqpB,IAAI,iBCqGzpB,CDrG2qB,sCAAsC,mBAAA,CAAoB,cAAA,CAAe,gBAAA,CAAiB,QC4GrwB,CD5G8wB,aAAa,gBCgH3xB,CDhH4yB,cAAc,mBCoH1zB,CDpH80B,gDAAgD,yBCwH93B,CDxHw5B,wHAAwH,iBAAA,CAAkB,SC6HliC,CD7H4iC,4GAA4G,6BCiIxpC,CDjIsrC,SAAS,0BCqI/rC,CDrI0tC,OAAO,qBAAA,CAAsB,aAAA,CAAc,aAAA,CAAc,cAAA,CAAe,SAAA,CAAU,kBC8I5yC,CD9I+zC,SAAS,sBCkJx0C,CDlJg2C,SAAS,aCsJz2C,CDtJu3C,6BAA6B,qBAAA,CAAsB,SC2J16C,CD3Jo7C,kFAAkF,WC+JtgD,CD/JkhD,cAAc,4BAAA,CAA6B,mBCoK7jD,CDpKilD,yCAAyC,uBCwK1nD,CDxKkpD,6BAA6B,yBAAA,CAA0B,YC6KzsD,CD7KstD,QAAQ,aCiL9tD,CDjL4uD,QAAQ,iBCqLpvD,CDrL4xD,kBAAS,YC6LryD,CD7LkzD,KAAc,iBCkMh0D,CCnMA,MAIY,iCAAA,CAAA,gCAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,iCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,mCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,kCAAA,CAAA,iCAAA,CAUJ,6BAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,gCAAA,CAAA,+BAAA,CAIJ,oDAAA,CACA,uDAAA,CACA,2BAAA,CACA,2BAAA,CACA,+CAAA,CAGA,yBAAA,CAEI,iCAAA,CAAA,gCAAA,CAAA,6BAAA,CAAA,gCAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,2BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,iCAAA,CAIJ,gEAAA,CACA,iDAAA,CACA,+EAAA,CAGA,2BAAA,CAEI,gCAAA,CAAA,4BAAA,CAAA,8BAAA,CAAA,6BAAA,CAAA,2BAAA,CAAA,8BAAA,CAAA,6BAAA,CAAA,+BAAA,CAAA,6BAAA,CAUI,uEAAA,CAAA,sEAAA,CAAA,kEAAA,CAAA,mEAAA,CAAA,qEAAA,CAAA,oEAAA,CAAA,oEAAA,CAAA,iEAAA,CAAA,kEAAA,CAAA,kEAAA,CAAA,oEAAA,CAAA,+EAAA,CAAA,+EAAA,CAAA,0EAAA,CAAA,+EAAA,CAAA,+EAAA,CAMJ,yBAAA,CAAA,8BAAA,CAAA,4BAAA,CAAA,4BAAA,CAAA,yBAAA,CAAA,2BAAA,CAAA,0BAAA,CAAA,6BAAA,CAAA,2BAAA,CAAA,2BAAA,CAKA,4GAAA,CAAA,4GAAA,CAAA,4GAAA,CAAA,6GAAA,CAAA,wHAAA,CAAA,wHAAA,CAAA,wHAAA,CAAA,0HAAA,CAAA,2HAAA,CAAA,4HAAA,CAAA,+EAAA,CAAA,iFAAA,CAAA,iFAAA,CAAA,mFAAA,CAAA,qFAAA,CAAA,oFAAA,CAKA,4BAAA,CAAA,yBAAA,CAAA,yBAAA,CAAA,oCAAA,CAAA,2BAAA,CAAA,gCAAA,CAAA,yBAAA,CAAA,oCAAA,CAAA,uCAAA,CAAA,uCAAA,CAAA,4BAAA,CAAA,8BAAA,CAAA,+BAAA,CAAA,+BAAA,CAAA,oCAAA,CAAA,mCAAA,CAAA,yCAAA,CAAA,sCAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,+BAAA,CAAA,2BAAA,CAAA,8CAAA,CAAA,uCAAA,CAAA,sCAAA,CC/DJ,2BAAA,CACA,yBAAA,CACA,gCAAA,CAEA,4BAAA,CAEA,yDAAA,CACA,6DAAA,CACA,iEAAA,CACA,mEAAA,CAGA,+EAAA,CACA,+EAAA,CACA,+EAAA,CACA,uEAAA,CACA,4DAAA,CAEA,wCAAA,CACA,yCAAA,CACA,qCAAA,CACA,wCAAA,CACA,qEAAA,CAEA,0GAAA,CACA,4FAAA,CACA,0GAAA,CACA,2GAAA,CAEA,6BAAA,CACA,qCAAA,CACA,uCAAA,CACA,sEAAA,CAGA,kEAAA,CClCA,mCAAA,CACA,2BAAA,CACA,mCAAA,CACA,kCAAA,CAEA,uCAAA,CACA,+BAAA,CACA,uCAAA,CAEA,wCAAA,CACA,gCAAA,CACA,wCAAA,CAEA,oCAAA,CACA,4BAAA,CACA,oCAAA,CAEA,mCAAA,CACA,2BAAA,CACA,oCAAA,CACA,yCAAA,CACA,iCAAA,CACA,yCAAA,CACA,mCAAA,CACA,2CAAA,CACA,2CAAA,CACA,mCAAA,CACA,2CAAA,CACA,2CAAA,CAGA,2CAAA,CACA,8CAAA,CAEA,8BAAA,CACA,+BAAA,CACA,+BAAA,CACA,gCAAA,CACA,iCAAA,CACA,kCAAA,CACA,sCAAA,CAGA,4BAAA,CAIA,qDAAA,CACA,2DAAA,CACA,6DAAA,CAEA,mDAAA,CACA,4DAAA,CACA,sEAAA,CAEA,uDAAA,CACA,4CAAA,CAEA,oDAAA,CACA,oDAAA,CAEA,iDAAA,CACA,sDAAA,CACA,yCHqTJ,CGlTA,QACI,2BHsYJ,CI3cA,cACI,iBAAA,CACA,QAAA,CACA,0CAAA,CACA,oCAAA,CACA,mBAAA,CACA,kBJ8cJ,CI3cI,wBACI,aAAA,CACA,YJ8cR,CIhdI,uBACI,WAAA,CACA,UJmdR,CIrdI,sBACI,cAAA,CACA,aJwdR,CI1dI,sBACI,aAAA,CACA,YJ6dR,CI/dI,sBACI,WAAA,CACA,UJkeR,CIpeI,uBACI,aAAA,CACA,YJueR,CIzeI,wBACI,WAAA,CACA,UJ4eR,CI9eI,wBACI,aAAA,CACA,YJifR,CInfI,wBACI,WAAA,CACA,UJsfR,CIjfQ,8BACI,aAAA,CACA,YJofZ,CItfQ,6BACI,aAAA,CACA,YJyfZ,CI3fQ,6BACI,UAAA,CACA,SJ8fZ,CIhgBQ,6BACI,aAAA,CACA,YJmgBZ,CIrgBQ,6BACI,aAAA,CACA,YJwgBZ,CI1gBQ,6BACI,aAAA,CACA,YJ6gBZ,CI/gBQ,6BACI,aAAA,CACA,YJkhBZ,CIphBQ,6BACI,aAAA,CACA,YJuhBZ,CIzhBQ,6BACI,aAAA,CACA,YJ4hBZ,CI9hBQ,6BACI,aAAA,CACA,YJiiBZ,CIniBQ,4BACI,aAAA,CACA,YJsiBZ,CIxiBQ,4BACI,aAAA,CACA,YJ2iBZ,CI7iBQ,iCACI,aAAA,CACA,YJgjBZ,CIljBQ,iCACI,aAAA,CACA,YJqjBZ,CIvjBQ,iCACI,aAAA,CACA,YJ0jBZ,CI5jBQ,iCACI,aAAA,CACA,YJ+jBZ,CIjkBQ,iCACI,aAAA,CACA,YJokBZ,CItkBQ,gCACI,aAAA,CACA,YJykBZ,CI3kBQ,gCACI,aAAA,CACA,YJ8kBZ,CIhlBQ,gCACI,aAAA,CACA,YJmlBZ,CIrlBQ,gCACI,aAAA,CACA,YJwlBZ,CI1lBQ,+BACI,aAAA,CACA,YJ6lBZ,CI/lBQ,gCACI,aAAA,CACA,YJkmBZ,CIpmBQ,gCACI,aAAA,CACA,YJumBZ,CIzmBQ,gCACI,aAAA,CACA,YJ4mBZ,CI9mBQ,gCACI,aAAA,CACA,YJinBZ,CInnBQ,gCACI,aAAA,CACA,YJsnBZ,CIxnBQ,+BACI,aAAA,CACA,YJ2nBZ,CI7nBQ,+BACI,aAAA,CACA,YJgoBZ,CIloBQ,+BACI,aAAA,CACA,YJqoBZ,CIvoBQ,+BACI,aAAA,CACA,YJ0oBZ,CI5oBQ,8BACI,aAAA,CACA,YJ+oBZ,CIjpBQ,8BACI,aAAA,CACA,YJopBZ,CItpBQ,8BACI,aAAA,CACA,YJypBZ,CI3pBQ,8BACI,aAAA,CACA,YJ8pBZ,CIhqBQ,8BACI,aAAA,CACA,YJmqBZ,CIrqBQ,8BACI,aAAA,CACA,YJwqBZ,CI1qBQ,6BACI,aAAA,CACA,YJ6qBZ,CI/qBQ,6BACI,aAAA,CACA,YJkrBZ,CIprBQ,6BACI,aAAA,CACA,YJurBZ,CIzrBQ,6BACI,aAAA,CACA,YJ4rBZ,CI9rBQ,4BACI,aAAA,CACA,YJisBZ,CInsBQ,iCACI,aAAA,CACA,YJssBZ,CIxsBQ,iCACI,aAAA,CACA,YJ2sBZ,CI7sBQ,iCACI,aAAA,CACA,YJgtBZ,CIltBQ,iCACI,aAAA,CACA,YJqtBZ,CIvtBQ,iCACI,aAAA,CACA,YJ0tBZ,CI5tBQ,gCACI,aAAA,CACA,YJ+tBZ,CIjuBQ,gCACI,aAAA,CACA,YJouBZ,CItuBQ,gCACI,aAAA,CACA,YJyuBZ,CI3uBQ,gCACI,aAAA,CACA,YJ8uBZ,CIhvBQ,+BACI,aAAA,CACA,YJmvBZ,CIrvBQ,iCACI,aAAA,CACA,YJwvBZ,CI1vBQ,iCACI,aAAA,CACA,YJ6vBZ,CI/vBQ,iCACI,aAAA,CACA,YJkwBZ,CIpwBQ,iCACI,aAAA,CACA,YJuwBZ,CIzwBQ,iCACI,aAAA,CACA,YJ4wBZ,CI9wBQ,gCACI,aAAA,CACA,YJixBZ,CInxBQ,gCACI,aAAA,CACA,YJsxBZ,CIxxBQ,gCACI,aAAA,CACA,YJ2xBZ,CI7xBQ,gCACI,aAAA,CACA,YJgyBZ,CIlyBQ,+BACI,aAAA,CACA,YJqyBZ,CIvyBQ,gCACI,aAAA,CACA,YJ0yBZ,CI5yBQ,gCACI,aAAA,CACA,YJ+yBZ,CIjzBQ,gCACI,aAAA,CACA,YJozBZ,CItzBQ,gCACI,aAAA,CACA,YJyzBZ,CI3zBQ,gCACI,aAAA,CACA,YJ8zBZ,CIh0BQ,+BACI,aAAA,CACA,YJm0BZ,CIr0BQ,+BACI,aAAA,CACA,YJw0BZ,CI10BQ,+BACI,aAAA,CACA,YJ60BZ,CI/0BQ,+BACI,aAAA,CACA,YJk1BZ,CIp1BQ,8BACI,aAAA,CACA,YJu1BZ,CIl1BI,0BACI,aAAA,CACA,YJq1BR,CIv1BI,6BACI,aAAA,CACA,YJ01BR,CI51BI,4BACI,aAAA,CACA,YJ+1BR,CIj2BI,0BACI,aAAA,CACA,YJo2BR,CIt2BI,6BACI,aAAA,CACA,YJy2BR,CI32BI,6BACI,aAAA,CACA,YJ82BR,CIh3BI,4BACI,aAAA,CACA,YJm3BR,CI/2BA,2BACI,UAAA,CACA,SJk3BJ,CI/2BA,2BACI,UAAA,CACA,SJk3BJ,CKt5BA,YACI,eAAA,CACA,iBLy5BJ,CKv5BE,wBACE,uBL05BJ,CKv5BE,iCACE,gBL05BJ,CKv5BE,oBACE,iBAAA,CACA,iBAAA,CACA,mBAAA,CACA,uDAAA,CACA,wBL05BJ,CKx5BE,8CACE,YL25BJ,CKx5BE,qBACE,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CACA,kBAAA,CACA,SAAA,CACA,uBAAA,CACA,oBAAA,CACA,ML25BJ,CKz5BE,+BACE,SAAA,CACA,OL45BJ,CKz5BE,mDACE,mBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UL45BJ,CKz5BE,uBACE,cAAA,CACA,YL45BJ,CK15BE,6BACE,YL65BJ,CKp5BE,8CALE,YAAA,CACA,iBAAA,CACA,YLu6BJ,CKp6BE,kBAEE,mBAAA,CACA,qBAAA,CAGA,cAAA,CACA,eL65BJ,CK15BE,sBACE,iBAAA,CACA,KAAA,CACA,QAAA,CACA,MAAA,CACA,OAAA,CACA,YAAA,CACA,mBAAA,CACA,uCAAA,CACA,iDAAA,CACA,SL65BJ,CK35BE,mDACE,SL85BJ,CK55BE,6EACE,UL+5BJ,CK55BE,2BACE,0BL+5BJ,CK55BE,kCACE,mDAAA,CACA,iBAAA,CACA,SL+5BJ,CK75BE,+DACE,SAAA,CACA,kBLg6BJ,CK75BE,qCACE,eLg6BJ,CK75BE,6CACE,iBAAA,CACA,YAAA,CACA,YAAA,CACA,qBAAA,CACA,aAAA,CACA,cLg6BJ,CK75BE,wBAGE,iBLg6BJ,CK75BE,+BACE,WLg6BJ,CK75BE,yCACE,uBAAA,CACA,4BAAA,CACA,qBAAA,CACA,yBLg6BJ,CK75BE,iDACE,uBAAA,CACA,4BAAA,CACA,kBLg6BJ,CK75BE;EAA2C,IAAA,CLi6B7C,CKh6BE;EAAyC,IAAA,CLm6B3C,CKl6BE,oDACE,8CLo6BJ,CKj6BE,0DACE,4CLo6BJ,CKj6BE,qBACE,iBLo6BJ,CKl6BE,4BACE,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,qBAAA,CACA,mBAAA,CACA,+CAAA,CACA,oJAAA,CACA,0DLq6BJ,CKn6BE,kCACE,ULs6BJ,CKn6BE,0BACE,mCLs6BJ,CKn6BE,yBACE,iBLs6BJ,CKp6BE,gCACE,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,qBAAA,CACA,mBAAA,CACA,mDAAA,CACA,gKAAA,CACA,8DLu6BJ,CKr6BE,sCACE,ULw6BJ,CKr6BE,0BACE,uCLw6BJ,CKr6BE,oBACE,+BLw6BJ,CKr6BE,gBACE,iELw6BJ,CKt6BE,kPACE,0BLy6BJ,CKt6BE,gHACE,sCLy6BJ,CKt6BE,+GACE,wCLy6BJ,CKt6BE,6GACE,oCLy6BJ,CKt6BE,wBACE,iELy6BJ,CKt6BE,qBACE,qBLy6BJ,CKv6BE,2BACE,aL06BJ,CKv6BE,8BACE,aL06BJ,CKv6BE,0FAEE,kBL06BJ,CKv6BE,wJAIE,kBL06BJ,CKv6BE,oFAEE,kBL06BJ,CKv6BE,0HAEE,kBL06BJ,CKv6BE,oBACE,wBAAA,CACA,qBL06BJ,CKv6BE,+DACE,iFL06BJ,CKv6BE,+DACE,gGL06BJ,CKv6BE,+DACE,gGL06BJ,CKv6BE,+DACE,gGL06BJ,CKv6BE,+DACE,iGL06BJ,CKv6BE,+DACE,iGL06BJ,CKv6BE,+DACE,kGL06BJ,CKv6BE,+DACE,sGL06BJ,CKv6BE,+DACE,sGL06BJ,CKv6BE,+DACE,sGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,uGL06BJ,CKv6BE,iEACE,wGL06BJ,CKv6BE,iEACE,wGL06BJ,CKv6BE,iEACE,wGL06BJ,CKv6BE,iEACE,wGL06BJ,CKv6BE,iEACE,yGL06BJ,CKv6BE,iEACE,yGL06BJ,CKv6BE,iEACE,yGL06BJ,CKv6BE,iEACE,yGL06BJ,CKv6BE,iEACE,yGL06BJ,CKv6BE,yBACE,YL06BJ,CKv6BE,oBACE,oBL06BJ,CKv6BE,+HAGE,qBL06BJ,CKv6BE,yCACE,0BL06BJ,CKv6BE,oDAEE,qBL06BJ,CKv6BE,gEAEE,qBAAA,CACA,wBL06BJ,CKn6BE,mMACE,qBL06BJ,CKv6BE,8BACE,qBL06BJ,CKv6BE,uGACE,4BL06BJ,CKv6BE,mIACE,4BL06BJ,CKv6BE,mCACE,4BL06BJ,CKv6BE,sFAEE,6BL06BJ,CKv6BE,4GAEE,4EL06BJ,CKv6BE,4GAEE,6EL06BJ,CKv6BE,4IAEE,kBL06BJ,CKv6BE,sIAEE,kBL06BJ,CKv6BE,4BACE,wBAAA,CACA,UL06BJ,CKv6BE,wDACE,kCL06BJ,CKv6BE,oDACE,+BL06BJ,CKv6BE,2TAEE,kCL06BJ,CKv6BE,qBACE,6KACE,kCL06BJ,CACF,CKx6BE,wBACE,iGAAA,CACA,qBAAA,CACA,qBL06BJ,CKx6BE,sEACE,+BL26BJ,CKz6BE,4JAEE,6BL46BJ,CK16BE,kLAEE,+EL66BJ,CK36BE,kLAEE,gFL86BJ,CK56BE,kNAEE,kBL+6BJ,CK76BE,4MAEE,kBLg7BJ,CK96BE,+DACE,wBAAA,CACA,ULi7BJ,CK/6BE,2FACE,qCLk7BJ,CKh7BE,uFACE,+BLm7BJ,CKj7BE,iYAEE,qCLo7BJ,CKl7BE,qBACE,gNACE,qCLq7BJ,CACF,CKn7BE,oEACE,6BLq7BJ,CKn7BE,wJAEE,6BLs7BJ,CKp7BE,8KAEE,6ELu7BJ,CKr7BE,8KAEE,8ELw7BJ,CKt7BE,8MAEE,kBLy7BJ,CKv7BE,wMAEE,kBL07BJ,CKx7BE,6DACE,wBAAA,CACA,UL27BJ,CKz7BE,yFACE,mCL47BJ,CK17BE,qFACE,+BL67BJ,CK37BE,6XAEE,mCL87BJ,CK57BE,qBACE,8MACE,mCL+7BJ,CACF,CK57BE,8BACE,yGL87BJ,CK37BE,8BACE,aL87BJ,CK57BE,yCACE,aL+7BJ,CK77BE,uCACE,aLg8BJ,CK77BE,sCACE,qBLg8BJ,CK77BE,gEACE,UAAA,CACA,WAAA,CACA,WLg8BJ,CK97BE,6FACE,eAAA,CACA,cLi8BJ,CK/7BE,uHACE,UAAA,CACA,WAAA,CAIA,QLk8BJ,CKh8BE,2HACE,eAAA,CACA,cLm8BJ,CKj8BE,wFACE,iBAAA,CACA,OAAA,CACA,WAAA,CAEA,QAAA,CACA,UAAA,CACA,8BLq8BJ,CKn8BE,6FACE,YLs8BJ,CKn8BE,kBACE,sGAAA,CACA,8CAAA,CACA,sCLs8BJ,CKp8BE,6BACE,iELu8BJ,CKp8BE,+BACE,mELu8BJ,CKp8BE,8BACE,8DLu8BJ,CKp8BE,+GAEE,wBAAA,CAKA,8DLk8BJ,CK/7BE,oBACE,8DLu8BJ,CKp8BE,6IAGE,WLu8BJ,CKr7BE,mZACE,sCL48BJ,CKr8BE,8QAEE,sCL68BJ,CK18BE,sCACE,iEL68BJ,CK18BE,oEACE,wBACE,wBL68BJ,CACF,CK38BE,kBACE,gCL68BJ,CMxnDA,cACI,eN2nDJ,CMxnDQ,4DACI,YN0nDZ,CO9nDA,iBACI,qBPioDJ,CO9nDA,eACI,YAAA,CACA,cPioDJ,CO/nDI,4CACI,qCPioDR,CO5nDA,kCACI,gDP+nDJ,CO3nDA,oBACI,+CP8nDJ,CO1nDA,kBACI,wBAAA,CACA,eAAA,CACA,qBAAA,CACA,aAAA,CACA,kBAAA,CACA,SAAA,CACA,iBP6nDJ,CO1nDA,mBACI,SP6nDJ,CO1nDA,sBACI,wBAAA,CACA,WP6nDJ,CO3nDI,4BACI,gDAAA,CACA,kBP6nDR,CQzqDA,wBACI,cAAA,CACA,kBAAA,CACA,UAAA,CAEA,eAAA,CACA,gBR2qDJ,CSjrDI,2CACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CTirDZ,CSzqDI,iDAEQ,8CAjB0C,CAkB1C,kBT0qDZ,CSxqDY,uDACI,8CT0qDhB,CSjqDI,iDAEQ,8CAhCwF,CAiCxF,eTkqDZ,CU9qDQ,oCFXJ,wBACI,WAAA,CACA,aAAA,CACA,cAAA,CACA,UR6rDN,CS1sDE,2CACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CT0sDV,CSlsDE,iDAEQ,8CAjB0C,CAkB1C,kBTmsDV,CSjsDU,uDACI,8CTmsDd,CS1rDE,iDAEQ,8CAhCwF,CAiCxF,eT2rDV,CACF,CW7tDA,uBACI,qDX+tDJ,CW7tDI,uCACI,iBAAA,CACA,oCX+tDR,CSnuDI,0DACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CTmuDZ,CS3tDI,gEAEQ,8CAjB0C,CAkB1C,kBT4tDZ,CS1tDY,sEACI,8CT4tDhB,CSntDI,gEAEQ,8CAhCwF,CAiCxF,eTotDZ,CSpvDI,kEACI,eAAA,CACA,UAHsB,CAItB,SAJsB,CAOlB,8CTovDZ,CS5uDI,wEAEQ,8CAjB0C,CAkB1C,kBT6uDZ,CS3uDY,8EACI,8CT6uDhB,CSpuDI,wEAEQ,8CAhCwF,CAiCxF,eTquDZ,CYtwDA,kBACI,4CAAA,CACA,gDZywDJ,Ca3wDA,MACI,oBb8wDJ,CavwDA,sBACI,Sb8wDJ,CcrxDA,gBACI,kBAAA,CACA,YAAA,CACA,UdwxDJ,CcnxDA,QAII,sBdsxDJ,CclxDA,QAII,adkxDJ,CeryDA,sDCYI,uCAAA,CACA,mCAAA,CACA,iBAAA,CACA,eAAA,CDCA,af2yDJ,CexyDA,OElBI,mDjBg0DJ,CexyDA,cAHI,uCfizDJ,Ce9yDA,OExBI,oDjBs0DJ,CexyDA,OE9BI,sDjB40DJ,CexyDA,cAHI,uCfizDJ,Ce9yDA,OEpCI,sDjBk1DJ,CexyDA,OE1CI,uDjBw1DJ,CexyDA,cAHI,uCfizDJ,Ce9yDA,OEhDI,oDjB81DJ,CexyDA,WEtDI,oDjBo2DJ,CexyDA,wBAHI,uCfizDJ,Ce9yDA,aE5DI,mDjB02DJ,CexyDA,oBElEI,oDAF2B,CFwE3B,uCf2yDJ,CevyDA,gCAEI,gCAAA,CACA,cf0yDJ,CexyDI,wFAEI,gCAAA,CACA,yBf2yDR,CevyDA,EACI,wBAAA,CACA,oBf0yDJ,CevyDA,QACI,yBf0yDJ,CevyDA,YACI,oBf0yDJ,CkB74DA,6BACI,iBAAA,CACA,UlBo5DJ,CkBl5DI,kDDDA,mDAF2B,CCKvB,8CAAA,CACA,8CAAA,CACA,2CAAA,CACA,iCAAA,CACA,qCAAA,CACA,iBAAA,CACA,yCAAA,CACA,uCAAA,CACA,+ClBo5DR,CkBl5DQ,2DACI,iDAAA,CACA,6CAAA,CACA,iClBo5DZ,CmBx6DA,KAEI,8CAAA,CACA,kDAAA,CAEA,aAAA,CAEA,mCAAA,CACA,uCnBy6DJ,CoBj7DA,UDMI,WnBi8DJ,CoBv8DA,KAEI,gDAAA,CACA,sCAAA,CACA,kDAAA,CACA,8CAAA,CACA,kDAAA,CAEA,yCAAA,CACA,2BAAA,CACA,uCAAA,CACA,4BAAA,CACA,mCAAA,CACA,+BAAA,CACA,kCAAA,CACA,iBAAA,CACA,eAAA,CAEA,uCAAA,CACA,QAAA,CACA,eAAA,CACA,iCpBk7DJ,CqBz6DA,KACI,qBrBs7DJ,CqBl7DI,iBAGI,kBrBm7DR,CqBr6DA,gEASI,yBrBw6DJ,CqBh6DA,sBACI,sBrBm6DJ,CqB/5DA,SACI,sBrBk6DJ,CqB/5DA,wCAOI,mCrBk6DJ,CqB/5DA,GAEI,iBrBi6DJ,CqB95DA,kBAGI,erBi6DJ,CqB/5DI,mDAEI,iBrBo6DR,CqBh6DA,kBAII,mCAAA,CLlEA,iDAAA,CACA,iBAAA,CACA,ehBs+DJ,CqBl6DA,KACI,aAAA,CACA,aAAA,CACA,oBrBq6DJ,CqBl6DA,MACI,arBq6DJ,CqBl6DA,IACI,8CAAA,CACA,2CAAA,CACA,iCAAA,CACA,qCAAA,CACA,uCrBq6DJ,CqBl6DA,IACI,2BAAA,CACA,aAAA,CACA,eAAA,CACA,uCAAA,CACA,YAAA,CACA,arBq6DJ,CqBl6DA,WACI,4DrBq6DJ,CqBl6DA,WAEI,gDAAA,CACA,mCrBq6DJ,CsBtjEA,wBACI,wBAAA,CACA,wBAAA,CACA,gBAAA,CACA,gCAAA,CACA,cAAA,CACA,aAAA,CACA,iBtByjEJ,CsBtjEI,4GAGI,kBtBwjER,CsBrjEI,4DAEI,iCtBujER,CsBnjEQ,iCACI,qDAAA,CACA,mCAAA,CACA,mCAAA,CACA,2DAAA,CACA,qBAAA,CNKR,iBAAA,CACA,ehBijEJ,CsBnjEQ,iCACI,uCAAA,CACA,YtBqjEZ,CsBhjEI,8BACI,gCtBkjER,CsBhjEQ,kDACI,4CtBkjEZ,CsB3iEQ,yGACI,6CtBgjEZ,CsB9iEY,uDACI,4CtBgjEhB,CsB3iEI,2BACI,qDAAA,CACA,iBtB6iER,CsBviEY,0CACI,4DtByiEhB,CsBriEQ,uCACI,6DtBuiEZ,CsBliEI,oCACI,aAAA,CACA,UtBoiER,CsBliEQ,8CACI,QtBoiEZ,CsB9hEQ,0EAEI,8CtBgiEZ,CsB3hEI,kCACI,wCtB6hER,CsBthEQ,oKAGI,kBtB2hEZ,CsBthEI,kCACI,aAAA,CACA,aAAA,CACA,UtBwhER,CsBnhEQ,sJAGI,qBtBqhEZ,CuBnoEA,2CATI,yBAAA,CACA,2BAAA,CAEA,mCAAA,CACA,uCvBkqEJ,CuB7pEA,wBAII,oDAAA,CChBA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DxBuqER,CuBhpEI,yCACI,4CvBkpER,CuBhpEQ,+CACI,yCvBkpEZ,CuB9oEI,oDACI,4CAAA,CACA,2CAAA,CACA,8CvBgpER,CuB1oEA,+BAEI,yBAAA,CACA,2BAAA,CACA,oDAAA,CACA,mDAAA,CACA,oDAAA,CChDA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DAAA,CDkDJ,mCAAA,CACA,uCvBopEJ,CuBhpEQ,wCACI,WvBkpEZ,CuBhpEY,2CACI,iEvBkpEhB,CuB5oEQ,wCACI,WvB8oEZ,CuB5oEY,2CACI,8DvB8oEhB,CuBxoEQ,wCACI,WvB0oEZ,CuBxoEY,2CACI,iEvB0oEhB,CuBloEA,6BAEI,yBAAA,CACA,2BAAA,CACA,iDAAA,CACA,oDAAA,CC9FA,yBAAA,CAEI,wDAAA,CAAA,6DAAA,CAAA,2DAAA,CAAA,2DAAA,CAAA,wDAAA,CAAA,0DAAA,CAAA,yDAAA,CAAA,4DAAA,CAAA,0DAAA,CAAA,0DAAA,CDgGJ,mCAAA,CACA,uCvB4oEJ,CuBtoEgB,qJAEI,oCvBuoEpB,CuBpoEgB,2JAEI,uCvBqoEpB,CuBhoEgB,sEACI,uCvBkoEpB,CyBxvEA,sEACI,iBACI,UzB2vEN,CACF,CyBzvEA,cAEI,IACI,2BAAA,CACA,oBAAA,CACA,8BzB0vEN,CACF,C0BrwEA,uBACI,uBAAA,CACA,uBAAA,CACA,2BAAA,CACA,mBAAA,CACA,uCAAA,CACA,mCAAA,CACA,6CAAA,CACA,8CAAA,CACA,kDAAA,CACA,yC1BuwEJ,C2BlxEA,gBACI,WAAA,CACA,MAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,Y3BqxEJ,C2BnxEI,wBAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,uDAAA,CACA,aAAA,CACA,YAAA,CACA,QAAA,CACA,wBAAA,CACA,iBAAA,CACA,OAAA,CACA,W3BuxER,C2BrxEQ,+BAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,sDAAA,CACA,UAAA,CACA,UAAA,CACA,QAAA,CACA,iBAAA,CACA,SAAA,CACA,O3ByxEZ,C2BtxEQ,8BAEI,iCAAA,CACA,sCAAA,CAEA,iBAAA,CACA,6BAAA,CAAA,uDAAA,CACA,WAAA,CACA,UAAA,CACA,SAAA,CACA,iBAAA,CACA,UAAA,CACA,Q3B0xEZ,C2BvwEA,gBACI,GAGI,sB3BuxEN,C2BpxEE,GAGI,uB3BsxEN,CACF,C2BvwEA,qBACI,GACI,mBAAA,CACA,yD3BsxEN,C2BpxEE,IACI,wBAAA,CACA,uD3BsxEN,C2BpxEE,GACI,uB3BsxEN,CACF,C4Bh4EA,mBACI,2C5Bk4EJ,C4B/3EA,sBACI,sD5Bm4EJ,C4B/3EA,yCAHI,2C5Bs4EJ,C4B/3EA,sBACI,sD5Bm4EJ,C4B93EQ,4CAJJ,8C5Bs4EJ,C4B93EQ,yBACI,yDAAA,CACA,uD5Bi4EZ,C4Bv4EQ,qBACI,6C5B04EZ,C4Bv4EQ,wBACI,wDAAA,CACA,sD5B04EZ,C4Bh5EQ,qBACI,6C5Bm5EZ,C4Bh5EQ,wBACI,wDAAA,CACA,sD5Bm5EZ,C4Bz5EQ,qBACI,6C5B45EZ,C4Bz5EQ,wBACI,wDAAA,CACA,sD5B45EZ,C4Bl6EQ,qBACI,6C5Bq6EZ,C4Bl6EQ,wBACI,wDAAA,CACA,sD5Bq6EZ,C4B36EQ,qBACI,6C5B86EZ,C4B36EQ,wBACI,wDAAA,CACA,sD5B86EZ,C4Bp7EQ,qBACI,6C5Bu7EZ,C4Bp7EQ,wBACI,wDAAA,CACA,sD5Bu7EZ,C4B77EQ,qBACI,6C5Bg8EZ,C4B77EQ,wBACI,wDAAA,CACA,sD5Bg8EZ,C4Bt8EQ,qBACI,6C5By8EZ,C4Bt8EQ,wBACI,wDAAA,CACA,sD5By8EZ,C4B/8EQ,qBACI,6C5Bk9EZ,C4B/8EQ,wBACI,wDAAA,CACA,sD5Bk9EZ,C4Bx9EQ,oBACI,4C5B29EZ,C4Bx9EQ,uBACI,uDAAA,CACA,qD5B29EZ,C4Bj+EQ,oBACI,4C5Bo+EZ,C4Bj+EQ,uBACI,uDAAA,CACA,qD5Bo+EZ,C4B1+EQ,yBACI,iD5B6+EZ,C4B1+EQ,4BACI,4DAAA,CACA,0D5B6+EZ,C4Bn/EQ,yBACI,iD5Bs/EZ,C4Bn/EQ,4BACI,4DAAA,CACA,0D5Bs/EZ,C4B5/EQ,yBACI,iD5B+/EZ,C4B5/EQ,4BACI,4DAAA,CACA,0D5B+/EZ,C4BrgFQ,yBACI,iD5BwgFZ,C4BrgFQ,4BACI,4DAAA,CACA,0D5BwgFZ,C4B9gFQ,yBACI,iD5BihFZ,C4B9gFQ,4BACI,4DAAA,CACA,0D5BihFZ,C4BvhFQ,wBACI,gD5B0hFZ,C4BvhFQ,2BACI,2DAAA,CACA,yD5B0hFZ,C4BhiFQ,wBACI,gD5BmiFZ,C4BhiFQ,2BACI,2DAAA,CACA,yD5BmiFZ,C4BziFQ,wBACI,gD5B4iFZ,C4BziFQ,2BACI,2DAAA,CACA,yD5B4iFZ,C4BljFQ,wBACI,gD5BqjFZ,C4BljFQ,2BACI,2DAAA,CACA,yD5BqjFZ,C4B3jFQ,uBACI,+C5B8jFZ,C4B3jFQ,0BACI,0DAAA,CACA,wD5B8jFZ,C4BpkFQ,wBACI,gD5BukFZ,C4BpkFQ,2BACI,2DAAA,CACA,yD5BukFZ,C4B7kFQ,wBACI,gD5BglFZ,C4B7kFQ,2BACI,2DAAA,CACA,yD5BglFZ,C4BtlFQ,wBACI,gD5BylFZ,C4BtlFQ,2BACI,2DAAA,CACA,yD5BylFZ,C4B/lFQ,wBACI,gD5BkmFZ,C4B/lFQ,2BACI,2DAAA,CACA,yD5BkmFZ,C4BxmFQ,wBACI,gD5B2mFZ,C4BxmFQ,2BACI,2DAAA,CACA,yD5B2mFZ,C4BjnFQ,uBACI,+C5BonFZ,C4BjnFQ,0BACI,0DAAA,CACA,wD5BonFZ,C4B1nFQ,uBACI,+C5B6nFZ,C4B1nFQ,0BACI,0DAAA,CACA,wD5B6nFZ,C4BnoFQ,uBACI,+C5BsoFZ,C4BnoFQ,0BACI,0DAAA,CACA,wD5BsoFZ,C4B5oFQ,uBACI,+C5B+oFZ,C4B5oFQ,0BACI,0DAAA,CACA,wD5B+oFZ,C4BrpFQ,sBACI,8C5BwpFZ,C4BrpFQ,yBACI,yDAAA,CACA,uD5BwpFZ,C4B9pFQ,sBACI,8C5BiqFZ,C4B9pFQ,yBACI,yDAAA,CACA,uD5BiqFZ,C4BvqFQ,sBACI,8C5B0qFZ,C4BvqFQ,yBACI,yDAAA,CACA,uD5B0qFZ,C4BhrFQ,sBACI,8C5BmrFZ,C4BhrFQ,yBACI,yDAAA,CACA,uD5BmrFZ,C4BzrFQ,sBACI,8C5B4rFZ,C4BzrFQ,yBACI,yDAAA,CACA,uD5B4rFZ,C4BlsFQ,sBACI,8C5BqsFZ,C4BlsFQ,yBACI,yDAAA,CACA,uD5BqsFZ,C4B3sFQ,qBACI,6C5B8sFZ,C4B3sFQ,wBACI,wDAAA,CACA,sD5B8sFZ,C4BptFQ,qBACI,6C5ButFZ,C4BptFQ,wBACI,wDAAA,CACA,sD5ButFZ,C4B7tFQ,qBACI,6C5BguFZ,C4B7tFQ,wBACI,wDAAA,CACA,sD5BguFZ,C4BtuFQ,qBACI,6C5ByuFZ,C4BtuFQ,wBACI,wDAAA,CACA,sD5ByuFZ,C4B/uFQ,oBACI,4C5BkvFZ,C4B/uFQ,uBACI,uDAAA,CACA,qD5BkvFZ,C4BxvFQ,yBACI,iD5B2vFZ,C4BxvFQ,4BACI,4DAAA,CACA,0D5B2vFZ,C4BjwFQ,yBACI,iD5BowFZ,C4BjwFQ,4BACI,4DAAA,CACA,0D5BowFZ,C4B1wFQ,yBACI,iD5B6wFZ,C4B1wFQ,4BACI,4DAAA,CACA,0D5B6wFZ,C4BnxFQ,yBACI,iD5BsxFZ,C4BnxFQ,4BACI,4DAAA,CACA,0D5BsxFZ,C4B5xFQ,yBACI,iD5B+xFZ,C4B5xFQ,4BACI,4DAAA,CACA,0D5B+xFZ,C4BryFQ,wBACI,gD5BwyFZ,C4BryFQ,2BACI,2DAAA,CACA,yD5BwyFZ,C4B9yFQ,wBACI,gD5BizFZ,C4B9yFQ,2BACI,2DAAA,CACA,yD5BizFZ,C4BvzFQ,wBACI,gD5B0zFZ,C4BvzFQ,2BACI,2DAAA,CACA,yD5B0zFZ,C4Bh0FQ,wBACI,gD5Bm0FZ,C4Bh0FQ,2BACI,2DAAA,CACA,yD5Bm0FZ,C4Bz0FQ,uBACI,+C5B40FZ,C4Bz0FQ,0BACI,0DAAA,CACA,wD5B40FZ,C4Bl1FQ,yBACI,iD5Bq1FZ,C4Bl1FQ,4BACI,4DAAA,CACA,0D5Bq1FZ,C4B31FQ,yBACI,iD5B81FZ,C4B31FQ,4BACI,4DAAA,CACA,0D5B81FZ,C4Bp2FQ,yBACI,iD5Bu2FZ,C4Bp2FQ,4BACI,4DAAA,CACA,0D5Bu2FZ,C4B72FQ,yBACI,iD5Bg3FZ,C4B72FQ,4BACI,4DAAA,CACA,0D5Bg3FZ,C4Bt3FQ,yBACI,iD5By3FZ,C4Bt3FQ,4BACI,4DAAA,CACA,0D5By3FZ,C4B/3FQ,wBACI,gD5Bk4FZ,C4B/3FQ,2BACI,2DAAA,CACA,yD5Bk4FZ,C4Bx4FQ,wBACI,gD5B24FZ,C4Bx4FQ,2BACI,2DAAA,CACA,yD5B24FZ,C4Bj5FQ,wBACI,gD5Bo5FZ,C4Bj5FQ,2BACI,2DAAA,CACA,yD5Bo5FZ,C4B15FQ,wBACI,gD5B65FZ,C4B15FQ,2BACI,2DAAA,CACA,yD5B65FZ,C4Bn6FQ,uBACI,+C5Bs6FZ,C4Bn6FQ,0BACI,0DAAA,CACA,wD5Bs6FZ,C4B56FQ,wBACI,gD5B+6FZ,C4B56FQ,2BACI,2DAAA,CACA,yD5B+6FZ,C4Br7FQ,wBACI,gD5Bw7FZ,C4Br7FQ,2BACI,2DAAA,CACA,yD5Bw7FZ,C4B97FQ,wBACI,gD5Bi8FZ,C4B97FQ,2BACI,2DAAA,CACA,yD5Bi8FZ,C4Bv8FQ,wBACI,gD5B08FZ,C4Bv8FQ,2BACI,2DAAA,CACA,yD5B08FZ,C4Bh9FQ,wBACI,gD5Bm9FZ,C4Bh9FQ,2BACI,2DAAA,CACA,yD5Bm9FZ,C4Bz9FQ,uBACI,+C5B49FZ,C4Bz9FQ,0BACI,0DAAA,CACA,wD5B49FZ,C4Bl+FQ,uBACI,+C5Bq+FZ,C4Bl+FQ,0BACI,0DAAA,CACA,wD5Bq+FZ,C4B3+FQ,uBACI,+C5B8+FZ,C4B3+FQ,0BACI,0DAAA,CACA,wD5B8+FZ,C4Bp/FQ,uBACI,+C5Bu/FZ,C4Bp/FQ,0BACI,0DAAA,CACA,wD5Bu/FZ,C4B7/FQ,sBACI,8C5BggGZ,C4B7/FQ,yBACI,yDAAA,CACA,uD5BggGZ,C4B3/FI,kBACI,8C5B8/FR,C4B3/FI,qBACI,yDAAA,CACA,wD5B8/FR,C4BpgGI,qBACI,iD5BugGR,C4BpgGI,wBACI,4DAAA,CACA,2D5BugGR,C4B7gGI,oBACI,gD5BghGR,C4B7gGI,uBACI,2DAAA,CACA,0D5BghGR,C4BthGI,kBACI,8C5ByhGR,C4BthGI,qBACI,yDAAA,CACA,wD5ByhGR,C4B/hGI,qBACI,iD5BkiGR,C4B/hGI,wBACI,4DAAA,CACA,2D5BkiGR,C4BxiGI,qBACI,iD5B2iGR,C4BxiGI,wBACI,4DAAA,CACA,2D5B2iGR,C4BjjGI,oBACI,gD5BojGR,C4BjjGI,uBACI,2DAAA,CACA,0D5BojGR,C6BtlGI,qBACI,4B7BylGR,C6B1lGI,qBACI,2B7B6lGR,C6B9lGI,qBACI,wB7BimGR,C6BlmGI,qBACI,2B7BqmGR,C6BtmGI,qBACI,0B7BymGR,C6B1mGI,oBACI,2B7B6mGR,C6B9mGI,mBACI,4B7BinGR,C6BlnGI,mBACI,wB7BqnGR,C6BtnGI,mBACI,2B7BynGR,C6B1nGI,oBACI,0B7B6nGR,C6B9nGI,qBACI,2B7BioGR,C6BrnGQ,gBACI,kE7BwnGZ,C6BznGQ,gBACI,iE7B4nGZ,C6B7nGQ,gBACI,6D7BgoGZ,C6BjoGQ,gBACI,8D7BooGZ,C6BroGQ,gBACI,gE7BwoGZ,C6BzoGQ,eACI,gE7B4oGZ,C6B7oGQ,cACI,iE7BgpGZ,C6BjpGQ,cACI,8D7BopGZ,C6BrpGQ,cACI,8D7BwpGZ,C6BzpGQ,eACI,6D7B4pGZ,C6B7pGQ,gBACI,8D7BgqGZ,C6BjqGQ,yBACI,iE7BoqGZ,C6BrqGQ,wBACI,kE7BwqGZ,C6BzqGQ,wBACI,6D7B4qGZ,C6B7qGQ,wBACI,iE7BgrGZ,C6BjrGQ,yBACI,gE7BorGZ,C6B/qGA,oBACI,2BAAA,CACA,yB7BkrGJ,C6B/qGA,iBACI,2BAAA,CACA,yB7BkrGJ,C6B/qGA,wBACI,2BAAA,CACA,yB7BkrGJ,C6B/qGA,mBACI,2BAAA,CACA,yB7BkrGJ,C6B/qGA,kBACI,2BAAA,CACA,yB7BkrGJ,C6B7qGA,iBAA2B,yB7BirG3B,C6BhrGA,kBAA2B,0B7BorG3B,C6BnrGA,mBAA2B,2B7BurG3B,C6BtrGA,oBAA2B,4B7B0rG3B,C6BxrGA,wCAD2B,4B7BmsG3B,C6BlsGA,qBAA2B,yBAAA,CAA6B,gC7BksGxD,C6B/rGA,qBAA2B,kC7BmsG3B,C6BlsGA,sBAA2B,mC7BssG3B,C6BrsGA,yBAA2B,sC7BysG3B,C6BtsGA,sBAA2B,kC7B0sG3B,C6BzsGA,sBAA2B,kC7B6sG3B,C6B5sGA,uBAA2B,mC7BgtG3B,C6B7sGA,kBAA2B,a7BitG3B,C6BhtGA,sBbzBI,iDAAA,CACA,iBAAA,CACA,ehB6uGJ,C6BptGA,iBACI,0CAAA,CACA,wBAAA,CACA,oB7ButGJ,C6BrtGI,8CAEI,mC7BstGR,C6BntGI,uBCvEA,wDAAA,CACA,kBDuE0C,CCtE1C,iDAAA,CACA,2D9B6xGJ,C6BrtGA,0BACI,0CAAA,CACA,wBAAA,CACA,iBAAA,CACA,oB7BwtGJ,C6BttGI,gEAEI,mC7ButGR,C6BptGI,gCCtFA,wDAAA,CACA,kBDsF0C,CCrF1C,iDAAA,CACA,2D9B6yGJ,C6BttGI,gCEvDA,oQAAA,CACA,wBAAA,CACA,0BAAA,CACA,2BAAA,CACA,uBAAA,CACA,UAAA,CACA,oBAAA,CACA,gCAAA,CACA,uCAAA,CACA,+B/BgxGJ,C6B9tGA,sBACI,6CAAA,CACA,0D7BiuGJ,CgCx0GI,eACI,uBhC63GR,CgC33GI,eACI,0BhC83GR,CgC53GI,eACI,wBhC+3GR,CgC73GI,eACI,yBhCg4GR,CgC73GI,cACI,mBhCg4GR,CgC93GI,eACI,uBAAA,CACA,0BhCi4GR,CgC/3GI,eACI,wBAAA,CACA,yBhCk4GR,CgC/3GI,oBACI,qBAAA,CACA,iBhCk4GR,CgC75GI,cACI,4BhCg6GR,CgC95GI,cACI,+BhCi6GR,CgC/5GI,cACI,6BhCk6GR,CgCh6GI,cACI,8BhCm6GR,CgCh6GI,aACI,wBhCm6GR,CgCj6GI,cACI,4BAAA,CACA,+BhCo6GR,CgCl6GI,cACI,6BAAA,CACA,8BhCq6GR,CgCl6GI,mBACI,0BAAA,CACA,sBhCq6GR,CgCh8GI,aACI,2BhCm8GR,CgCj8GI,aACI,8BhCo8GR,CgCl8GI,aACI,4BhCq8GR,CgCn8GI,aACI,6BhCs8GR,CgCn8GI,YACI,uBhCs8GR,CgCp8GI,aACI,2BAAA,CACA,8BhCu8GR,CgCr8GI,aACI,4BAAA,CACA,6BhCw8GR,CgCr8GI,kBACI,yBAAA,CACA,qBhCw8GR,CgCn+GI,YACI,4BhCs+GR,CgCp+GI,YACI,+BhCu+GR,CgCr+GI,YACI,6BhCw+GR,CgCt+GI,YACI,8BhCy+GR,CgCt+GI,WACI,wBhCy+GR,CgCv+GI,YACI,4BAAA,CACA,+BhC0+GR,CgCx+GI,YACI,6BAAA,CACA,8BhC2+GR,CgCx+GI,iBACI,0BAAA,CACA,sBhC2+GR,CgCtgHI,YACI,0BhCygHR,CgCvgHI,YACI,6BhC0gHR,CgCxgHI,YACI,2BhC2gHR,CgCzgHI,YACI,4BhC4gHR,CgCzgHI,WACI,sBhC4gHR,CgC1gHI,YACI,0BAAA,CACA,6BhC6gHR,CgC3gHI,YACI,2BAAA,CACA,4BhC8gHR,CgC3gHI,iBACI,wBAAA,CACA,oBhC8gHR,CgCziHI,YACI,4BhC4iHR,CgC1iHI,YACI,+BhC6iHR,CgC3iHI,YACI,6BhC8iHR,CgC5iHI,YACI,8BhC+iHR,CgC5iHI,WACI,wBhC+iHR,CgC7iHI,YACI,4BAAA,CACA,+BhCgjHR,CgC9iHI,YACI,6BAAA,CACA,8BhCijHR,CgC9iHI,iBACI,0BAAA,CACA,sBhCijHR,CgC5kHI,aACI,0BhC+kHR,CgC7kHI,aACI,6BhCglHR,CgC9kHI,aACI,2BhCilHR,CgC/kHI,aACI,4BhCklHR,CgC/kHI,YACI,sBhCklHR,CgChlHI,aACI,0BAAA,CACA,6BhCmlHR,CgCjlHI,aACI,2BAAA,CACA,4BhColHR,CgCjlHI,kBACI,wBAAA,CACA,oBhColHR,CgC/mHI,cACI,4BhCknHR,CgChnHI,cACI,+BhCmnHR,CgCjnHI,cACI,6BhConHR,CgClnHI,cACI,8BhCqnHR,CgClnHI,aACI,wBhCqnHR,CgCnnHI,cACI,4BAAA,CACA,+BhCsnHR,CgCpnHI,cACI,6BAAA,CACA,8BhCunHR,CgCpnHI,mBACI,0BAAA,CACA,sBhCunHR,CgClpHI,cACI,0BhCqpHR,CgCnpHI,cACI,6BhCspHR,CgCppHI,cACI,2BhCupHR,CgCrpHI,cACI,4BhCwpHR,CgCrpHI,aACI,sBhCwpHR,CgCtpHI,cACI,0BAAA,CACA,6BhCypHR,CgCvpHI,cACI,2BAAA,CACA,4BhC0pHR,CgCvpHI,mBACI,wBAAA,CACA,oBhC0pHR,CgCrrHI,cACI,0BhCwrHR,CgCtrHI,cACI,6BhCyrHR,CgCvrHI,cACI,2BhC0rHR,CgCxrHI,cACI,4BhC2rHR,CgCxrHI,aACI,sBhC2rHR,CgCzrHI,cACI,0BAAA,CACA,6BhC4rHR,CgC1rHI,cACI,2BAAA,CACA,4BhC6rHR,CgC1rHI,mBACI,wBAAA,CACA,oBhC6rHR,CiCxtHI,eACI,sBjC2tHR,CiCztHI,eACI,yBjC4tHR,CiC1tHI,eACI,uBjC6tHR,CiC3tHI,eACI,wBjC8tHR,CiC5tHI,cACI,kBjC+tHR,CiC7tHI,eACI,sBAAA,CACA,yBjCguHR,CiC9tHI,eACI,uBAAA,CACA,wBjCiuHR,CiCtvHI,cACI,2BjCyvHR,CiCvvHI,cACI,8BjC0vHR,CiCxvHI,cACI,4BjC2vHR,CiCzvHI,cACI,6BjC4vHR,CiC1vHI,aACI,uBjC6vHR,CiC3vHI,cACI,2BAAA,CACA,8BjC8vHR,CiC5vHI,cACI,4BAAA,CACA,6BjC+vHR,CiCpxHI,aACI,0BjCuxHR,CiCrxHI,aACI,6BjCwxHR,CiCtxHI,aACI,2BjCyxHR,CiCvxHI,aACI,4BjC0xHR,CiCxxHI,YACI,sBjC2xHR,CiCzxHI,aACI,0BAAA,CACA,6BjC4xHR,CiC1xHI,aACI,2BAAA,CACA,4BjC6xHR,CiClzHI,YACI,2BjCqzHR,CiCnzHI,YACI,8BjCszHR,CiCpzHI,YACI,4BjCuzHR,CiCrzHI,YACI,6BjCwzHR,CiCtzHI,WACI,uBjCyzHR,CiCvzHI,YACI,2BAAA,CACA,8BjC0zHR,CiCxzHI,YACI,4BAAA,CACA,6BjC2zHR,CiCh1HI,YACI,yBjCm1HR,CiCj1HI,YACI,4BjCo1HR,CiCl1HI,YACI,0BjCq1HR,CiCn1HI,YACI,2BjCs1HR,CiCp1HI,WACI,qBjCu1HR,CiCr1HI,YACI,yBAAA,CACA,4BjCw1HR,CiCt1HI,YACI,0BAAA,CACA,2BjCy1HR,CiC92HI,YACI,2BjCi3HR,CiC/2HI,YACI,8BjCk3HR,CiCh3HI,YACI,4BjCm3HR,CiCj3HI,YACI,6BjCo3HR,CiCl3HI,WACI,uBjCq3HR,CiCn3HI,YACI,2BAAA,CACA,8BjCs3HR,CiCp3HI,YACI,4BAAA,CACA,6BjCu3HR,CiC54HI,aACI,yBjC+4HR,CiC74HI,aACI,4BjCg5HR,CiC94HI,aACI,0BjCi5HR,CiC/4HI,aACI,2BjCk5HR,CiCh5HI,YACI,qBjCm5HR,CiCj5HI,aACI,yBAAA,CACA,4BjCo5HR,CiCl5HI,aACI,0BAAA,CACA,2BjCq5HR,CiC16HI,cACI,2BjC66HR,CiC36HI,cACI,8BjC86HR,CiC56HI,cACI,4BjC+6HR,CiC76HI,cACI,6BjCg7HR,CiC96HI,aACI,uBjCi7HR,CiC/6HI,cACI,2BAAA,CACA,8BjCk7HR,CiCh7HI,cACI,4BAAA,CACA,6BjCm7HR,CiCx8HI,cACI,yBjC28HR,CiCz8HI,cACI,4BjC48HR,CiC18HI,cACI,0BjC68HR,CiC38HI,cACI,2BjC88HR,CiC58HI,aACI,qBjC+8HR,CiC78HI,cACI,yBAAA,CACA,4BjCg9HR,CiC98HI,cACI,0BAAA,CACA,2BjCi9HR,CiCt+HI,cACI,yBjCy+HR,CiCv+HI,cACI,4BjC0+HR,CiCx+HI,cACI,0BjC2+HR,CiCz+HI,cACI,2BjC4+HR,CiC1+HI,aACI,qBjC6+HR,CiC3+HI,cACI,yBAAA,CACA,4BjC8+HR,CiC5+HI,cACI,0BAAA,CACA,2BjC++HR,CiC3+HA,eACI,0BjC8+HJ,CiC5+HA,eACI,2BjC++HJ,CiC7+HA,eACI,yBjCg/HJ,CiC9+HA,eACI,4BjCi/HJ,CkCnhIA,YACI,4BAAA,CAEA,oBlCshIJ,CkClhIA,gCALI,sBlC2hIJ,CkClhIA,2BACI,6BlCqhIJ,CkCjhIA,oDAEI,oClCohIJ,CkCjhIA,gDAEI,kClCohIJ,CkCjhIA,mCACI,gClCohIJ,CkCjhIA,mCACI,sClCohIJ,CkCjhIA,wDAEI,uClCohIJ,CkCjhIA,sDAEI,sClCohIJ,CkChhIA,qDAEI,gClCmhIJ,CkChhIA,wDAEI,4BlCmhIJ,CkCjhIA,oDAEI,8BlCohIJ,CkChhIA,gBACI,4BlCmhIJ,CkChhIA,wBACI,oClCmhIJ,CkChhIA,mBACI,+BlCmhIJ,CkCjhII,8FAEI,gClCmhIR,CkC/gIA,2BACI,uClCkhIJ,CkC9gIA,iBACI,wBlCihIJ,CkC9gIA,yBACI,gClCihIJ,CkC9gIA,mBACI,0BlCihIJ,CkC9gIA,gBACI,qBlCihIJ,CkC9gIA,iBACI,yBAAA,CACA,qBlCihIJ,CkC9gIA,mBACI,yBAAA,CACA,uBlCihIJ,CmC5nIA,sBACI,sBnC+nIJ,CmC5nIA,uBACI,4BnC+nIJ,CmC5nIA,qBACI,uBnC+nIJ,CmC5nIA,sBACI,wBnC+nIJ,CmC5nIA,4BACI,8BnC+nIJ,CmC5nIA,0BACI,sBnC+nIJ,CmC5nIA,mCACI,enC+nIJ,CUnoIQ,oCyBQJ,mCACI,sBnC+nIN,CACF,CoC9pIA,kBACI,oBpCgqIJ,CoC7pIA,iBACI,oBpCgqIJ,CoC7pIA,eACI,mCAAA,CACA,mCAAA,CACA,yCpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,eACI,2CAAA,CACA,2CAAA,CACA,iDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ,CoC7pIA,gBACI,4CAAA,CACA,4CAAA,CACA,kDpCgqIJ","file":"eui.css","sourcesContent":["/*! @ecl/preset-reset - 3.4.2 Built on 2022-09-21T10:02:32.565Z */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body{margin:0;overflow-x:hidden}","/**\n * ECL color variants formula\n * Applies tint or shade of base color provided\n *\n * @param color: base color, has variant of 100\n * @param variant: number in range between 0 - 200\n * 100 - neutral variant, no changes\n * 0 - 99: brightens base color by mixing in white color, the lower, the brighter\n * 99 - 200: darkens base color by mixing in black color, the bigger, the darker\n *\n * @return color variant of provided base color\n *\n * @examples\n *\n * // provides 30% darker pink color\n * background-color: eui-color-variant(pink, 130);\n *\n * // provides 95% lighter pink color\n * background-color: eui-color-variant(pink, 5);\n */\n/** Common weight name mapping\n @See the OpenType specification:\n https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass\n The numerical values 100 to 900 roughly correspond to the following common weight names:\n 100 Thin (Hairline)\n 200\t Extra Light (Ultra Light)\n 300\t Light\n 400\t Normal\n 500\t Medium\n 600\t Semi Bold (Demi Bold)\n 700\t Bold\n 800\t Extra Bold (Ultra Bold)\n 900\t Black (Heavy)\n**/\n/*! @ecl/preset-reset - 3.4.2 Built on 2022-09-21T10:02:32.565Z */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\nhtml {\n -webkit-text-size-adjust: 100%;\n line-height: 1.15;\n}\n\nmain {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\nimg {\n border-style: none;\n}\n\nbutton, input, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton, input {\n overflow: visible;\n}\n\nbutton, select {\n text-transform: none;\n}\n\n[type=button], [type=reset], [type=submit], button {\n -webkit-appearance: button;\n}\n\n[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=checkbox], [type=radio] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nbody {\n margin: 0;\n overflow-x: hidden;\n}\n\n:root {\n --eui-base-color-grey-100: #404040;\n --eui-base-color-grey-90: #535353;\n --eui-base-color-grey-80: #666666;\n --eui-base-color-grey-75: #707070;\n --eui-base-color-grey-50: #a0a0a0;\n --eui-base-color-grey-35: #bcbcbc;\n --eui-base-color-grey-25: #cfcfcf;\n --eui-base-color-grey-20: #d9d9d9;\n --eui-base-color-grey-15: #e2e2e2;\n --eui-base-color-grey-10: #ececec;\n --eui-base-color-grey-5: whitesmoke;\n --eui-base-color-grey-2: #fbfbfb;\n --eui-base-color-primary-140: #002959;\n --eui-base-color-primary-130: #003068;\n --eui-base-color-primary-120: #003676;\n --eui-base-color-primary-110: #003d85;\n --eui-base-color-primary-100: #004494;\n --eui-base-color-primary-75: #4073af;\n --eui-base-color-primary-50: #80a2ca;\n --eui-base-color-primary-25: #bfd0e4;\n --eui-base-color-primary-10: #e6ecf4;\n --eui-base-color-primary-5: #f2f6fa;\n --eui-base-color-accent-140: #99800e;\n --eui-base-color-accent-130: #b39610;\n --eui-base-color-accent-120: #f8ae21;\n --eui-base-color-accent-110: #fbc11d;\n --eui-base-color-accent-100: #ffd617;\n --eui-base-color-accent-75: #ffde39;\n --eui-base-color-accent-50: #ffe879;\n --eui-base-color-accent-25: #fff4bb;\n --eui-base-color-accent-10: #fffbe8;\n --eui-base-color-accent-5: #fffdf3;\n --eui-base-color-info-140: #00436c;\n --eui-base-color-info-130: #004e7e;\n --eui-base-color-info-120: #005990;\n --eui-base-color-info-110: #0064a2;\n --eui-base-color-info-100: #006fb4;\n --eui-base-color-info-75: #4093c7;\n --eui-base-color-info-50: #80b7da;\n --eui-base-color-info-25: #bfdbec;\n --eui-base-color-info-10: #e6f1f8;\n --eui-base-color-info-5: #f2f8fb;\n --eui-base-color-success-140: #2a4922;\n --eui-base-color-success-130: #315528;\n --eui-base-color-success-120: #38622e;\n --eui-base-color-success-110: #3f6e33;\n --eui-base-color-success-100: #467a39;\n --eui-base-color-success-75: #749b6b;\n --eui-base-color-success-50: #a3bd9c;\n --eui-base-color-success-25: #d1dece;\n --eui-base-color-success-10: #edf2eb;\n --eui-base-color-success-5: #f6f8f5;\n --eui-base-color-warning-140: #915917;\n --eui-base-color-warning-130: #a9681b;\n --eui-base-color-warning-120: #c2771f;\n --eui-base-color-warning-110: #da8623;\n --eui-base-color-warning-100: #f29527;\n --eui-base-color-warning-75: #f5b05d;\n --eui-base-color-warning-50: #f9ca93;\n --eui-base-color-warning-25: #fce5c9;\n --eui-base-color-warning-10: #fef4e9;\n --eui-base-color-warning-5: #fefaf4;\n --eui-base-color-danger-140: #83141d;\n --eui-base-color-danger-130: #991722;\n --eui-base-color-danger-120: #ae1a27;\n --eui-base-color-danger-110: #c41e2c;\n --eui-base-color-danger-100: #da2131;\n --eui-base-color-danger-75: #e35965;\n --eui-base-color-danger-50: #ed9098;\n --eui-base-color-danger-25: #f6c8cc;\n --eui-base-color-danger-10: #fbe9ea;\n --eui-base-color-danger-5: #fdf4f5;\n --eui-base-color-grey: #a0a0a0;\n --eui-base-color-primary: #004494;\n --eui-base-color-accent: #ffd617;\n --eui-base-color-info: #006fb4;\n --eui-base-color-success: #467a39;\n --eui-base-color-warning: #f29527;\n --eui-base-color-danger: #da2131;\n --eui-base-color-text: var(--eui-base-color-grey-100);\n --eui-base-color-link: var(--eui-base-color-primary-100);\n --eui-base-color-black: black;\n --eui-base-color-white: white;\n --eui-base-color: var(--eui-base-color-grey-100);\n --eui-base-font-size: 16px;\n --eui-base-font-size-6xl: 2.625rem;\n --eui-base-font-size-5xl: 2.25rem;\n --eui-base-font-size-4xl: 2rem;\n --eui-base-font-size-3xl: 1.75rem;\n --eui-base-font-size-2xl: 1.5rem;\n --eui-base-font-size-xl: 1.25rem;\n --eui-base-font-size-l: 1.125rem;\n --eui-base-font-size-m: 1rem;\n --eui-base-font-size-s: 0.875rem;\n --eui-base-font-size-xs: 0.75rem;\n --eui-base-font-size-2xs: 0.625rem;\n --eui-base-font-family: Arial, Helvetica Neue, Helvetica, sans-serif;\n --eui-base-font-family-icons: eui-icons, sans-serif;\n --eui-base-font-family-monospace: Consolas, Liberation Mono, Courier New, monospace;\n --eui-base-icon-size: 1.5rem;\n --eui-base-icon-size-2xs: 0.25rem;\n --eui-base-icon-size-xs: 1rem;\n --eui-base-icon-size-s: 1.25rem;\n --eui-base-icon-size-m: 1.5rem;\n --eui-base-icon-size-l: 2rem;\n --eui-base-icon-size-xl: 2.5rem;\n --eui-base-icon-size-2xl: 3rem;\n --eui-base-icon-size-3xl: 3.5rem;\n --eui-base-icon-size-4xl: 4rem;\n --eui-base-font-6xl: normal normal 400 2.625rem/3.25rem arial, sans-serif;\n --eui-base-font-5xl: normal normal 400 2.25rem/2.75rem arial, sans-serif;\n --eui-base-font-4xl: normal normal 400 2rem/2.5rem arial, sans-serif;\n --eui-base-font-3xl: normal normal 400 1.75rem/2rem arial, sans-serif;\n --eui-base-font-2xl: normal normal 400 1.5rem/1.75rem arial, sans-serif;\n --eui-base-font-xl: normal normal 400 1.25rem/1.5rem arial, sans-serif;\n --eui-base-font-l: normal normal 400 1.125rem/1.5rem arial, sans-serif;\n --eui-base-font-m: normal normal 400 1rem/1.25rem arial, sans-serif;\n --eui-base-font-s: normal normal 400 0.875rem/1rem arial, sans-serif;\n --eui-base-font-xs: normal normal 400 0.75rem/1rem arial, sans-serif;\n --eui-base-font-2xs: normal normal 400 0.625rem/1rem arial, sans-serif;\n --eui-base-font-prolonged-xl: normal normal 400 1.25rem/1.75rem arial, sans-serif;\n --eui-base-font-prolonged-l: normal normal 400 1.125rem/1.75rem arial, sans-serif;\n --eui-base-font-prolonged-m: normal normal 400 1rem/1.5rem arial, sans-serif;\n --eui-base-font-prolonged-s: normal normal 400 0.875rem/1.25rem arial, sans-serif;\n --eui-base-font-prolonged-xs: normal normal 400 0.75rem/1.25rem arial, sans-serif;\n --eui-base-spacing-none: 0;\n --eui-base-spacing-2xs: 0.25rem;\n --eui-base-spacing-xs: 0.5rem;\n --eui-base-spacing-s: 0.75rem;\n --eui-base-spacing-m: 1rem;\n --eui-base-spacing-l: 1.5rem;\n --eui-base-spacing-xl: 2rem;\n --eui-base-spacing-2xl: 2.5rem;\n --eui-base-spacing-3xl: 3rem;\n --eui-base-spacing-4xl: 4rem;\n --eui-base-shadow-1: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-2: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-3: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-4: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n --eui-base-shadow-6: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-8: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-9: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-12: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-16: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-24: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n --eui-base-shadow-z-depth-0: 0 1px 0 rgba(0, 0, 0, 0.08), 0 1px 1px rgba(0, 0, 0, 0.08);\n --eui-base-shadow-z-depth-1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n --eui-base-shadow-z-depth-2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n --eui-base-shadow-z-depth-3: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n --eui-base-shadow-z-depth-4: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\n --eui-base-shadow-z-depth-5: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);\n --eui-base-z-index-auto: auto;\n --eui-base-z-index-zero: 0;\n --eui-base-z-index-root: 1;\n --eui-base-z-index-input-maxlength: 2;\n --eui-base-z-index-header: 5;\n --eui-base-z-index-top-message: 8;\n --eui-base-z-index-nav: 10;\n --eui-base-z-index-clearable-icon: 11;\n --eui-base-z-index-loading-indicator: 20;\n --eui-base-z-index-cdk-overlay-pane: 999;\n --eui-base-z-index-logo: 1000;\n --eui-base-z-index-sticky: 1040;\n --eui-base-z-index-sidebar: 1044;\n --eui-base-z-index-overlay: 1045;\n --eui-base-z-index-btn-floating: 1046;\n --eui-base-z-index-highlighted: 1047;\n --eui-base-z-index-footer-action-bar: 1048;\n --eui-base-z-index-modal-backdrop: 1049;\n --eui-base-z-index-modal: 1050;\n --eui-base-z-index-menu: 1060;\n --eui-base-z-index-tooltip: 1070;\n --eui-base-z-index-max: 9999;\n --eui-base-z-index-cdk-overlay-container: 10000;\n --eui-base-z-index-block-document: 10010;\n --eui-base-z-index-growl-message: 99999;\n}\n\n:root {\n --eui-base-line-height: 1.15;\n --eui-base-scale-factor: 1;\n --eui-base-disabled-opacity: 0.45;\n --eui-base-border-radius: 3px;\n --eui-base-border: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-light: 1px solid var(--eui-color-grey-light);\n --eui-base-border-lighter: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-lightest: 1px solid var(--eui-color-grey-lightest);\n --eui-base-animation-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 1);\n --eui-base-animation-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --eui-base-animation-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1);\n --eui-base-animation-ease-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);\n --eui-base-animation-ease-in-out-timing-function: ease-in-out;\n --eui-base-animation-duration-fast: 0.25s;\n --eui-base-animation-duration-medium: 0.5s;\n --eui-base-animation-duration-slow: 1s;\n --eui-base-animation-duration-base: 500ms;\n --eui-base-animation-duration: var(--eui-base-animation-duration-base);\n --eui-base-animation-transition-base: all 0.2s var(--eui-base-animation-linear-out-slow-in-timing-function);\n --eui-base-animation-transition-ease: all 0.2s var(--eui-base-animation-ease-timing-function);\n --eui-base-animation-transition-ease-in-out: all 0.2s var(--eui-base-animation-ease-in-out-timing-function);\n --eui-base-animation-transition-ease-in-out-1s: all 1s var(--eui-base-animation-ease-in-out-timing-function);\n --eui-base-animation-delay: 0s;\n --eui-base-animation-direction: normal;\n --eui-base-animation-fill-mode: forwards;\n --eui-base-animation-background-color: var(--eui-base-color-primary-50);\n --eui-base-color-accessible-focus: var(--eui-base-color-accent-110);\n}\n\n:root {\n --eui-app-header-height-default: 0px;\n --eui-app-header-height: 0px;\n --eui-app-header-height-active: 90px;\n --eui-app-header-height-shrink: 0px;\n --eui-app-breadcrumb-height-default: 0px;\n --eui-app-breadcrumb-height: 0px;\n --eui-app-breadcrumb-height-active: 20px;\n --eui-app-top-message-height-default: 0px;\n --eui-app-top-message-height: 0px;\n --eui-app-top-message-height-active: 42px;\n --eui-app-toolbar-height-default: 0px;\n --eui-app-toolbar-height: 0px;\n --eui-app-toolbar-height-active: 55px;\n --eui-app-sidebar-width-default: 0px;\n --eui-app-sidebar-width: 0px;\n --eui-app-sidebar-width-active: 300px;\n --eui-app-sidebar-width-close-default: 0px;\n --eui-app-sidebar-width-close: 0px;\n --eui-app-sidebar-width-close-active: 64px;\n --eui-app-sidebar-header-height: 0px;\n --eui-app-sidebar-header-height-default: 0px;\n --eui-app-sidebar-header-height-active: 48px;\n --eui-app-sidebar-footer-height: 0px;\n --eui-app-sidebar-footer-height-default: 0px;\n --eui-app-sidebar-footer-height-active: 24px;\n --eui-page-header-with-subtitle-height: 4rem;\n --eui-page-header-without-subtitle-height: 2rem;\n --eui-page-column--size-s: 50px;\n --eui-page-column--size-m: 150px;\n --eui-page-column--size-l: 200px;\n --eui-page-column--size-xl: 250px;\n --eui-page-column--size-xxl: 300px;\n --eui-page-column--size-xxxl: 350px;\n --eui-page-column-footer-height: 3.5rem;\n --eui-border-state-width: 6px;\n --eui-app-header-bg-color: var(--eui-base-color-white);\n --eui-app-header-title-color: var(--eui-base-color-grey-100);\n --eui-app-header-subtitle-color: var(--eui-base-color-grey-75);\n --eui-app-toolbar-color: var(--eui-base-color-white);\n --eui-app-toolbar-bg-color: var(--eui-base-color-primary-100);\n --eui-app-toolbar-border-bottom-color: var(--eui-base-color-primary-25);\n --eui-app-sidebar-bg-color: var(--eui-base-color-grey-2);\n --eui-app-sidebar-border-right-color: #f2f4f9;\n --eui-app-body-bg-color: var(--eui-base-color-grey-2);\n --eui-app-main-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-color: var(--eui-base-color-font);\n --eui-app-footer-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-border-top-color: #e8ebf1;\n}\n\n.xs, .sm {\n --eui-app-header-height: 0px;\n}\n\n.eui-icon-svg {\n fill: currentColor;\n margin: 0;\n transform: scaleX(1) scaleY(1) rotateZ(0deg);\n transition: transform 300ms ease-in-out;\n display: inline-flex;\n align-items: center;\n}\n\n.eui-icon-svg--size-2xs {\n height: 0.25rem;\n width: 0.25rem;\n}\n\n.eui-icon-svg--size-xs {\n height: 1rem;\n width: 1rem;\n}\n\n.eui-icon-svg--size-s {\n height: 1.25rem;\n width: 1.25rem;\n}\n\n.eui-icon-svg--size-m {\n height: 1.5rem;\n width: 1.5rem;\n}\n\n.eui-icon-svg--size-l {\n height: 2rem;\n width: 2rem;\n}\n\n.eui-icon-svg--size-xl {\n height: 2.5rem;\n width: 2.5rem;\n}\n\n.eui-icon-svg--size-2xl {\n height: 3rem;\n width: 3rem;\n}\n\n.eui-icon-svg--size-3xl {\n height: 3.5rem;\n width: 3.5rem;\n}\n\n.eui-icon-svg--size-4xl {\n height: 4rem;\n width: 4rem;\n}\n\n.eui-icon-svg--color-grey-100 {\n color: #404040;\n fill: #404040;\n}\n\n.eui-icon-svg--color-grey-90 {\n color: #535353;\n fill: #535353;\n}\n\n.eui-icon-svg--color-grey-80 {\n color: #666666;\n fill: #666666;\n}\n\n.eui-icon-svg--color-grey-75 {\n color: #707070;\n fill: #707070;\n}\n\n.eui-icon-svg--color-grey-50 {\n color: #a0a0a0;\n fill: #a0a0a0;\n}\n\n.eui-icon-svg--color-grey-35 {\n color: #bcbcbc;\n fill: #bcbcbc;\n}\n\n.eui-icon-svg--color-grey-25 {\n color: #cfcfcf;\n fill: #cfcfcf;\n}\n\n.eui-icon-svg--color-grey-20 {\n color: #d9d9d9;\n fill: #d9d9d9;\n}\n\n.eui-icon-svg--color-grey-15 {\n color: #e2e2e2;\n fill: #e2e2e2;\n}\n\n.eui-icon-svg--color-grey-10 {\n color: #ececec;\n fill: #ececec;\n}\n\n.eui-icon-svg--color-grey-5 {\n color: whitesmoke;\n fill: whitesmoke;\n}\n\n.eui-icon-svg--color-grey-2 {\n color: #fbfbfb;\n fill: #fbfbfb;\n}\n\n.eui-icon-svg--color-primary-140 {\n color: #002959;\n fill: #002959;\n}\n\n.eui-icon-svg--color-primary-130 {\n color: #003068;\n fill: #003068;\n}\n\n.eui-icon-svg--color-primary-120 {\n color: #003676;\n fill: #003676;\n}\n\n.eui-icon-svg--color-primary-110 {\n color: #003d85;\n fill: #003d85;\n}\n\n.eui-icon-svg--color-primary-100 {\n color: #004494;\n fill: #004494;\n}\n\n.eui-icon-svg--color-primary-75 {\n color: #4073af;\n fill: #4073af;\n}\n\n.eui-icon-svg--color-primary-50 {\n color: #80a2ca;\n fill: #80a2ca;\n}\n\n.eui-icon-svg--color-primary-25 {\n color: #bfd0e4;\n fill: #bfd0e4;\n}\n\n.eui-icon-svg--color-primary-10 {\n color: #e6ecf4;\n fill: #e6ecf4;\n}\n\n.eui-icon-svg--color-primary-5 {\n color: #f2f6fa;\n fill: #f2f6fa;\n}\n\n.eui-icon-svg--color-accent-140 {\n color: #99800e;\n fill: #99800e;\n}\n\n.eui-icon-svg--color-accent-130 {\n color: #b39610;\n fill: #b39610;\n}\n\n.eui-icon-svg--color-accent-120 {\n color: #f8ae21;\n fill: #f8ae21;\n}\n\n.eui-icon-svg--color-accent-110 {\n color: #fbc11d;\n fill: #fbc11d;\n}\n\n.eui-icon-svg--color-accent-100 {\n color: #ffd617;\n fill: #ffd617;\n}\n\n.eui-icon-svg--color-accent-75 {\n color: #ffde39;\n fill: #ffde39;\n}\n\n.eui-icon-svg--color-accent-50 {\n color: #ffe879;\n fill: #ffe879;\n}\n\n.eui-icon-svg--color-accent-25 {\n color: #fff4bb;\n fill: #fff4bb;\n}\n\n.eui-icon-svg--color-accent-10 {\n color: #fffbe8;\n fill: #fffbe8;\n}\n\n.eui-icon-svg--color-accent-5 {\n color: #fffdf3;\n fill: #fffdf3;\n}\n\n.eui-icon-svg--color-info-140 {\n color: #00436c;\n fill: #00436c;\n}\n\n.eui-icon-svg--color-info-130 {\n color: #004e7e;\n fill: #004e7e;\n}\n\n.eui-icon-svg--color-info-120 {\n color: #005990;\n fill: #005990;\n}\n\n.eui-icon-svg--color-info-110 {\n color: #0064a2;\n fill: #0064a2;\n}\n\n.eui-icon-svg--color-info-100 {\n color: #006fb4;\n fill: #006fb4;\n}\n\n.eui-icon-svg--color-info-75 {\n color: #4093c7;\n fill: #4093c7;\n}\n\n.eui-icon-svg--color-info-50 {\n color: #80b7da;\n fill: #80b7da;\n}\n\n.eui-icon-svg--color-info-25 {\n color: #bfdbec;\n fill: #bfdbec;\n}\n\n.eui-icon-svg--color-info-10 {\n color: #e6f1f8;\n fill: #e6f1f8;\n}\n\n.eui-icon-svg--color-info-5 {\n color: #f2f8fb;\n fill: #f2f8fb;\n}\n\n.eui-icon-svg--color-success-140 {\n color: #2a4922;\n fill: #2a4922;\n}\n\n.eui-icon-svg--color-success-130 {\n color: #315528;\n fill: #315528;\n}\n\n.eui-icon-svg--color-success-120 {\n color: #38622e;\n fill: #38622e;\n}\n\n.eui-icon-svg--color-success-110 {\n color: #3f6e33;\n fill: #3f6e33;\n}\n\n.eui-icon-svg--color-success-100 {\n color: #467a39;\n fill: #467a39;\n}\n\n.eui-icon-svg--color-success-75 {\n color: #749b6b;\n fill: #749b6b;\n}\n\n.eui-icon-svg--color-success-50 {\n color: #a3bd9c;\n fill: #a3bd9c;\n}\n\n.eui-icon-svg--color-success-25 {\n color: #d1dece;\n fill: #d1dece;\n}\n\n.eui-icon-svg--color-success-10 {\n color: #edf2eb;\n fill: #edf2eb;\n}\n\n.eui-icon-svg--color-success-5 {\n color: #f6f8f5;\n fill: #f6f8f5;\n}\n\n.eui-icon-svg--color-warning-140 {\n color: #915917;\n fill: #915917;\n}\n\n.eui-icon-svg--color-warning-130 {\n color: #a9681b;\n fill: #a9681b;\n}\n\n.eui-icon-svg--color-warning-120 {\n color: #c2771f;\n fill: #c2771f;\n}\n\n.eui-icon-svg--color-warning-110 {\n color: #da8623;\n fill: #da8623;\n}\n\n.eui-icon-svg--color-warning-100 {\n color: #f29527;\n fill: #f29527;\n}\n\n.eui-icon-svg--color-warning-75 {\n color: #f5b05d;\n fill: #f5b05d;\n}\n\n.eui-icon-svg--color-warning-50 {\n color: #f9ca93;\n fill: #f9ca93;\n}\n\n.eui-icon-svg--color-warning-25 {\n color: #fce5c9;\n fill: #fce5c9;\n}\n\n.eui-icon-svg--color-warning-10 {\n color: #fef4e9;\n fill: #fef4e9;\n}\n\n.eui-icon-svg--color-warning-5 {\n color: #fefaf4;\n fill: #fefaf4;\n}\n\n.eui-icon-svg--color-danger-140 {\n color: #83141d;\n fill: #83141d;\n}\n\n.eui-icon-svg--color-danger-130 {\n color: #991722;\n fill: #991722;\n}\n\n.eui-icon-svg--color-danger-120 {\n color: #ae1a27;\n fill: #ae1a27;\n}\n\n.eui-icon-svg--color-danger-110 {\n color: #c41e2c;\n fill: #c41e2c;\n}\n\n.eui-icon-svg--color-danger-100 {\n color: #da2131;\n fill: #da2131;\n}\n\n.eui-icon-svg--color-danger-75 {\n color: #e35965;\n fill: #e35965;\n}\n\n.eui-icon-svg--color-danger-50 {\n color: #ed9098;\n fill: #ed9098;\n}\n\n.eui-icon-svg--color-danger-25 {\n color: #f6c8cc;\n fill: #f6c8cc;\n}\n\n.eui-icon-svg--color-danger-10 {\n color: #fbe9ea;\n fill: #fbe9ea;\n}\n\n.eui-icon-svg--color-danger-5 {\n color: #fdf4f5;\n fill: #fdf4f5;\n}\n\n.eui-icon-svg--color-grey {\n color: #a0a0a0;\n fill: #a0a0a0;\n}\n\n.eui-icon-svg--color-primary {\n color: #004494;\n fill: #004494;\n}\n\n.eui-icon-svg--color-accent {\n color: #ffd617;\n fill: #ffd617;\n}\n\n.eui-icon-svg--color-info {\n color: #006fb4;\n fill: #006fb4;\n}\n\n.eui-icon-svg--color-success {\n color: #467a39;\n fill: #467a39;\n}\n\n.eui-icon-svg--color-warning {\n color: #f29527;\n fill: #f29527;\n}\n\n.eui-icon-svg--color-danger {\n color: #da2131;\n fill: #da2131;\n}\n\n.eui-icon-svg--color-white {\n color: white;\n fill: white;\n}\n\n.eui-icon-svg--color-black {\n color: black;\n fill: black;\n}\n\n.mat-ripple {\n overflow: hidden;\n position: relative;\n}\n\n.mat-ripple:not(:empty) {\n transform: translateZ(0);\n}\n\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n}\n\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale3d(0, 0, 0);\n}\n\n.cdk-high-contrast-active .mat-ripple-element {\n display: none;\n}\n\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n left: 0;\n}\n\n[dir=rtl] .cdk-visually-hidden {\n left: auto;\n right: 0;\n}\n\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n}\n\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000;\n}\n\n.cdk-overlay-container:empty {\n display: none;\n}\n\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000;\n}\n\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n}\n\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n}\n\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1;\n}\n\n.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6;\n}\n\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32);\n}\n\n.cdk-overlay-transparent-backdrop {\n transition: visibility 1ms linear, opacity 1ms linear;\n visibility: hidden;\n opacity: 1;\n}\n\n.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0;\n visibility: visible;\n}\n\n.cdk-overlay-backdrop-noop-animation {\n transition: none;\n}\n\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px;\n}\n\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll;\n}\n\ntextarea.cdk-textarea-autosize {\n resize: none;\n}\n\ntextarea.cdk-textarea-autosize-measuring {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: auto !important;\n overflow: hidden !important;\n}\n\ntextarea.cdk-textarea-autosize-measuring-firefox {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: 0 !important;\n}\n\n@keyframes cdk-text-field-autofill-start {\n /*!*/\n}\n@keyframes cdk-text-field-autofill-end {\n /*!*/\n}\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n animation: cdk-text-field-autofill-start 0s 1ms;\n}\n\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n animation: cdk-text-field-autofill-end 0s 1ms;\n}\n\n.mat-focus-indicator {\n position: relative;\n}\n\n.mat-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-focus-indicator-display, none);\n border: var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);\n border-radius: var(--mat-focus-indicator-border-radius, 4px);\n}\n\n.mat-focus-indicator:focus::before {\n content: \"\";\n}\n\n.cdk-high-contrast-active {\n --mat-focus-indicator-display: block;\n}\n\n.mat-mdc-focus-indicator {\n position: relative;\n}\n\n.mat-mdc-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-mdc-focus-indicator-display, none);\n border: var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);\n border-radius: var(--mat-mdc-focus-indicator-border-radius, 4px);\n}\n\n.mat-mdc-focus-indicator:focus::before {\n content: \"\";\n}\n\n.cdk-high-contrast-active {\n --mat-mdc-focus-indicator-display: block;\n}\n\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.mat-mdc-option {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n.mat-mdc-option:hover:not(.mdc-list-item--disabled), .mat-mdc-option:focus:not(.mdc-list-item--disabled), .mat-mdc-option.mat-mdc-option-active, .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled) {\n background: rgba(0, 0, 0, 0.04);\n}\n\n.mat-primary .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n}\n\n.mat-accent .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-secondary, #fffcf4);\n}\n\n.mat-warn .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-error, #da2131);\n}\n\n.mat-mdc-optgroup-label {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54);\n}\n\n.mat-pseudo-checkbox::after {\n color: #fafafa;\n}\n\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0;\n}\n\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #004494;\n}\n\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #fffcf4;\n}\n\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #da2131;\n}\n\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0;\n}\n\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87);\n}\n\n.mat-elevation-z0, .mat-mdc-elevation-specific.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z1, .mat-mdc-elevation-specific.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z2, .mat-mdc-elevation-specific.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z3, .mat-mdc-elevation-specific.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z4, .mat-mdc-elevation-specific.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z5, .mat-mdc-elevation-specific.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z6, .mat-mdc-elevation-specific.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z7, .mat-mdc-elevation-specific.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z8, .mat-mdc-elevation-specific.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z9, .mat-mdc-elevation-specific.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z10, .mat-mdc-elevation-specific.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z11, .mat-mdc-elevation-specific.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z12, .mat-mdc-elevation-specific.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z13, .mat-mdc-elevation-specific.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z14, .mat-mdc-elevation-specific.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z15, .mat-mdc-elevation-specific.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z16, .mat-mdc-elevation-specific.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z17, .mat-mdc-elevation-specific.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z18, .mat-mdc-elevation-specific.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z19, .mat-mdc-elevation-specific.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z20, .mat-mdc-elevation-specific.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z21, .mat-mdc-elevation-specific.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z22, .mat-mdc-elevation-specific.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z23, .mat-mdc-elevation-specific.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-elevation-z24, .mat-mdc-elevation-specific.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-theme-loaded-marker {\n display: none;\n}\n\n.mat-calendar-arrow {\n fill: rgba(0, 0, 0, 0.54);\n}\n\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54);\n}\n\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.mat-calendar-table-header,\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54);\n}\n\n.mat-calendar-body-cell-content,\n.mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent;\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-form-field-disabled .mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-calendar-body-in-preview {\n color: rgba(0, 0, 0, 0.24);\n}\n\n.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.18);\n}\n\n.mat-calendar-body-in-range::before {\n background: rgba(0, 68, 148, 0.2);\n}\n\n.mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n\n.mat-calendar-body-comparison-bridge-start::before,\n[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-calendar-body-comparison-bridge-end::before,\n[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n\n.mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n\n.mat-calendar-body-selected {\n background-color: #004494;\n color: white;\n}\n\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(0, 68, 148, 0.4);\n}\n\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n}\n\n@media (hover: hover) {\n .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n }\n}\n.mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {\n background: rgba(255, 252, 244, 0.2);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,\n.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,\n.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #fffcf4;\n color: #999999;\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 252, 244, 0.4);\n}\n\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px #999999;\n}\n\n.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n}\n\n@media (hover: hover) {\n .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n }\n}\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {\n background: rgba(218, 33, 49, 0.2);\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,\n.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,\n.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #da2131;\n color: white;\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(218, 33, 49, 0.4);\n}\n\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n}\n\n.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n}\n\n@media (hover: hover) {\n .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n }\n}\n.mat-datepicker-content-touch {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n\n.mat-datepicker-toggle-active {\n color: #004494;\n}\n\n.mat-datepicker-toggle-active.mat-accent {\n color: #fffcf4;\n}\n\n.mat-datepicker-toggle-active.mat-warn {\n color: #da2131;\n}\n\n.mat-date-range-input-inner[disabled] {\n color: rgba(0, 0, 0, 0.38);\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base {\n width: 40px;\n height: 40px;\n padding: 8px;\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring {\n max-height: 40px;\n max-width: 40px;\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple {\n width: 40px;\n height: 40px;\n margin-top: 0px;\n margin-bottom: 0px;\n margin-right: 0px;\n margin-left: 0px;\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring {\n max-height: 40px;\n max-width: 40px;\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch {\n position: absolute;\n top: 50%;\n height: 40px;\n /* @noflip */\n /*rtl:ignore*/\n left: 50%;\n width: 40px;\n transform: translate(-50%, -50%);\n}\n\n.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target {\n display: none;\n}\n\n.mdc-menu-surface {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: var(--mdc-theme-surface, #fff);\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item__primary-text {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n.mdc-list-item__secondary-text {\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));\n}\n\n.mdc-list-item__overline-text {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n background-color: transparent;\n}\n\n.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item__end {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n}\n\n.mdc-list-item--disabled .mdc-list-item__start,\n.mdc-list-item--disabled .mdc-list-item__content,\n.mdc-list-item--disabled .mdc-list-item__end {\n opacity: 0.38;\n}\n\n.mdc-list-item--disabled .mdc-list-item__primary-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--disabled .mdc-list-item__secondary-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--disabled .mdc-list-item__overline-text {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--disabled.mdc-list-item--with-trailing-meta .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n}\n\n.mdc-list-item--selected .mdc-list-item__primary-text,\n.mdc-list-item--activated .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n}\n\n.mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,\n.mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-primary, #004494);\n}\n\n.mdc-deprecated-list-group__subheader {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n}\n\n@media screen and (forced-colors: active), (-ms-high-contrast: active) {\n .mdc-list-divider::after {\n border-bottom-color: white;\n }\n}\n.mdc-list-divider {\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.mat-calendar {\n font-size: small;\n}\n.mat-calendar.mat-calendar-year .mat-calendar-period-button {\n display: none;\n}\n\n.cdk-drag-handle {\n cursor: move !important;\n}\n\n.cdk-drop-list {\n display: flex;\n min-width: 100%;\n}\n.cdk-drop-list:not(.cdk-drop-list-disabled) {\n min-height: var(--eui-base-spacing-xl);\n}\n\n.cdk-drop-list-dragging .cdk-drag {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.cdk-drag-animating {\n transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.cdk-drag-preview {\n background-color: transparent;\n box-shadow: none;\n cursor: grab !important;\n display: table;\n margin: 0 !important;\n opacity: 1;\n position: relative;\n}\n\n.cdk-drag-dragging {\n opacity: 1;\n}\n\n.cdk-drag-placeholder {\n background-color: transparent;\n opacity: 0.35;\n}\n.cdk-drag-placeholder:hover {\n outline: 2px dashed var(--eui-base-color-grey-35);\n outline-offset: 2px;\n}\n\n.cdk-global-scrollblock {\n position: fixed;\n overflow-y: visible;\n width: 100%;\n top: 0 !important;\n left: 0 !important;\n}\n.cdk-global-scrollblock::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n}\n.cdk-global-scrollblock::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n}\n.cdk-global-scrollblock::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n}\n.cdk-global-scrollblock::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n}\n\n@media screen and (max-width: 767px) {\n .cdk-global-scrollblock {\n height: 100%;\n overflow: auto;\n position: fixed;\n width: 100%;\n }\n .cdk-global-scrollblock::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n }\n .cdk-global-scrollblock::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n }\n .cdk-global-scrollblock::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n }\n .cdk-global-scrollblock::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n }\n}\n.cdk-overlay-container {\n z-index: var(--eui-base-z-index-cdk-overlay-container);\n}\n.cdk-overlay-container .mat-menu-panel {\n max-width: inherit;\n min-height: var(--eui-base-spacing-l);\n}\n.cdk-overlay-container .mat-menu-panel::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n}\n.cdk-overlay-container .mat-menu-panel::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n}\n.cdk-overlay-container .mat-menu-panel::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n}\n.cdk-overlay-container .mat-menu-panel::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n}\n.cdk-overlay-container .mat-autocomplete-panel::-webkit-scrollbar {\n display: inherit;\n height: 8px;\n width: 8px;\n background-color: var(--eui-base-color-grey-10);\n}\n.cdk-overlay-container .mat-autocomplete-panel::-webkit-scrollbar-thumb {\n background-color: var(--eui-base-color-grey-20);\n border-radius: 5rem;\n}\n.cdk-overlay-container .mat-autocomplete-panel::-webkit-scrollbar-thumb:hover {\n background-color: var(--eui-base-color-grey-25);\n}\n.cdk-overlay-container .mat-autocomplete-panel::-webkit-scrollbar-track {\n background-color: var(--eui-base-color-grey-10);\n border-radius: 0;\n}\n\n.cdk-overlay-pane {\n background-color: var(--eui-base-color-white);\n z-index: var(--eui-base-z-index-cdk-overlay-pane);\n}\n\ntable {\n border: 0 transparent;\n}\n\n:focus {\n outline: 0;\n}\n\n:focus-visible {\n outline: 0;\n}\n\n.flex-container {\n align-items: center;\n display: flex;\n width: 100%;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -webkit-flex !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.ux-col {\n flex: 1 0 auto;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6,\n.h7,\n.h8,\n.h9 {\n font-family: var(--eui-base-font-family);\n font-size: var(--eui-base-font-size);\n font-style: normal;\n font-weight: 400;\n color: inherit;\n}\n\nh1,\n.h1 {\n font: normal normal 400 2rem/2.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh2,\n.h2 {\n font: normal normal 400 1.75rem/2rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh3,\n.h3 {\n font: normal normal 400 1.5rem/1.75rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh4,\n.h4 {\n font: normal normal 400 1.25rem/1.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh5,\n.h5 {\n font: normal normal 400 1.125rem/1.5rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\nh6,\n.h6 {\n font: normal normal 400 1rem/1.25rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h7,\n.small {\n font: normal normal 400 0.875rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h8,\n.smaller {\n font: normal normal 400 0.75rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\n.h9,\n.smallest,\n.tiny {\n font: normal normal 400 0.625rem/1rem arial, sans-serif;\n line-height: var(--eui-base-line-height);\n}\n\na,\na:not([href]):not([tabindex]) {\n color: var(--eui-base-color-link);\n cursor: pointer;\n}\na:hover, a:focus,\na:not([href]):not([tabindex]):hover,\na:not([href]):not([tabindex]):focus {\n color: var(--eui-base-color-link);\n text-decoration: underline;\n}\n\na {\n background-color: transparent;\n text-decoration: none;\n}\n\na:focus {\n text-decoration: underline;\n}\n\nabbr[title] {\n text-decoration: none;\n}\n\n.label, abbr, blockquote, del, label, mark, p {\n font-size: var(--eui-base-font-size);\n}\n\n.eui-input-maxlength-wrapper {\n position: relative;\n width: 100%;\n}\n.eui-input-maxlength-wrapper .eui-input-maxlength {\n font: normal normal 400 0.75rem/1rem arial, sans-serif;\n background-color: var(--eui-base-color-grey-10);\n border: 1px solid var(--eui-base-color-grey-50);\n border-radius: var(--eui-base-border-radius);\n color: var(--eui-base-color-black);\n padding: 0 var(--eui-base-spacing-2xs);\n position: absolute;\n right: calc(-1 * var(--eui-base-spacing-xs));\n top: calc(-1 * var(--eui-base-spacing-xs));\n z-index: var(--eui-base-z-index-input-maxlength);\n}\n.eui-input-maxlength-wrapper .eui-input-maxlength--invalid {\n background-color: var(--eui-base-color-danger-100);\n border-color: var(--eui-base-color-danger-100);\n color: var(--eui-base-color-white);\n}\n\nhtml {\n --eui-html-font-size: var(--eui-base-font-size);\n --eui-html-line-height: var(--eui-base-line-height);\n display: block;\n height: 100%;\n font-size: var(--eui-html-font-size);\n line-height: var(--eui-html-line-height);\n}\n\nbody {\n --eui-body-bg-color: var(--eui-app-body-bg-color);\n --eui-body-color: var(--eui-base-color);\n --eui-body-font-family: var(--eui-base-font-family);\n --eui-body-font-size: var(--eui-base-font-size);\n --eui-body-line-height: var(--eui-base-line-height);\n background-color: var(--eui-body-bg-color);\n color: var(--eui-body-color);\n font-family: var(--eui-body-font-family);\n font-feature-settings: \"liga\";\n font-size: var(--eui-body-font-size);\n -moz-font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n font-style: normal;\n font-weight: normal;\n height: 100%;\n line-height: var(--eui-body-line-height);\n margin: 0;\n text-align: left;\n text-rendering: optimizeLegibility;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n/* ==========================================================================\n #BOX-SIZING\n ========================================================================== */\n/**\n * More sensible default box-sizing:\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n */\nhtml {\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: inherit;\n}\n\na,\narea,\nbutton,\n[role=button],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n[hidden] {\n display: none !important;\n}\n\np,\nlabel,\n.label,\nblockquote,\nabbr,\nmark,\ndel {\n font-size: var(--eui-base-font-size);\n}\n\nem {\n font-style: italic;\n}\n\noptgroup,\nstrong,\nb {\n font-weight: bold;\n}\noptgroup i, optgroup em,\nstrong i,\nstrong em,\nb i,\nb em {\n font-style: italic;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-size: var(--eui-base-font-size);\n font-family: var(--eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\ncode {\n color: #cc367b;\n font-size: 95%;\n word-wrap: break-word;\n}\n\nsmall {\n font-size: 80%;\n}\n\nkbd {\n background-color: var(--eui-base-color-grey-75);\n border-radius: var(--eui-base-border-radius);\n color: var(--eui-base-color-white);\n font-size: var(--eui-base-font-size-s);\n padding: 1px var(--eui-base-spacing-2xs);\n}\n\npre {\n color: var(--eui-base-color);\n display: block;\n font-size: 87.5%;\n margin-bottom: var(--eui-base-spacing-m);\n margin-top: 0;\n overflow: auto;\n}\n\nblockquote {\n padding: var(--eui-base-spacing-xs) var(--eui-base-spacing-m);\n}\n\nmark,\n.mark {\n background-color: var(--eui-base-color-accent-25);\n padding: var(--eui-base-spacing-2xs);\n}\n\ntable.eui-table-default {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n color: var(--eui-base-color-font);\n max-width: 100%;\n overflow: auto;\n position: relative;\n}\ntable.eui-table-default thead > tr > th,\ntable.eui-table-default tbody > tr > td,\ntable.eui-table-default tfoot > tr > td {\n vertical-align: top;\n}\ntable.eui-table-default tr > th,\ntable.eui-table-default tr > td {\n padding: var(--eui-base-spacing-s);\n}\ntable.eui-table-default thead th {\n border-bottom: 1px solid var(--eui-base-color-grey-10);\n color: var(--eui-base-color-grey-75);\n font-size: var(--eui-base-font-size);\n padding: var(--eui-base-spacing-m) var(--eui-base-spacing-s);\n vertical-align: middle;\n font-style: normal;\n font-weight: 700;\n}\ntable.eui-table-default thead tr {\n background: var(--eui-base-color-grey-5);\n border-top: 0;\n}\ntable.eui-table-default tbody {\n -webkit-overflow-scrolling: touch;\n}\ntable.eui-table-default tbody tr:nth-of-type(odd) {\n background-color: var(--eui-base-color-white);\n}\ntable.eui-table-default tbody tr:nth-of-type(odd):hover {\n background-color: var(--eui-base-color-grey-5);\n}\ntable.eui-table-default tbody tr:nth-of-type(even) {\n background-color: var(--eui-base-color-grey-5);\n}\ntable.eui-table-default tbody tr:nth-of-type(even):hover {\n background-color: var(--eui-base-color-white);\n}\ntable.eui-table-default tr {\n border-bottom: 1px solid var(--eui-base-color-grey-20);\n display: table-row;\n}\ntable.eui-table-default--compact thead th {\n padding: var(--eui-base-spacing-xs) var(--eui-base-spacing-s);\n}\ntable.eui-table-default--compact tr > td {\n padding: var(--eui-base-spacing-2xs) var(--eui-base-spacing-s);\n}\ntable.eui-table-default--responsive {\n display: block;\n width: 100%;\n}\ntable.eui-table-default--responsive--bordered {\n border: 0;\n}\ntable.eui-table-default--bordered th,\ntable.eui-table-default--bordered td {\n border: 1px solid var(--eui-base-color-grey-20);\n}\ntable.eui-table-default--shadowed {\n box-shadow: var(--eui-base-base-shadow-1);\n}\ntable.eui-table-default--nowrap {\n white-space: nowrap;\n}\ntable.eui-table-default--nowrap thead > tr > th,\ntable.eui-table-default--nowrap tbody > tr > td,\ntable.eui-table-default--nowrap tfoot > tr > td {\n white-space: nowrap;\n}\ntable.eui-table-default--centered {\n display: table;\n margin: 0 auto;\n width: auto;\n}\ntable.eui-table-default--align-middle thead > tr > th,\ntable.eui-table-default--align-middle tbody > tr > td,\ntable.eui-table-default--align-middle tfoot > tr > td {\n vertical-align: middle;\n}\n\nhtml.eui-t-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n\nform.eui-t-form-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-input-group-spacing: var(--eui-base-spacing-xs);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\nform.eui-t-form-compact .eui-input-group {\n margin-bottom: var(--eui-input-group-spacing);\n}\nform.eui-t-form-compact .eui-input-group label {\n margin-bottom: var(--eui-base-spacing-2xs);\n}\nform.eui-t-form-compact .eui-input-group-addon-item {\n min-height: calc(2.5 * var(--eui-base-spacing));\n min-width: calc(2.5 * var(--eui-base-spacing));\n padding: calc(var(--eui-base-spacing-xs) - 1px);\n}\n\n.eui-table.eui-t-table-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-table-header-padding: var(--eui-base-spacing-s);\n --eui-table-row-padding: var(--eui-base-spacing-2xs);\n --eui-table-footer-padding: var(--eui-base-spacing-s);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n.eui-table.eui-t-table-compact thead tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact thead tr th {\n padding: var(--eui-table-header-padding) var(--eui-base-spacing-s);\n}\n.eui-table.eui-t-table-compact tbody tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact tbody tr td {\n padding: var(--eui-table-row-padding) var(--eui-base-spacing-s);\n}\n.eui-table.eui-t-table-compact tfoot tr {\n height: auto;\n}\n.eui-table.eui-t-table-compact tfoot tr td {\n padding: var(--eui-table-footer-padding) var(--eui-base-spacing-s);\n}\n\n.eui-card.eui-t-card-compact {\n --eui-base-font-size: 14px;\n --eui-base-line-height: 1.25;\n --eui-card-title-size: var(--eui-base-font-size-m);\n --eui-card-subtitle-size: var(--eui-base-font-size-s);\n --eui-compact-ratio: 0.875;\n --eui-base-spacing-none: calc( var(--eui-compact-ratio) * 0 );\n --eui-base-spacing-2xs: calc( var(--eui-compact-ratio) * 0.25rem );\n --eui-base-spacing-xs: calc( var(--eui-compact-ratio) * 0.5rem );\n --eui-base-spacing-s: calc( var(--eui-compact-ratio) * 0.75rem );\n --eui-base-spacing-m: calc( var(--eui-compact-ratio) * 1rem );\n --eui-base-spacing-l: calc( var(--eui-compact-ratio) * 1.5rem );\n --eui-base-spacing-xl: calc( var(--eui-compact-ratio) * 2rem );\n --eui-base-spacing-2xl: calc( var(--eui-compact-ratio) * 2.5rem );\n --eui-base-spacing-3xl: calc( var(--eui-compact-ratio) * 3rem );\n --eui-base-spacing-4xl: calc( var(--eui-compact-ratio) * 4rem );\n font-size: var(--eui-base-font-size);\n line-height: var(--eui-base-line-height);\n}\n.eui-card.eui-t-card-compact .eui-card-header__title-container-title, .eui-card.eui-t-card-compact .eui-card-header__title-container-title .eui-label {\n font-size: var(--eui-card-title-size);\n}\n.eui-card.eui-t-card-compact .eui-card-header__title-container-subtitle, .eui-card.eui-t-card-compact .eui-card-header__title-container-subtitle .eui-label {\n font-size: var(--eui-card-subtitle-size);\n}\n.eui-card.eui-t-card-compact .eui-card-header__urgent-indicator::after {\n font-size: var(--eui-base-font-size-2xl);\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n img[src$=\".svg\"] {\n width: 100%;\n }\n}\n@media screen {\n img {\n background-repeat: no-repeat;\n background-size: 100%;\n -ms-interpolation-mode: bicubic;\n }\n}\n.cookie-consent-banner {\n display: block !important;\n min-width: 50% !important;\n position: absolute !important;\n right: 50% !important;\n top: var(--eui-base-spacing-m) !important;\n transform: translateX(50%) !important;\n z-index: var(--eui-base-z-index-max) !important;\n box-shadow: var(--eui-base-shadow-24) !important;\n background: var(--eui-base-color-primary) !important;\n color: var(eui-base-color-white) !important;\n}\n\n#loader-wrapper {\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 1000;\n}\n#loader-wrapper #loader {\n -webkit-animation: spin 2s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 5s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-warning-100);\n display: block;\n height: 200px;\n left: 50%;\n margin: -100px 0 0 -100px;\n position: relative;\n top: 50%;\n width: 200px;\n}\n#loader-wrapper #loader::before {\n -webkit-animation: spin 2s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 4s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-danger-100);\n bottom: 5px;\n content: \"\";\n left: 5px;\n position: absolute;\n right: 5px;\n top: 5px;\n}\n#loader-wrapper #loader::after {\n -webkit-animation: spin 1s linear infinite;\n /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 1s linear infinite;\n /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 3s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: var(--eui-base-color-primary-100);\n bottom: 20px;\n content: \"\";\n left: 20px;\n position: absolute;\n right: 20px;\n top: 20px;\n}\n\n/* stylelint-enable */\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n@keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n.eui-u-color-black {\n color: var(--eui-base-color-black) !important;\n}\n\n.eui-u-bg-color-black {\n background-color: var(--eui-base-color-black) !important;\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-color-white {\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-bg-color-white {\n background-color: var(--eui-base-color-white) !important;\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-color-grey-100 {\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-bg-color-grey-100 {\n background-color: var(--eui-base-color-grey-100) !important;\n color: var(--eui-base-color-grey-100-contrast) !important;\n}\n\n.eui-u-color-grey-90 {\n color: var(--eui-base-color-grey-90) !important;\n}\n\n.eui-u-bg-color-grey-90 {\n background-color: var(--eui-base-color-grey-90) !important;\n color: var(--eui-base-color-grey-90-contrast) !important;\n}\n\n.eui-u-color-grey-80 {\n color: var(--eui-base-color-grey-80) !important;\n}\n\n.eui-u-bg-color-grey-80 {\n background-color: var(--eui-base-color-grey-80) !important;\n color: var(--eui-base-color-grey-80-contrast) !important;\n}\n\n.eui-u-color-grey-75 {\n color: var(--eui-base-color-grey-75) !important;\n}\n\n.eui-u-bg-color-grey-75 {\n background-color: var(--eui-base-color-grey-75) !important;\n color: var(--eui-base-color-grey-75-contrast) !important;\n}\n\n.eui-u-color-grey-50 {\n color: var(--eui-base-color-grey-50) !important;\n}\n\n.eui-u-bg-color-grey-50 {\n background-color: var(--eui-base-color-grey-50) !important;\n color: var(--eui-base-color-grey-50-contrast) !important;\n}\n\n.eui-u-color-grey-35 {\n color: var(--eui-base-color-grey-35) !important;\n}\n\n.eui-u-bg-color-grey-35 {\n background-color: var(--eui-base-color-grey-35) !important;\n color: var(--eui-base-color-grey-35-contrast) !important;\n}\n\n.eui-u-color-grey-25 {\n color: var(--eui-base-color-grey-25) !important;\n}\n\n.eui-u-bg-color-grey-25 {\n background-color: var(--eui-base-color-grey-25) !important;\n color: var(--eui-base-color-grey-25-contrast) !important;\n}\n\n.eui-u-color-grey-20 {\n color: var(--eui-base-color-grey-20) !important;\n}\n\n.eui-u-bg-color-grey-20 {\n background-color: var(--eui-base-color-grey-20) !important;\n color: var(--eui-base-color-grey-20-contrast) !important;\n}\n\n.eui-u-color-grey-15 {\n color: var(--eui-base-color-grey-15) !important;\n}\n\n.eui-u-bg-color-grey-15 {\n background-color: var(--eui-base-color-grey-15) !important;\n color: var(--eui-base-color-grey-15-contrast) !important;\n}\n\n.eui-u-color-grey-10 {\n color: var(--eui-base-color-grey-10) !important;\n}\n\n.eui-u-bg-color-grey-10 {\n background-color: var(--eui-base-color-grey-10) !important;\n color: var(--eui-base-color-grey-10-contrast) !important;\n}\n\n.eui-u-color-grey-5 {\n color: var(--eui-base-color-grey-5) !important;\n}\n\n.eui-u-bg-color-grey-5 {\n background-color: var(--eui-base-color-grey-5) !important;\n color: var(--eui-base-color-grey-5-contrast) !important;\n}\n\n.eui-u-color-grey-2 {\n color: var(--eui-base-color-grey-2) !important;\n}\n\n.eui-u-bg-color-grey-2 {\n background-color: var(--eui-base-color-grey-2) !important;\n color: var(--eui-base-color-grey-2-contrast) !important;\n}\n\n.eui-u-color-primary-140 {\n color: var(--eui-base-color-primary-140) !important;\n}\n\n.eui-u-bg-color-primary-140 {\n background-color: var(--eui-base-color-primary-140) !important;\n color: var(--eui-base-color-primary-140-contrast) !important;\n}\n\n.eui-u-color-primary-130 {\n color: var(--eui-base-color-primary-130) !important;\n}\n\n.eui-u-bg-color-primary-130 {\n background-color: var(--eui-base-color-primary-130) !important;\n color: var(--eui-base-color-primary-130-contrast) !important;\n}\n\n.eui-u-color-primary-120 {\n color: var(--eui-base-color-primary-120) !important;\n}\n\n.eui-u-bg-color-primary-120 {\n background-color: var(--eui-base-color-primary-120) !important;\n color: var(--eui-base-color-primary-120-contrast) !important;\n}\n\n.eui-u-color-primary-110 {\n color: var(--eui-base-color-primary-110) !important;\n}\n\n.eui-u-bg-color-primary-110 {\n background-color: var(--eui-base-color-primary-110) !important;\n color: var(--eui-base-color-primary-110-contrast) !important;\n}\n\n.eui-u-color-primary-100 {\n color: var(--eui-base-color-primary-100) !important;\n}\n\n.eui-u-bg-color-primary-100 {\n background-color: var(--eui-base-color-primary-100) !important;\n color: var(--eui-base-color-primary-100-contrast) !important;\n}\n\n.eui-u-color-primary-75 {\n color: var(--eui-base-color-primary-75) !important;\n}\n\n.eui-u-bg-color-primary-75 {\n background-color: var(--eui-base-color-primary-75) !important;\n color: var(--eui-base-color-primary-75-contrast) !important;\n}\n\n.eui-u-color-primary-50 {\n color: var(--eui-base-color-primary-50) !important;\n}\n\n.eui-u-bg-color-primary-50 {\n background-color: var(--eui-base-color-primary-50) !important;\n color: var(--eui-base-color-primary-50-contrast) !important;\n}\n\n.eui-u-color-primary-25 {\n color: var(--eui-base-color-primary-25) !important;\n}\n\n.eui-u-bg-color-primary-25 {\n background-color: var(--eui-base-color-primary-25) !important;\n color: var(--eui-base-color-primary-25-contrast) !important;\n}\n\n.eui-u-color-primary-10 {\n color: var(--eui-base-color-primary-10) !important;\n}\n\n.eui-u-bg-color-primary-10 {\n background-color: var(--eui-base-color-primary-10) !important;\n color: var(--eui-base-color-primary-10-contrast) !important;\n}\n\n.eui-u-color-primary-5 {\n color: var(--eui-base-color-primary-5) !important;\n}\n\n.eui-u-bg-color-primary-5 {\n background-color: var(--eui-base-color-primary-5) !important;\n color: var(--eui-base-color-primary-5-contrast) !important;\n}\n\n.eui-u-color-accent-140 {\n color: var(--eui-base-color-accent-140) !important;\n}\n\n.eui-u-bg-color-accent-140 {\n background-color: var(--eui-base-color-accent-140) !important;\n color: var(--eui-base-color-accent-140-contrast) !important;\n}\n\n.eui-u-color-accent-130 {\n color: var(--eui-base-color-accent-130) !important;\n}\n\n.eui-u-bg-color-accent-130 {\n background-color: var(--eui-base-color-accent-130) !important;\n color: var(--eui-base-color-accent-130-contrast) !important;\n}\n\n.eui-u-color-accent-120 {\n color: var(--eui-base-color-accent-120) !important;\n}\n\n.eui-u-bg-color-accent-120 {\n background-color: var(--eui-base-color-accent-120) !important;\n color: var(--eui-base-color-accent-120-contrast) !important;\n}\n\n.eui-u-color-accent-110 {\n color: var(--eui-base-color-accent-110) !important;\n}\n\n.eui-u-bg-color-accent-110 {\n background-color: var(--eui-base-color-accent-110) !important;\n color: var(--eui-base-color-accent-110-contrast) !important;\n}\n\n.eui-u-color-accent-100 {\n color: var(--eui-base-color-accent-100) !important;\n}\n\n.eui-u-bg-color-accent-100 {\n background-color: var(--eui-base-color-accent-100) !important;\n color: var(--eui-base-color-accent-100-contrast) !important;\n}\n\n.eui-u-color-accent-75 {\n color: var(--eui-base-color-accent-75) !important;\n}\n\n.eui-u-bg-color-accent-75 {\n background-color: var(--eui-base-color-accent-75) !important;\n color: var(--eui-base-color-accent-75-contrast) !important;\n}\n\n.eui-u-color-accent-50 {\n color: var(--eui-base-color-accent-50) !important;\n}\n\n.eui-u-bg-color-accent-50 {\n background-color: var(--eui-base-color-accent-50) !important;\n color: var(--eui-base-color-accent-50-contrast) !important;\n}\n\n.eui-u-color-accent-25 {\n color: var(--eui-base-color-accent-25) !important;\n}\n\n.eui-u-bg-color-accent-25 {\n background-color: var(--eui-base-color-accent-25) !important;\n color: var(--eui-base-color-accent-25-contrast) !important;\n}\n\n.eui-u-color-accent-10 {\n color: var(--eui-base-color-accent-10) !important;\n}\n\n.eui-u-bg-color-accent-10 {\n background-color: var(--eui-base-color-accent-10) !important;\n color: var(--eui-base-color-accent-10-contrast) !important;\n}\n\n.eui-u-color-accent-5 {\n color: var(--eui-base-color-accent-5) !important;\n}\n\n.eui-u-bg-color-accent-5 {\n background-color: var(--eui-base-color-accent-5) !important;\n color: var(--eui-base-color-accent-5-contrast) !important;\n}\n\n.eui-u-color-info-140 {\n color: var(--eui-base-color-info-140) !important;\n}\n\n.eui-u-bg-color-info-140 {\n background-color: var(--eui-base-color-info-140) !important;\n color: var(--eui-base-color-info-140-contrast) !important;\n}\n\n.eui-u-color-info-130 {\n color: var(--eui-base-color-info-130) !important;\n}\n\n.eui-u-bg-color-info-130 {\n background-color: var(--eui-base-color-info-130) !important;\n color: var(--eui-base-color-info-130-contrast) !important;\n}\n\n.eui-u-color-info-120 {\n color: var(--eui-base-color-info-120) !important;\n}\n\n.eui-u-bg-color-info-120 {\n background-color: var(--eui-base-color-info-120) !important;\n color: var(--eui-base-color-info-120-contrast) !important;\n}\n\n.eui-u-color-info-110 {\n color: var(--eui-base-color-info-110) !important;\n}\n\n.eui-u-bg-color-info-110 {\n background-color: var(--eui-base-color-info-110) !important;\n color: var(--eui-base-color-info-110-contrast) !important;\n}\n\n.eui-u-color-info-100 {\n color: var(--eui-base-color-info-100) !important;\n}\n\n.eui-u-bg-color-info-100 {\n background-color: var(--eui-base-color-info-100) !important;\n color: var(--eui-base-color-info-100-contrast) !important;\n}\n\n.eui-u-color-info-75 {\n color: var(--eui-base-color-info-75) !important;\n}\n\n.eui-u-bg-color-info-75 {\n background-color: var(--eui-base-color-info-75) !important;\n color: var(--eui-base-color-info-75-contrast) !important;\n}\n\n.eui-u-color-info-50 {\n color: var(--eui-base-color-info-50) !important;\n}\n\n.eui-u-bg-color-info-50 {\n background-color: var(--eui-base-color-info-50) !important;\n color: var(--eui-base-color-info-50-contrast) !important;\n}\n\n.eui-u-color-info-25 {\n color: var(--eui-base-color-info-25) !important;\n}\n\n.eui-u-bg-color-info-25 {\n background-color: var(--eui-base-color-info-25) !important;\n color: var(--eui-base-color-info-25-contrast) !important;\n}\n\n.eui-u-color-info-10 {\n color: var(--eui-base-color-info-10) !important;\n}\n\n.eui-u-bg-color-info-10 {\n background-color: var(--eui-base-color-info-10) !important;\n color: var(--eui-base-color-info-10-contrast) !important;\n}\n\n.eui-u-color-info-5 {\n color: var(--eui-base-color-info-5) !important;\n}\n\n.eui-u-bg-color-info-5 {\n background-color: var(--eui-base-color-info-5) !important;\n color: var(--eui-base-color-info-5-contrast) !important;\n}\n\n.eui-u-color-success-140 {\n color: var(--eui-base-color-success-140) !important;\n}\n\n.eui-u-bg-color-success-140 {\n background-color: var(--eui-base-color-success-140) !important;\n color: var(--eui-base-color-success-140-contrast) !important;\n}\n\n.eui-u-color-success-130 {\n color: var(--eui-base-color-success-130) !important;\n}\n\n.eui-u-bg-color-success-130 {\n background-color: var(--eui-base-color-success-130) !important;\n color: var(--eui-base-color-success-130-contrast) !important;\n}\n\n.eui-u-color-success-120 {\n color: var(--eui-base-color-success-120) !important;\n}\n\n.eui-u-bg-color-success-120 {\n background-color: var(--eui-base-color-success-120) !important;\n color: var(--eui-base-color-success-120-contrast) !important;\n}\n\n.eui-u-color-success-110 {\n color: var(--eui-base-color-success-110) !important;\n}\n\n.eui-u-bg-color-success-110 {\n background-color: var(--eui-base-color-success-110) !important;\n color: var(--eui-base-color-success-110-contrast) !important;\n}\n\n.eui-u-color-success-100 {\n color: var(--eui-base-color-success-100) !important;\n}\n\n.eui-u-bg-color-success-100 {\n background-color: var(--eui-base-color-success-100) !important;\n color: var(--eui-base-color-success-100-contrast) !important;\n}\n\n.eui-u-color-success-75 {\n color: var(--eui-base-color-success-75) !important;\n}\n\n.eui-u-bg-color-success-75 {\n background-color: var(--eui-base-color-success-75) !important;\n color: var(--eui-base-color-success-75-contrast) !important;\n}\n\n.eui-u-color-success-50 {\n color: var(--eui-base-color-success-50) !important;\n}\n\n.eui-u-bg-color-success-50 {\n background-color: var(--eui-base-color-success-50) !important;\n color: var(--eui-base-color-success-50-contrast) !important;\n}\n\n.eui-u-color-success-25 {\n color: var(--eui-base-color-success-25) !important;\n}\n\n.eui-u-bg-color-success-25 {\n background-color: var(--eui-base-color-success-25) !important;\n color: var(--eui-base-color-success-25-contrast) !important;\n}\n\n.eui-u-color-success-10 {\n color: var(--eui-base-color-success-10) !important;\n}\n\n.eui-u-bg-color-success-10 {\n background-color: var(--eui-base-color-success-10) !important;\n color: var(--eui-base-color-success-10-contrast) !important;\n}\n\n.eui-u-color-success-5 {\n color: var(--eui-base-color-success-5) !important;\n}\n\n.eui-u-bg-color-success-5 {\n background-color: var(--eui-base-color-success-5) !important;\n color: var(--eui-base-color-success-5-contrast) !important;\n}\n\n.eui-u-color-warning-140 {\n color: var(--eui-base-color-warning-140) !important;\n}\n\n.eui-u-bg-color-warning-140 {\n background-color: var(--eui-base-color-warning-140) !important;\n color: var(--eui-base-color-warning-140-contrast) !important;\n}\n\n.eui-u-color-warning-130 {\n color: var(--eui-base-color-warning-130) !important;\n}\n\n.eui-u-bg-color-warning-130 {\n background-color: var(--eui-base-color-warning-130) !important;\n color: var(--eui-base-color-warning-130-contrast) !important;\n}\n\n.eui-u-color-warning-120 {\n color: var(--eui-base-color-warning-120) !important;\n}\n\n.eui-u-bg-color-warning-120 {\n background-color: var(--eui-base-color-warning-120) !important;\n color: var(--eui-base-color-warning-120-contrast) !important;\n}\n\n.eui-u-color-warning-110 {\n color: var(--eui-base-color-warning-110) !important;\n}\n\n.eui-u-bg-color-warning-110 {\n background-color: var(--eui-base-color-warning-110) !important;\n color: var(--eui-base-color-warning-110-contrast) !important;\n}\n\n.eui-u-color-warning-100 {\n color: var(--eui-base-color-warning-100) !important;\n}\n\n.eui-u-bg-color-warning-100 {\n background-color: var(--eui-base-color-warning-100) !important;\n color: var(--eui-base-color-warning-100-contrast) !important;\n}\n\n.eui-u-color-warning-75 {\n color: var(--eui-base-color-warning-75) !important;\n}\n\n.eui-u-bg-color-warning-75 {\n background-color: var(--eui-base-color-warning-75) !important;\n color: var(--eui-base-color-warning-75-contrast) !important;\n}\n\n.eui-u-color-warning-50 {\n color: var(--eui-base-color-warning-50) !important;\n}\n\n.eui-u-bg-color-warning-50 {\n background-color: var(--eui-base-color-warning-50) !important;\n color: var(--eui-base-color-warning-50-contrast) !important;\n}\n\n.eui-u-color-warning-25 {\n color: var(--eui-base-color-warning-25) !important;\n}\n\n.eui-u-bg-color-warning-25 {\n background-color: var(--eui-base-color-warning-25) !important;\n color: var(--eui-base-color-warning-25-contrast) !important;\n}\n\n.eui-u-color-warning-10 {\n color: var(--eui-base-color-warning-10) !important;\n}\n\n.eui-u-bg-color-warning-10 {\n background-color: var(--eui-base-color-warning-10) !important;\n color: var(--eui-base-color-warning-10-contrast) !important;\n}\n\n.eui-u-color-warning-5 {\n color: var(--eui-base-color-warning-5) !important;\n}\n\n.eui-u-bg-color-warning-5 {\n background-color: var(--eui-base-color-warning-5) !important;\n color: var(--eui-base-color-warning-5-contrast) !important;\n}\n\n.eui-u-color-danger-140 {\n color: var(--eui-base-color-danger-140) !important;\n}\n\n.eui-u-bg-color-danger-140 {\n background-color: var(--eui-base-color-danger-140) !important;\n color: var(--eui-base-color-danger-140-contrast) !important;\n}\n\n.eui-u-color-danger-130 {\n color: var(--eui-base-color-danger-130) !important;\n}\n\n.eui-u-bg-color-danger-130 {\n background-color: var(--eui-base-color-danger-130) !important;\n color: var(--eui-base-color-danger-130-contrast) !important;\n}\n\n.eui-u-color-danger-120 {\n color: var(--eui-base-color-danger-120) !important;\n}\n\n.eui-u-bg-color-danger-120 {\n background-color: var(--eui-base-color-danger-120) !important;\n color: var(--eui-base-color-danger-120-contrast) !important;\n}\n\n.eui-u-color-danger-110 {\n color: var(--eui-base-color-danger-110) !important;\n}\n\n.eui-u-bg-color-danger-110 {\n background-color: var(--eui-base-color-danger-110) !important;\n color: var(--eui-base-color-danger-110-contrast) !important;\n}\n\n.eui-u-color-danger-100 {\n color: var(--eui-base-color-danger-100) !important;\n}\n\n.eui-u-bg-color-danger-100 {\n background-color: var(--eui-base-color-danger-100) !important;\n color: var(--eui-base-color-danger-100-contrast) !important;\n}\n\n.eui-u-color-danger-75 {\n color: var(--eui-base-color-danger-75) !important;\n}\n\n.eui-u-bg-color-danger-75 {\n background-color: var(--eui-base-color-danger-75) !important;\n color: var(--eui-base-color-danger-75-contrast) !important;\n}\n\n.eui-u-color-danger-50 {\n color: var(--eui-base-color-danger-50) !important;\n}\n\n.eui-u-bg-color-danger-50 {\n background-color: var(--eui-base-color-danger-50) !important;\n color: var(--eui-base-color-danger-50-contrast) !important;\n}\n\n.eui-u-color-danger-25 {\n color: var(--eui-base-color-danger-25) !important;\n}\n\n.eui-u-bg-color-danger-25 {\n background-color: var(--eui-base-color-danger-25) !important;\n color: var(--eui-base-color-danger-25-contrast) !important;\n}\n\n.eui-u-color-danger-10 {\n color: var(--eui-base-color-danger-10) !important;\n}\n\n.eui-u-bg-color-danger-10 {\n background-color: var(--eui-base-color-danger-10) !important;\n color: var(--eui-base-color-danger-10-contrast) !important;\n}\n\n.eui-u-color-danger-5 {\n color: var(--eui-base-color-danger-5) !important;\n}\n\n.eui-u-bg-color-danger-5 {\n background-color: var(--eui-base-color-danger-5) !important;\n color: var(--eui-base-color-danger-5-contrast) !important;\n}\n\n.eui-u-color-grey {\n color: var(--eui-base-color-grey-100) !important;\n}\n\n.eui-u-bg-color-grey {\n background-color: var(--eui-base-color-grey-100) !important;\n color: var(--eui-base-color-grey-100-constrast) !important;\n}\n\n.eui-u-color-primary {\n color: var(--eui-base-color-primary-100) !important;\n}\n\n.eui-u-bg-color-primary {\n background-color: var(--eui-base-color-primary-100) !important;\n color: var(--eui-base-color-primary-100-constrast) !important;\n}\n\n.eui-u-color-accent {\n color: var(--eui-base-color-accent-100) !important;\n}\n\n.eui-u-bg-color-accent {\n background-color: var(--eui-base-color-accent-100) !important;\n color: var(--eui-base-color-accent-100-constrast) !important;\n}\n\n.eui-u-color-info {\n color: var(--eui-base-color-info-100) !important;\n}\n\n.eui-u-bg-color-info {\n background-color: var(--eui-base-color-info-100) !important;\n color: var(--eui-base-color-info-100-constrast) !important;\n}\n\n.eui-u-color-success {\n color: var(--eui-base-color-success-100) !important;\n}\n\n.eui-u-bg-color-success {\n background-color: var(--eui-base-color-success-100) !important;\n color: var(--eui-base-color-success-100-constrast) !important;\n}\n\n.eui-u-color-warning {\n color: var(--eui-base-color-warning-100) !important;\n}\n\n.eui-u-bg-color-warning {\n background-color: var(--eui-base-color-warning-100) !important;\n color: var(--eui-base-color-warning-100-constrast) !important;\n}\n\n.eui-u-color-danger {\n color: var(--eui-base-color-danger-100) !important;\n}\n\n.eui-u-bg-color-danger {\n background-color: var(--eui-base-color-danger-100) !important;\n color: var(--eui-base-color-danger-100-constrast) !important;\n}\n\n.eui-u-font-size-6xl {\n font-size: 2.625rem !important;\n}\n\n.eui-u-font-size-5xl {\n font-size: 2.25rem !important;\n}\n\n.eui-u-font-size-4xl {\n font-size: 2rem !important;\n}\n\n.eui-u-font-size-3xl {\n font-size: 1.75rem !important;\n}\n\n.eui-u-font-size-2xl {\n font-size: 1.5rem !important;\n}\n\n.eui-u-font-size-xl {\n font-size: 1.25rem !important;\n}\n\n.eui-u-font-size-l {\n font-size: 1.125rem !important;\n}\n\n.eui-u-font-size-m {\n font-size: 1rem !important;\n}\n\n.eui-u-font-size-s {\n font-size: 0.875rem !important;\n}\n\n.eui-u-font-size-xs {\n font-size: 0.75rem !important;\n}\n\n.eui-u-font-size-2xs {\n font-size: 0.625rem !important;\n}\n\n.eui-u-font-6xl {\n font: normal normal 400 2.625rem/3.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-5xl {\n font: normal normal 400 2.25rem/2.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-4xl {\n font: normal normal 400 2rem/2.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-3xl {\n font: normal normal 400 1.75rem/2rem arial, sans-serif !important;\n}\n\n.eui-u-font-2xl {\n font: normal normal 400 1.5rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-xl {\n font: normal normal 400 1.25rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-l {\n font: normal normal 400 1.125rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-m {\n font: normal normal 400 1rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-s {\n font: normal normal 400 0.875rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-xs {\n font: normal normal 400 0.75rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-2xs {\n font: normal normal 400 0.625rem/1rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-xl {\n font: normal normal 400 1.25rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-l {\n font: normal normal 400 1.125rem/1.75rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-m {\n font: normal normal 400 1rem/1.5rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-s {\n font: normal normal 400 0.875rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-prolonged-xs {\n font: normal normal 400 0.75rem/1.25rem arial, sans-serif !important;\n}\n\n.eui-u-font-regular {\n font-style: normal !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-bold {\n font-style: normal !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-bold-italic {\n font-style: italic !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-italic {\n font-style: italic !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-light {\n font-style: normal !important;\n font-weight: 300 !important;\n}\n\n.eui-u-text-left {\n text-align: left !important;\n}\n\n.eui-u-text-right {\n text-align: right !important;\n}\n\n.eui-u-text-center {\n text-align: center !important;\n}\n\n.eui-u-text-justify {\n text-align: justify !important;\n}\n\n.eui-u-text-nowrap {\n white-space: nowrap !important;\n}\n\n.eui-u-text-truncate {\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n}\n\n.eui-u-text-overline {\n text-decoration: overline !important;\n}\n\n.eui-u-text-underline {\n text-decoration: underline !important;\n}\n\n.eui-u-text-line-through {\n text-decoration: line-through !important;\n}\n\n.eui-u-text-lowercase {\n text-transform: lowercase !important;\n}\n\n.eui-u-text-uppercase {\n text-transform: uppercase !important;\n}\n\n.eui-u-text-capitalize {\n text-transform: capitalize !important;\n}\n\n.eui-u-text-small {\n font-size: 80%;\n}\n\n.eui-u-text-monospace {\n font-family: var(--eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n\n.eui-u-text-link {\n color: var(--eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n}\n.eui-u-text-link:focus, .eui-u-text-link:hover {\n text-decoration: underline !important;\n}\n.eui-u-text-link:focus {\n outline: 2px solid var(--eui-base-color-accessible-focus);\n outline-offset: 2px;\n -moz-outline-radius: var(--eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n\n.eui-u-text-link-external {\n color: var(--eui-base-color-link) !important;\n cursor: pointer !important;\n position: relative;\n text-decoration: none;\n}\n.eui-u-text-link-external:focus, .eui-u-text-link-external:hover {\n text-decoration: underline !important;\n}\n.eui-u-text-link-external:focus {\n outline: 2px solid var(--eui-base-color-accessible-focus);\n outline-offset: 2px;\n -moz-outline-radius: var(--eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.eui-u-text-link-external::after {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Ctitle%3EExternal Link%3C/title%3E%3Cpath d='M14 2v4H6v36h36v-8h4v12H2V2h12zm32 0v20h-4V8.667l-.201.404-16.97 16.97L22 23.214l16.97-16.97.484-.243H26V2h20z'/%3E%3C/svg%3E\");\n background-color: transparent;\n background-position: bottom;\n background-repeat: no-repeat;\n background-size: 75% 75%;\n content: \"\";\n display: inline-block;\n height: var(--eui-base-spacing-m);\n margin-left: var(--eui-base-spacing-2xs);\n width: var(--eui-base-spacing-m);\n}\n\n.eui-u-text-highlight {\n padding: var(--eui-base-spacing-2xs) !important;\n background-color: var(--eui-base-color-accent-10) !important;\n}\n\n.eui-u-spacing-none {\n min-width: 0 !important;\n width: 0 !important;\n}\n\n.eui-u-spacing-2xs {\n min-width: 0.25rem !important;\n width: 0.25rem !important;\n}\n\n.eui-u-spacing-xs {\n min-width: 0.5rem !important;\n width: 0.5rem !important;\n}\n\n.eui-u-spacing-s {\n min-width: 0.75rem !important;\n width: 0.75rem !important;\n}\n\n.eui-u-spacing-m {\n min-width: 1rem !important;\n width: 1rem !important;\n}\n\n.eui-u-spacing-l {\n min-width: 1.5rem !important;\n width: 1.5rem !important;\n}\n\n.eui-u-spacing-xl {\n min-width: 2rem !important;\n width: 2rem !important;\n}\n\n.eui-u-spacing-2xl {\n min-width: 2.5rem !important;\n width: 2.5rem !important;\n}\n\n.eui-u-spacing-3xl {\n min-width: 3rem !important;\n width: 3rem !important;\n}\n\n.eui-u-spacing-4xl {\n min-width: 4rem !important;\n width: 4rem !important;\n}\n\n.eui-u-pt-none {\n padding-top: 0 !important;\n}\n\n.eui-u-pb-none {\n padding-bottom: 0 !important;\n}\n\n.eui-u-pl-none {\n padding-left: 0 !important;\n}\n\n.eui-u-pr-none {\n padding-right: 0 !important;\n}\n\n.eui-u-p-none {\n padding: 0 !important;\n}\n\n.eui-u-pv-none {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.eui-u-ph-none {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.eui-u-spacing-none {\n min-width: 0 !important;\n width: 0 !important;\n}\n\n.eui-u-pt-2xs {\n padding-top: 0.25rem !important;\n}\n\n.eui-u-pb-2xs {\n padding-bottom: 0.25rem !important;\n}\n\n.eui-u-pl-2xs {\n padding-left: 0.25rem !important;\n}\n\n.eui-u-pr-2xs {\n padding-right: 0.25rem !important;\n}\n\n.eui-u-p-2xs {\n padding: 0.25rem !important;\n}\n\n.eui-u-pv-2xs {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.eui-u-ph-2xs {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.eui-u-spacing-2xs {\n min-width: 0.25rem !important;\n width: 0.25rem !important;\n}\n\n.eui-u-pt-xs {\n padding-top: 0.5rem !important;\n}\n\n.eui-u-pb-xs {\n padding-bottom: 0.5rem !important;\n}\n\n.eui-u-pl-xs {\n padding-left: 0.5rem !important;\n}\n\n.eui-u-pr-xs {\n padding-right: 0.5rem !important;\n}\n\n.eui-u-p-xs {\n padding: 0.5rem !important;\n}\n\n.eui-u-pv-xs {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.eui-u-ph-xs {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.eui-u-spacing-xs {\n min-width: 0.5rem !important;\n width: 0.5rem !important;\n}\n\n.eui-u-pt-s {\n padding-top: 0.75rem !important;\n}\n\n.eui-u-pb-s {\n padding-bottom: 0.75rem !important;\n}\n\n.eui-u-pl-s {\n padding-left: 0.75rem !important;\n}\n\n.eui-u-pr-s {\n padding-right: 0.75rem !important;\n}\n\n.eui-u-p-s {\n padding: 0.75rem !important;\n}\n\n.eui-u-pv-s {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n}\n\n.eui-u-ph-s {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n}\n\n.eui-u-spacing-s {\n min-width: 0.75rem !important;\n width: 0.75rem !important;\n}\n\n.eui-u-pt-m {\n padding-top: 1rem !important;\n}\n\n.eui-u-pb-m {\n padding-bottom: 1rem !important;\n}\n\n.eui-u-pl-m {\n padding-left: 1rem !important;\n}\n\n.eui-u-pr-m {\n padding-right: 1rem !important;\n}\n\n.eui-u-p-m {\n padding: 1rem !important;\n}\n\n.eui-u-pv-m {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.eui-u-ph-m {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.eui-u-spacing-m {\n min-width: 1rem !important;\n width: 1rem !important;\n}\n\n.eui-u-pt-l {\n padding-top: 1.5rem !important;\n}\n\n.eui-u-pb-l {\n padding-bottom: 1.5rem !important;\n}\n\n.eui-u-pl-l {\n padding-left: 1.5rem !important;\n}\n\n.eui-u-pr-l {\n padding-right: 1.5rem !important;\n}\n\n.eui-u-p-l {\n padding: 1.5rem !important;\n}\n\n.eui-u-pv-l {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.eui-u-ph-l {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.eui-u-spacing-l {\n min-width: 1.5rem !important;\n width: 1.5rem !important;\n}\n\n.eui-u-pt-xl {\n padding-top: 2rem !important;\n}\n\n.eui-u-pb-xl {\n padding-bottom: 2rem !important;\n}\n\n.eui-u-pl-xl {\n padding-left: 2rem !important;\n}\n\n.eui-u-pr-xl {\n padding-right: 2rem !important;\n}\n\n.eui-u-p-xl {\n padding: 2rem !important;\n}\n\n.eui-u-pv-xl {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n}\n\n.eui-u-ph-xl {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n}\n\n.eui-u-spacing-xl {\n min-width: 2rem !important;\n width: 2rem !important;\n}\n\n.eui-u-pt-2xl {\n padding-top: 2.5rem !important;\n}\n\n.eui-u-pb-2xl {\n padding-bottom: 2.5rem !important;\n}\n\n.eui-u-pl-2xl {\n padding-left: 2.5rem !important;\n}\n\n.eui-u-pr-2xl {\n padding-right: 2.5rem !important;\n}\n\n.eui-u-p-2xl {\n padding: 2.5rem !important;\n}\n\n.eui-u-pv-2xl {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n}\n\n.eui-u-ph-2xl {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n}\n\n.eui-u-spacing-2xl {\n min-width: 2.5rem !important;\n width: 2.5rem !important;\n}\n\n.eui-u-pt-3xl {\n padding-top: 3rem !important;\n}\n\n.eui-u-pb-3xl {\n padding-bottom: 3rem !important;\n}\n\n.eui-u-pl-3xl {\n padding-left: 3rem !important;\n}\n\n.eui-u-pr-3xl {\n padding-right: 3rem !important;\n}\n\n.eui-u-p-3xl {\n padding: 3rem !important;\n}\n\n.eui-u-pv-3xl {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.eui-u-ph-3xl {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.eui-u-spacing-3xl {\n min-width: 3rem !important;\n width: 3rem !important;\n}\n\n.eui-u-pt-4xl {\n padding-top: 4rem !important;\n}\n\n.eui-u-pb-4xl {\n padding-bottom: 4rem !important;\n}\n\n.eui-u-pl-4xl {\n padding-left: 4rem !important;\n}\n\n.eui-u-pr-4xl {\n padding-right: 4rem !important;\n}\n\n.eui-u-p-4xl {\n padding: 4rem !important;\n}\n\n.eui-u-pv-4xl {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n}\n\n.eui-u-ph-4xl {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n}\n\n.eui-u-spacing-4xl {\n min-width: 4rem !important;\n width: 4rem !important;\n}\n\n.eui-u-mt-none {\n margin-top: 0 !important;\n}\n\n.eui-u-mb-none {\n margin-bottom: 0 !important;\n}\n\n.eui-u-ml-none {\n margin-left: 0 !important;\n}\n\n.eui-u-mr-none {\n margin-right: 0 !important;\n}\n\n.eui-u-m-none {\n margin: 0 !important;\n}\n\n.eui-u-mv-none {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.eui-u-mh-none {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.eui-u-mt-2xs {\n margin-top: 0.25rem !important;\n}\n\n.eui-u-mb-2xs {\n margin-bottom: 0.25rem !important;\n}\n\n.eui-u-ml-2xs {\n margin-left: 0.25rem !important;\n}\n\n.eui-u-mr-2xs {\n margin-right: 0.25rem !important;\n}\n\n.eui-u-m-2xs {\n margin: 0.25rem !important;\n}\n\n.eui-u-mv-2xs {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.eui-u-mh-2xs {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.eui-u-mt-xs {\n margin-top: 0.5rem !important;\n}\n\n.eui-u-mb-xs {\n margin-bottom: 0.5rem !important;\n}\n\n.eui-u-ml-xs {\n margin-left: 0.5rem !important;\n}\n\n.eui-u-mr-xs {\n margin-right: 0.5rem !important;\n}\n\n.eui-u-m-xs {\n margin: 0.5rem !important;\n}\n\n.eui-u-mv-xs {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.eui-u-mh-xs {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.eui-u-mt-s {\n margin-top: 0.75rem !important;\n}\n\n.eui-u-mb-s {\n margin-bottom: 0.75rem !important;\n}\n\n.eui-u-ml-s {\n margin-left: 0.75rem !important;\n}\n\n.eui-u-mr-s {\n margin-right: 0.75rem !important;\n}\n\n.eui-u-m-s {\n margin: 0.75rem !important;\n}\n\n.eui-u-mv-s {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n}\n\n.eui-u-mh-s {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n}\n\n.eui-u-mt-m {\n margin-top: 1rem !important;\n}\n\n.eui-u-mb-m {\n margin-bottom: 1rem !important;\n}\n\n.eui-u-ml-m {\n margin-left: 1rem !important;\n}\n\n.eui-u-mr-m {\n margin-right: 1rem !important;\n}\n\n.eui-u-m-m {\n margin: 1rem !important;\n}\n\n.eui-u-mv-m {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.eui-u-mh-m {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.eui-u-mt-l {\n margin-top: 1.5rem !important;\n}\n\n.eui-u-mb-l {\n margin-bottom: 1.5rem !important;\n}\n\n.eui-u-ml-l {\n margin-left: 1.5rem !important;\n}\n\n.eui-u-mr-l {\n margin-right: 1.5rem !important;\n}\n\n.eui-u-m-l {\n margin: 1.5rem !important;\n}\n\n.eui-u-mv-l {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.eui-u-mh-l {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.eui-u-mt-xl {\n margin-top: 2rem !important;\n}\n\n.eui-u-mb-xl {\n margin-bottom: 2rem !important;\n}\n\n.eui-u-ml-xl {\n margin-left: 2rem !important;\n}\n\n.eui-u-mr-xl {\n margin-right: 2rem !important;\n}\n\n.eui-u-m-xl {\n margin: 2rem !important;\n}\n\n.eui-u-mv-xl {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n}\n\n.eui-u-mh-xl {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n}\n\n.eui-u-mt-2xl {\n margin-top: 2.5rem !important;\n}\n\n.eui-u-mb-2xl {\n margin-bottom: 2.5rem !important;\n}\n\n.eui-u-ml-2xl {\n margin-left: 2.5rem !important;\n}\n\n.eui-u-mr-2xl {\n margin-right: 2.5rem !important;\n}\n\n.eui-u-m-2xl {\n margin: 2.5rem !important;\n}\n\n.eui-u-mv-2xl {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n}\n\n.eui-u-mh-2xl {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n}\n\n.eui-u-mt-3xl {\n margin-top: 3rem !important;\n}\n\n.eui-u-mb-3xl {\n margin-bottom: 3rem !important;\n}\n\n.eui-u-ml-3xl {\n margin-left: 3rem !important;\n}\n\n.eui-u-mr-3xl {\n margin-right: 3rem !important;\n}\n\n.eui-u-m-3xl {\n margin: 3rem !important;\n}\n\n.eui-u-mv-3xl {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.eui-u-mh-3xl {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.eui-u-mt-4xl {\n margin-top: 4rem !important;\n}\n\n.eui-u-mb-4xl {\n margin-bottom: 4rem !important;\n}\n\n.eui-u-ml-4xl {\n margin-left: 4rem !important;\n}\n\n.eui-u-mr-4xl {\n margin-right: 4rem !important;\n}\n\n.eui-u-m-4xl {\n margin: 4rem !important;\n}\n\n.eui-u-mv-4xl {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n}\n\n.eui-u-mh-4xl {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n}\n\n.eui-u-ml-auto {\n margin-left: auto !important;\n}\n\n.eui-u-mr-auto {\n margin-right: auto !important;\n}\n\n.eui-u-mt-auto {\n margin-top: auto !important;\n}\n\n.eui-u-mb-auto {\n margin-bottom: auto !important;\n}\n\n.eui-u-flex {\n align-items: center !important;\n display: flex !important;\n width: 100% !important;\n}\n\n.eui-u-display-flex {\n display: flex !important;\n}\n\n.eui-u-display-inline-flex {\n display: inline-flex !important;\n}\n\n.eui-u-flex-start,\n.eui-u-flex-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.eui-u-flex-end,\n.eui-u-flex-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.eui-u-flex-justify-content-center {\n justify-content: center !important;\n}\n\n.eui-u-flex-justify-content-around {\n justify-content: space-around !important;\n}\n\n.eui-u-flex-between,\n.eui-u-flex-justify-content-between {\n justify-content: space-between !important;\n}\n\n.eui-u-flex-evenly,\n.eui-u-flex-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.eui-u-flex-align-left,\n.eui-u-flex-align-items-start {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-align-center,\n.eui-u-flex-align-items-center {\n align-items: center !important;\n}\n\n.eui-u-flex-align-right,\n.eui-u-flex-align-items-end {\n align-items: flex-end !important;\n}\n\n.eui-u-flex-row {\n flex-direction: row !important;\n}\n\n.eui-u-flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.eui-u-flex-column {\n flex-direction: column !important;\n}\n.eui-u-flex-column .eui-u-flex-align-center,\n.eui-u-flex-column .eui-u-flex-align-items-center {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.eui-u-flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.eui-u-flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.eui-u-flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.eui-u-flex-col {\n flex: 1 0 0% !important;\n}\n\n.eui-u-flex-grow {\n display: initial !important;\n flex-grow: 1 !important;\n}\n\n.eui-u-flex-shrink {\n display: initial !important;\n flex-shrink: 1 !important;\n}\n\n.eui-u-display-hidden {\n display: none !important;\n}\n\n.eui-u-display-visible {\n visibility: visible !important;\n}\n\n.eui-u-display-block {\n display: block !important;\n}\n\n.eui-u-display-inline {\n display: inline !important;\n}\n\n.eui-u-display-inline-block {\n display: inline-block !important;\n}\n\n.eui-u-display-print-only {\n display: none !important;\n}\n\n.eui-u-display-hidden-desktop-down {\n display: initial;\n}\n\n@media screen and (max-width: 995px) {\n .eui-u-display-hidden-desktop-down {\n display: none !important;\n }\n}\n.eui-u-width-auto {\n width: auto !important;\n}\n\n.eui-u-width-100 {\n width: 100% !important;\n}\n\n.eui-u-width-1 {\n max-width: var(--eui-base-spacing-m);\n min-width: var(--eui-base-spacing-m);\n width: var(--eui-base-spacing-m) !important;\n}\n\n.eui-u-width-2 {\n max-width: calc(2 * var(--eui-base-spacing-m));\n min-width: calc(2 * var(--eui-base-spacing-m));\n width: calc(2 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-3 {\n max-width: calc(3 * var(--eui-base-spacing-m));\n min-width: calc(3 * var(--eui-base-spacing-m));\n width: calc(3 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-4 {\n max-width: calc(4 * var(--eui-base-spacing-m));\n min-width: calc(4 * var(--eui-base-spacing-m));\n width: calc(4 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-5 {\n max-width: calc(5 * var(--eui-base-spacing-m));\n min-width: calc(5 * var(--eui-base-spacing-m));\n width: calc(5 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-6 {\n max-width: calc(6 * var(--eui-base-spacing-m));\n min-width: calc(6 * var(--eui-base-spacing-m));\n width: calc(6 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-7 {\n max-width: calc(7 * var(--eui-base-spacing-m));\n min-width: calc(7 * var(--eui-base-spacing-m));\n width: calc(7 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-8 {\n max-width: calc(8 * var(--eui-base-spacing-m));\n min-width: calc(8 * var(--eui-base-spacing-m));\n width: calc(8 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-9 {\n max-width: calc(9 * var(--eui-base-spacing-m));\n min-width: calc(9 * var(--eui-base-spacing-m));\n width: calc(9 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-10 {\n max-width: calc(10 * var(--eui-base-spacing-m));\n min-width: calc(10 * var(--eui-base-spacing-m));\n width: calc(10 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-11 {\n max-width: calc(11 * var(--eui-base-spacing-m));\n min-width: calc(11 * var(--eui-base-spacing-m));\n width: calc(11 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-12 {\n max-width: calc(12 * var(--eui-base-spacing-m));\n min-width: calc(12 * var(--eui-base-spacing-m));\n width: calc(12 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-13 {\n max-width: calc(13 * var(--eui-base-spacing-m));\n min-width: calc(13 * var(--eui-base-spacing-m));\n width: calc(13 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-14 {\n max-width: calc(14 * var(--eui-base-spacing-m));\n min-width: calc(14 * var(--eui-base-spacing-m));\n width: calc(14 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-15 {\n max-width: calc(15 * var(--eui-base-spacing-m));\n min-width: calc(15 * var(--eui-base-spacing-m));\n width: calc(15 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-16 {\n max-width: calc(16 * var(--eui-base-spacing-m));\n min-width: calc(16 * var(--eui-base-spacing-m));\n width: calc(16 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-17 {\n max-width: calc(17 * var(--eui-base-spacing-m));\n min-width: calc(17 * var(--eui-base-spacing-m));\n width: calc(17 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-18 {\n max-width: calc(18 * var(--eui-base-spacing-m));\n min-width: calc(18 * var(--eui-base-spacing-m));\n width: calc(18 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-19 {\n max-width: calc(19 * var(--eui-base-spacing-m));\n min-width: calc(19 * var(--eui-base-spacing-m));\n width: calc(19 * var(--eui-base-spacing-m)) !important;\n}\n\n.eui-u-width-20 {\n max-width: calc(20 * var(--eui-base-spacing-m));\n min-width: calc(20 * var(--eui-base-spacing-m));\n width: calc(20 * var(--eui-base-spacing-m)) !important;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAyLWJhc2UvZnVuY3Rpb25zL191dGlscy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy9fZXVpLWZvbnQtZmFtaWx5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAxLWVjbC9hbGwvZnVsbC1jc3MvZWNsLXJlc2V0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAzLXZhcnMvX3Rva2Vucy52YXJzLWJhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDMtdmFycy9fb3RoZXIudmFycy5zY3NzIiwiMDJiLWJhc2UtdmFycy9fbGF5b3V0LnZhcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDUtYXNzZXRzL2ljb25zLXN2Zy9faWNvbnMtZ2VuZXJpY3Muc2NzcyIsIjA1LW1hdGVyaWFsL2NvbXBpbGVkL19mdWxsLnNjc3MiLCIwNS1tYXRlcmlhbC9vdmVycmlkZXMvX2NhbGVuZGFyLnNjc3MiLCIwNS1tYXRlcmlhbC9vdmVycmlkZXMvX2Nkay1kcmFnLnNjc3MiLCIwNS1tYXRlcmlhbC9vdmVycmlkZXMvX2Nkay1nbG9iYWwtc2Nyb2xsYmxvY2suc2NzcyIsIjAyLWJhc2UvbWl4aW5zL19ldWktc2Nyb2xsYmFycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy91dGlscy9fbWVkaWEuc2NzcyIsIjA1LW1hdGVyaWFsL292ZXJyaWRlcy9fY2RrLW92ZXJsYXktY29udGFpbmVyLnNjc3MiLCIwNS1tYXRlcmlhbC9vdmVycmlkZXMvX2Nkay1vdmVybGF5LXBhbmUuc2NzcyIsIjA2LXNoYXJlZC9fZGVmYXVsdC5zY3NzIiwiMDYtc2hhcmVkL19mbGV4LnNjc3MiLCIwNi1zaGFyZWQvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDItYmFzZS9taXhpbnMvX2V1aS1mb250LnNjc3MiLCIwNi1zaGFyZWQvX2V1aS1pbnB1dC1tYXhsZW5ndGguc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDQtZWxlbWVudHMvX2h0bWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDQtZWxlbWVudHMvX2JvZHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDQtZWxlbWVudHMvX3NoYXJlZC5zY3NzIiwiMDctZWxlbWVudHMvZXVpLXRhYmxlLWRlZmF1bHQvX2V1aS10YWJsZS1kZWZhdWx0LnNjc3MiLCIwOC10aGVtZXMvX21vZHVsZS1jb21wYWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzAyLWJhc2UvbWl4aW5zL3RoZW1pbmcvX2NvbXBhY3QtdmFycy5zY3NzIiwiMTAtbWVkaWEvX2llaW1nZml4LnNjc3MiLCIxMS1leHRyYXMvX2Nvb2tpZS1jb25zZW50LnNjc3MiLCIxMS1leHRyYXMvX3ByZWxvYWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvdG9rZW5zL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvOTktdXRpbGl0aWVzL3Rva2Vucy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy8wMi1iYXNlL21peGlucy9fZXVpLWFjY2Vzc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvMDItYmFzZS9taXhpbnMvX2V1aS1zdmctaWNvbnMtY29udGVudC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvdG9rZW5zL19zcGFjaW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvdG9rZW5zL19wYWRkaW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvdG9rZW5zL19tYXJnaW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvc3R5bGVzLzk5LXV0aWxpdGllcy9vdGhlcnMvX2V1aS11LWZsZXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy1iYXNlL3NyYy9zdHlsZXMvOTktdXRpbGl0aWVzL290aGVycy9fZXVpLXUtZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL3N0eWxlcy85OS11dGlsaXRpZXMvb3RoZXJzL19ldWktdS13aWR0aC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDeENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUNBO0FBQTRFO0VBQUs7RUFBOEI7OztBQUFpQjtFQUFLOzs7QUFBYztFQUFHO0VBQWM7OztBQUFlO0VBQUc7RUFBdUI7RUFBUzs7O0FBQWlCO0VBQUk7RUFBZ0M7OztBQUFjO0VBQUU7OztBQUE2QjtFQUFZO0VBQW1CO0VBQTBCO0VBQXlDOzs7QUFBaUM7RUFBUzs7O0FBQW1CO0VBQWM7RUFBZ0M7OztBQUFjO0VBQU07OztBQUFjO0VBQVE7RUFBYztFQUFjO0VBQWtCOzs7QUFBd0I7RUFBSTs7O0FBQWM7RUFBSTs7O0FBQVU7RUFBSTs7O0FBQWtCO0VBQXNDO0VBQW9CO0VBQWU7RUFBaUI7OztBQUFTO0VBQWE7OztBQUFpQjtFQUFjOzs7QUFBb0I7RUFBZ0Q7OztBQUEwQjtFQUF3SDtFQUFrQjs7O0FBQVU7RUFBNEc7OztBQUE4QjtFQUFTOzs7QUFBMkI7RUFBTztFQUFzQjtFQUFjO0VBQWM7RUFBZTtFQUFVOzs7QUFBbUI7RUFBUzs7O0FBQXdCO0VBQVM7OztBQUFjO0VBQTZCO0VBQXNCOzs7QUFBVTtFQUFrRjs7O0FBQVk7RUFBYztFQUE2Qjs7O0FBQW9CO0VBQXlDOzs7QUFBd0I7RUFBNkI7RUFBMEI7OztBQUFhO0VBQVE7OztBQUFjO0VBQVE7OztBQUFrQjtFQUFTOzs7QUFBYTtFQUFTOzs7QUFBYTtFQUFLO0VBQVM7OztBQ0RoMEQ7RUFJWTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFVSjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJSjtFQUNBO0VBQ0E7RUFHQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQVVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBTUo7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFLQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOzs7QUNoRVI7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQ3BDSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFJQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FDckVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHQTtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFLQTtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUNwQ0o7RUFDSTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUEyQzs7QUFDM0M7QUFBeUM7O0FBQ3pDO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtBQUNBO0FBQWM7RUFDZDtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7OztBQzNxQko7RUFDSTs7QUFHSTtFQUNJOzs7QUNKWjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1I7RUFDSTs7O0FBSUo7RUFDSTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FDNUNSO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUNOQTtFQUNJO0VBQ0EsUUFIc0I7RUFJdEIsT0FKc0I7RUFPbEIsa0JBUHdGOztBQWVoRztFQUVRLGtCQWpCMEM7RUFrQjFDLGVBbEJtSTs7QUFvQm5JO0VBQ0k7O0FBU1o7RUFFUSxrQkFoQ3dGO0VBaUN4Rjs7O0FDWko7RUZYSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQ2JKO0lBQ0k7SUFDQSxRQUhzQjtJQUl0QixPQUpzQjtJQU9sQixrQkFQd0Y7O0VBZWhHO0lBRVEsa0JBakIwQztJQWtCMUMsZUFsQm1JOztFQW9Cbkk7SUFDSTs7RUFTWjtJQUVRLGtCQWhDd0Y7SUFpQ3hGOzs7QUVqQ1o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FGSko7RUFDSTtFQUNBLFFBSHNCO0VBSXRCLE9BSnNCO0VBT2xCLGtCQVB3Rjs7QUFlaEc7RUFFUSxrQkFqQjBDO0VBa0IxQyxlQWxCbUk7O0FBb0JuSTtFQUNJOztBQVNaO0VBRVEsa0JBaEN3RjtFQWlDeEY7O0FBaENSO0VBQ0k7RUFDQSxRQUhzQjtFQUl0QixPQUpzQjtFQU9sQixrQkFQd0Y7O0FBZWhHO0VBRVEsa0JBakIwQztFQWtCMUMsZUFsQm1JOztBQW9Cbkk7RUFDSTs7QUFTWjtFQUVRLGtCQWhDd0Y7RUFpQ3hGOzs7QUdqQ1o7RUFDSTtFQUNBOzs7QUNGSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUNQSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFJSTs7O0FDbkJKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFaEJZSTtFQUNBO0VBQ0E7RUFDQTtFZ0JDQTs7O0FBR0o7QUFBQTtFQ2xCSSxNQUYyQjtFRHVCM0I7OztBQUdKO0FBQUE7RUN4QkksTUFGMkI7RUQ2QjNCOzs7QUFHSjtBQUFBO0VDOUJJLE1BRjJCO0VEbUMzQjs7O0FBR0o7QUFBQTtFQ3BDSSxNQUYyQjtFRHlDM0I7OztBQUdKO0FBQUE7RUMxQ0ksTUFGMkI7RUQrQzNCOzs7QUFHSjtBQUFBO0VDaERJLE1BRjJCO0VEcUQzQjs7O0FBR0o7QUFBQTtFQ3RESSxNQUYyQjtFRDJEM0I7OztBQUdKO0FBQUE7RUM1REksTUFGMkI7RURpRTNCOzs7QUFHSjtBQUFBO0FBQUE7RUNsRUksTUFGMkI7RUR3RTNCOzs7QUFJSjtBQUFBO0VBRUk7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFSTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBRXZHSjtFQUNJO0VBQ0E7O0FBRUE7RUREQSxNQUYyQjtFQ0t2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQ3BCWjtFQUVJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FDUko7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDTEE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7OztBQUlBO0VBR0k7OztBQWNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVNJOzs7QUFRSjtFQUNJOzs7QUFJSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9JOzs7QUFHSjtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUk7OztBQUlSO0FBQUE7QUFBQTtBQUFBO0VBSUk7RXJCbEVBO0VBQ0E7RUFDQTs7O0FxQm9FSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQ2pKSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0FBQUE7QUFBQTtFQUdJOztBQUdKO0FBQUE7RUFFSTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRCS1I7RUFDQTs7QXNCRkk7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7O0FBTUk7RUFDSTs7QUFJUjtFQUNJOztBQUtSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQU1KO0FBQUE7RUFFSTs7QUFLUjtFQUNJOztBQUlKO0VBQ0k7O0FBRUE7QUFBQTtBQUFBO0VBR0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtBQUFBO0VBR0k7OztBQ3pIWjtFQUVJO0VBQ0E7RUFFQTtFQUNBOzs7QUFLSjtFQUVJO0VBQ0E7RUFDQTtFQ2hCQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VEbUJKO0VBQ0E7O0FBR0E7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFNUjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNoREE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFRGtESjtFQUNBOztBQUlJO0VBQ0k7O0FBRUE7RUFDSTs7QUFNUjtFQUNJOztBQUVBO0VBQ0k7O0FBTVI7RUFDSTs7QUFFQTtFQUNJOzs7QUFRaEI7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQzlGQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VEZ0dKO0VBQ0E7O0FBTVk7RUFFSTs7QUFHSjtFQUVJOztBQUtKO0VBQ0k7OztBRXRIcEI7RUFDSTtJQUNJOzs7QUFHUjtFQUVJO0lBQ0k7SUFDQTtJQUNBOzs7QUNWUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNYSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0FBQTRDO0VBQzVDO0FBQW9DO0VBQ3BDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtBQUE0QztFQUM1QztBQUFvQztFQUNwQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0FBQTRDO0VBQzVDO0FBQW9DO0VBQ3BDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLWjtBQUNBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUdSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUdSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7O0FDekdSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJSTtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU5KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTko7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFOSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQ2xDSjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFZQTtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFESjtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBS0o7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBQzNCO0VBQTJCOzs7QUFDM0I7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBQzNCO0VBQTJCO0VBQTZCO0VBQW9DOzs7QUFHNUY7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBQzNCO0VBQTJCOzs7QUFHM0I7RUFBMkI7OztBQUMzQjtFQUEyQjs7O0FBQzNCO0VBQTJCOzs7QUFHM0I7RUFBMkI7OztBQUMzQjtFN0J6Qkk7RUFDQTtFQUNBOzs7QTZCeUJKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBRUk7O0FBR0o7RUN2RUE7RUFDQSxnQkR1RTBDO0VDdEUxQztFQUNBOzs7QUR3RUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VDdEZBO0VBQ0EsZ0JEc0YwQztFQ3JGMUM7RUFDQTs7QUR1RkE7RUV2REE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRmtESjtFQUNJO0VBQ0E7OztBR3ZHQTtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQUZKO0VBQ0k7RUFDQTs7O0FBRko7RUFDSTtFQUNBOzs7QUFGSjtFQUNJO0VBQ0E7OztBQ0ZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQTNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUEzQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBM0JKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQzNCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBckJKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFyQko7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQXJCSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FDbENKO0VBQ0k7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFJSjtBQUFBO0VBRUk7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUlKO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFFSjtBQUFBO0VBRUk7OztBQUlKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7QUFBQTtFQUVJOzs7QUFJUjtFQUNJOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FDM0dKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBekJKSTtFeUJRSjtJQUNJOzs7QUM5QlI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBIiwiZmlsZSI6ImV1aS50ZW1wLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkBmdW5jdGlvbiB2KCR2YXIsICRmYWxsYmFjazogbnVsbCkge1xuICAgIEBpZiAoJGZhbGxiYWNrKSB7XG4gICAgICAgIEByZXR1cm4gdmFyKC0tI3skdmFyfSwgI3skZmFsbGJhY2t9KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHZhcigtLSN7JHZhcn0pO1xuICAgIH1cbn1cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgQGRlYnVnICN7JG1hcH07XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbkBmdW5jdGlvbiB0b1JHQigkY29sb3IpIHtcbiAgICBAcmV0dXJuIFwicmdiKFwiICsgcmVkKCRjb2xvcikgKyBcIiwgXCIgKyBncmVlbigkY29sb3IpICsgXCIsIFwiICsgYmx1ZSgkY29sb3IpKyBcIilcIjtcbn1cbkBmdW5jdGlvbiBnZXRDb250cmFzdCgkY29sb3IpIHtcbiAgICAkY29sb3ItYnJpZ2h0bmVzczogcm91bmQoKHJlZCgkY29sb3IpICogMjk5KSArIChncmVlbigkY29sb3IpICogNTg3KSArIG1hdGguZGl2KChibHVlKCRjb2xvcikgKiAxMTQpLCAxMDAwKSk7XG4gICAgJGxpZ2h0LWNvbG9yOiByb3VuZCgocmVkKCNmZmYpICogMjk5KSArIChncmVlbigjZmZmKSAqIDU4NykgKyBtYXRoLmRpdigoYmx1ZSgjZmZmKSAqIDExNCksIDEwMDApKTtcbiAgICBAaWYgYWJzKCRjb2xvci1icmlnaHRuZXNzKSA8IG1hdGguZGl2KCRsaWdodC1jb2xvciwgMikge1xuICAgICAgICBAcmV0dXJuIHdoaXRlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkZWNsLWNvbG9yLCAnZ3JleS0xMDAnKTtcbiAgICB9XG59XG5AZnVuY3Rpb24gZ2V0Q29sb3IoJHNoYWRlOiBwcmltYXJ5LCAkaHVlOiAxMDApIHtcbiAgICAkc2VsZWN0ZWQtc2hhZGU6IG1hcC1nZXQoJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMsICRzaGFkZSk7XG4gICAgQGlmICgkc2VsZWN0ZWQtc2hhZGUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRzZWxlY3RlZC1zaGFkZSwgJGh1ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBibGFjaztcbiAgICB9XG4gICAgQHJldHVybiAkc2VsZWN0ZWQtY29sb3I7XG59XG5cbi8qKlxuICAgKiBFQ0wgY29sb3IgdmFyaWFudHMgZm9ybXVsYVxuICAgKiBBcHBsaWVzIHRpbnQgb3Igc2hhZGUgb2YgYmFzZSBjb2xvciBwcm92aWRlZFxuICAgKlxuICAgKiBAcGFyYW0gY29sb3I6IGJhc2UgY29sb3IsIGhhcyB2YXJpYW50IG9mIDEwMFxuICAgKiBAcGFyYW0gdmFyaWFudDogbnVtYmVyIGluIHJhbmdlIGJldHdlZW4gMCAtIDIwMFxuICAgKiAgICAgICAgICAgICAgICAgMTAwIC0gbmV1dHJhbCB2YXJpYW50LCBubyBjaGFuZ2VzXG4gICAqICAgICAgICAgICAgICAgICAwIC0gOTk6IGJyaWdodGVucyBiYXNlIGNvbG9yIGJ5IG1peGluZyBpbiB3aGl0ZSBjb2xvciwgdGhlIGxvd2VyLCB0aGUgYnJpZ2h0ZXJcbiAgICogICAgICAgICAgICAgICAgIDk5IC0gMjAwOiBkYXJrZW5zIGJhc2UgY29sb3IgYnkgbWl4aW5nIGluIGJsYWNrIGNvbG9yLCB0aGUgYmlnZ2VyLCB0aGUgZGFya2VyXG4gICAqXG4gICAqIEByZXR1cm4gY29sb3IgdmFyaWFudCBvZiBwcm92aWRlZCBiYXNlIGNvbG9yXG4gICAqXG4gICAqIEBleGFtcGxlc1xuICAgKlxuICAgKiAvLyBwcm92aWRlcyAzMCUgZGFya2VyIHBpbmsgY29sb3JcbiAgICogYmFja2dyb3VuZC1jb2xvcjogZXVpLWNvbG9yLXZhcmlhbnQocGluaywgMTMwKTtcbiAgICpcbiAgICogLy8gcHJvdmlkZXMgOTUlIGxpZ2h0ZXIgcGluayBjb2xvclxuICAgKiBiYWNrZ3JvdW5kLWNvbG9yOiBldWktY29sb3ItdmFyaWFudChwaW5rLCA1KTtcbiAgICovXG5AZnVuY3Rpb24gZXVpLWNvbG9yLXZhcmlhbnQoJGNvbG9yLCAkdmFyaWFudDogMTAwKSB7XG4gICAgQGlmICgkdmFyaWFudCA8IDEwMCkge1xuICAgICAgICBAcmV0dXJuIG1peCgjZmZmZmZmLCAkY29sb3IsICgxMDAgLSAkdmFyaWFudCkgKiAxJSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBtaXgoIzAwMDAwMCwgJGNvbG9yLCAoJHZhcmlhbnQgLSAxMDApICogMSUpO1xuICAgIH1cbn1cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSkge1xuICAgIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICAgICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSB7XG4gICAgICAgICRxdWVyeTogYXBwZW5kKCRxdWVyeSwgMTIpO1xuICAgIH1cbiAgICBAcmV0dXJuICRxdWVyeTtcbn1cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCR2YWx1ZSwgJHZhbHVlICogMCArIDEpO1xufVxuQGZ1bmN0aW9uIHRvLXJlbSgkcHh2YWwpIHtcbiAgICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gICAgfVxuICAgICRiYXNlOiAxNnB4O1xuICAgIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgICB9XG4gICAgQHJldHVybiBtYXRoLmRpdigkcHh2YWwsICRiYXNlKSAqIDFyZW07XG59XG4iLCIvKiogQ29tbW9uIHdlaWdodCBuYW1lIG1hcHBpbmdcbiAgICBAU2VlIHRoZSBPcGVuVHlwZSBzcGVjaWZpY2F0aW9uOlxuICAgIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL3R5cG9ncmFwaHkvb3BlbnR5cGUvc3BlYy9vczIjdXN3ZWlnaHRjbGFzc1xuICAgIFRoZSBudW1lcmljYWwgdmFsdWVzIDEwMCB0byA5MDAgcm91Z2hseSBjb3JyZXNwb25kIHRvIHRoZSBmb2xsb3dpbmcgY29tbW9uIHdlaWdodCBuYW1lczpcbiAgICAxMDAgICAgIFRoaW4gKEhhaXJsaW5lKVxuICAgIDIwMFx0ICAgIEV4dHJhIExpZ2h0IChVbHRyYSBMaWdodClcbiAgICAzMDBcdCAgICBMaWdodFxuICAgIDQwMFx0ICAgIE5vcm1hbFxuICAgIDUwMFx0ICAgIE1lZGl1bVxuICAgIDYwMFx0ICAgIFNlbWkgQm9sZCAoRGVtaSBCb2xkKVxuICAgIDcwMFx0ICAgIEJvbGRcbiAgICA4MDBcdCAgICBFeHRyYSBCb2xkIChVbHRyYSBCb2xkKVxuICAgIDkwMFx0ICAgIEJsYWNrIChIZWF2eSlcbioqL1xuQG1peGluIGV1aS1mb250LWZhbWlseSgpIHtcbiAgICBmb250LWZhbWlseTogdihldWktYmFzZS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiB2KGV1aS1iYXNlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWl4aW4gZXVpLWZvbnQtZmFtaWx5LWxpZ2h0KCkge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuQG1peGluIGV1aS1mb250LWZhbWlseS1ub3JtYWwoKSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWl4aW4gZXVpLWZvbnQtZmFtaWx5LWl0YWxpYygpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBtaXhpbiBldWktZm9udC1mYW1pbHktYm9sZCgpIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtaXhpbiBldWktZm9udC1mYW1pbHktYm9sZC1pdGFsaWMoKSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBldWktZm9udC1mYW1pbHktbW9ub3NwYWNlKCkge1xuICAgIGZvbnQtZmFtaWx5OiB2KGV1aS1iYXNlLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiEgQGVjbC9wcmVzZXQtcmVzZXQgLSAzLjQuMiBCdWlsdCBvbiAyMDIyLTA5LTIxVDEwOjAyOjMyLjU2NVogKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1sey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO2xpbmUtaGVpZ2h0OjEuMTV9bWFpbntkaXNwbGF5OmJsb2NrfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlfXByZXtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjB9YnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0sYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259W3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lcixidXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowfVt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3JpbmcsYnV0dG9uOi1tb3otZm9jdXNyaW5ne291dGxpbmU6MXB4IGRvdHRlZCBCdXR0b25UZXh0fWZpZWxkc2V0e3BhZGRpbmc6LjM1ZW0gLjc1ZW0gLjYyNWVtfWxlZ2VuZHtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OnRhYmxlO21heC13aWR0aDoxMDAlO3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3JtYWx9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31bdHlwZT1jaGVja2JveF0sW3R5cGU9cmFkaW9de2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fVt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1kZXRhaWxze2Rpc3BsYXk6YmxvY2t9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9W2hpZGRlbl17ZGlzcGxheTpub25lfWJvZHl7bWFyZ2luOjA7b3ZlcmZsb3cteDpoaWRkZW59IiwiOnJvb3Qge1xuICAgIC8vIENPTE9SU1xuICAgIEBlYWNoICRjb2xvciwgJHNoYWRlcyBpbiAkZXVpLWJhc2UtdG9rZW5zLWNvbG9ycyB7XG4gICAgICAgIEBlYWNoICRzaGFkZSwgJHZhbHVlIGluICRzaGFkZXMge1xuICAgICAgICAgICAgLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIC8vIG5vdCBpbiBiYXNlXG4gICAgICAgICAgICAvLyAtLWV1aS1iYXNlLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfS1yZ2I6ICN7dG9SR0IoJHZhbHVlKX07XG4gICAgICAgICAgICAvLyAtLWV1aS1iYXNlLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfS1jb250cmFzdDogI3tnZXRDb250cmFzdCgkdmFsdWUpfTtcbiAgICAgICAgICAgIC8vIC0tZXVpLWJhc2UtY29sb3ItI3skY29sb3IgKyAnLScgKyAkc2hhZGV9LWNvbnRyYXN0LXJnYjogI3t0b1JHQihnZXRDb250cmFzdCgkdmFsdWUpKX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBERUZBVUxUUyAxMDBzXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMtMTAwcyB7XG4gICAgICAgIC0tZXVpLWJhc2UtY29sb3ItI3snJyArICRjb2xvcn06ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAvLyBPVEhFUiBDT0xPUlNcbiAgICAtLWV1aS1iYXNlLWNvbG9yLXRleHQ6IHZhcigtLWV1aS1iYXNlLWNvbG9yLWdyZXktMTAwKTtcbiAgICAtLWV1aS1iYXNlLWNvbG9yLWxpbms6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXByaW1hcnktMTAwKTtcbiAgICAtLWV1aS1iYXNlLWNvbG9yLWJsYWNrOiBibGFjaztcbiAgICAtLWV1aS1iYXNlLWNvbG9yLXdoaXRlOiB3aGl0ZTtcbiAgICAtLWV1aS1iYXNlLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTEwMCk7XG5cbiAgICAvLyBGT05ULVNJWkVTXG4gICAgLS1ldWktYmFzZS1mb250LXNpemU6IDE2cHg7XG4gICAgQGVhY2ggJGZvbnQtc2l6ZSwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtZm9udC1zaXplcyB7XG4gICAgICAgIC0tZXVpLWJhc2UtZm9udC1zaXplLSN7JGZvbnQtc2l6ZX06ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAvLyAvLyBGT05UU1xuICAgIC0tZXVpLWJhc2UtZm9udC1mYW1pbHk6ICN7JGV1aS1iYXNlLWZvbnQtZmFtaWx5fTtcbiAgICAtLWV1aS1iYXNlLWZvbnQtZmFtaWx5LWljb25zOiAjeyRldWktYmFzZS1mb250LWZhbWlseS1pY29uc307XG4gICAgLS1ldWktYmFzZS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7JGV1aS1iYXNlLWZvbnQtZmFtaWx5LW1vbm9zcGFjZX07XG5cbiAgICAvLyBJQ09OLVNJWkVTXG4gICAgLS1ldWktYmFzZS1pY29uLXNpemU6IDEuNXJlbTtcbiAgICBAZWFjaCAkaWNvbi1zaXplLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1pY29uLXNpemVzIHtcbiAgICAgICAgLS1ldWktYmFzZS1pY29uLXNpemUtI3skaWNvbi1zaXplfTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRmYW1pbHksICRzaXplcyBpbiAkZXVpLWJhc2UtdG9rZW5zLWZvbnRzIHtcbiAgICAgICAgJGZhbWlseS10eXBlOiAkZmFtaWx5ICsgJy0nO1xuICAgICAgICBAaWYoJGZhbWlseSA9PSB1aSkge1xuICAgICAgICAgICAgJGZhbWlseS10eXBlOiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkZGVmaW5pdGlvbiBpbiAkc2l6ZXMge1xuICAgICAgICAgICAgLS1ldWktYmFzZS1mb250LSN7JGZhbWlseS10eXBlfSN7JHNpemV9OiAjeyRkZWZpbml0aW9ufTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNQQUNJTkdTXG4gICAgQGVhY2ggJHNwYWNpbmcsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNwYWNpbmdzIHtcbiAgICAgICAgLS1ldWktYmFzZS1zcGFjaW5nLSN7JHNwYWNpbmd9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLy8gU0hBRE9XU1xuICAgIEBlYWNoICRzaGFkb3csICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNoYWRvd3Mge1xuICAgICAgICAtLWV1aS1iYXNlLXNoYWRvdy0jeyRzaGFkb3d9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLy8gWi1JTkRFWEVTXG4gICAgQGVhY2ggJGlkeCwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtei1pbmRleGVzIHtcbiAgICAgICAgLS1ldWktYmFzZS16LWluZGV4LSN7JGlkeH06ICN7JHZhbHVlfTtcbiAgICB9XG59XG4iLCI6cm9vdCB7XG4gICAgLS1ldWktYmFzZS1saW5lLWhlaWdodDogMS4xNTtcbiAgICAtLWV1aS1iYXNlLXNjYWxlLWZhY3RvcjogMTtcbiAgICAtLWV1aS1iYXNlLWRpc2FibGVkLW9wYWNpdHk6IDAuNDU7XG5cbiAgICAtLWV1aS1iYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgIC0tZXVpLWJhc2UtYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZXVpLWNvbG9yLWdyZXktbGlnaHRlcik7XG4gICAgLS1ldWktYmFzZS1ib3JkZXItbGlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ldWktY29sb3ItZ3JleS1saWdodCk7XG4gICAgLS1ldWktYmFzZS1ib3JkZXItbGlnaHRlcjogMXB4IHNvbGlkIHZhcigtLWV1aS1jb2xvci1ncmV5LWxpZ2h0ZXIpO1xuICAgIC0tZXVpLWJhc2UtYm9yZGVyLWxpZ2h0ZXN0OiAxcHggc29saWQgdmFyKC0tZXVpLWNvbG9yLWdyZXktbGlnaHRlc3QpO1xuXG4gICAgLy8gQW5pbWF0aW9ucyByZWxhdGVkXG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tbGluZWFyLW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZmFzdC1vdXQtbGluZWFyLWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZWFzZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpOyAgICAvLyBlYXNlXG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWR1cmF0aW9uLWZhc3Q6IDAuMjVzO1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWR1cmF0aW9uLW1lZGl1bTogMC41cztcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbi1zbG93OiAxcztcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlOiA1MDBtcztcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZXVpLWJhc2UtYW5pbWF0aW9uLWR1cmF0aW9uLWJhc2UpO1xuXG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tdHJhbnNpdGlvbi1iYXNlOiBhbGwgMC4ycyAje3ZhcigtLWV1aS1iYXNlLWFuaW1hdGlvbi1saW5lYXItb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uKX07XG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tdHJhbnNpdGlvbi1lYXNlOiBhbGwgMC4ycyAje3ZhcigtLWV1aS1iYXNlLWFuaW1hdGlvbi1lYXNlLXRpbWluZy1mdW5jdGlvbil9O1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLXRyYW5zaXRpb24tZWFzZS1pbi1vdXQ6IGFsbCAwLjJzICN7dmFyKC0tZXVpLWJhc2UtYW5pbWF0aW9uLWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbil9O1xuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLXRyYW5zaXRpb24tZWFzZS1pbi1vdXQtMXM6IGFsbCAxcyAje3ZhcigtLWV1aS1iYXNlLWFuaW1hdGlvbi1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb24pfTtcblxuICAgIC0tZXVpLWJhc2UtYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtLWV1aS1iYXNlLWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyAgICAvLyB0aGlzIHByZXZlbnRzIHRoZSBhbmltYXRpb24gZnJvbSByZXN0YXJ0aW5nXG4gICAgLS1ldWktYmFzZS1hbmltYXRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItcHJpbWFyeS01MCk7ICAvLyAjY2ZjZmRmO1xuXG4gICAgLy8gRXh0cmEgY29sb3JzXG4gICAgLS1ldWktYmFzZS1jb2xvci1hY2Nlc3NpYmxlLWZvY3VzOiB2YXIoLS1ldWktYmFzZS1jb2xvci1hY2NlbnQtMTEwKTsgICAgLy8gQ2FyYm9uIGJsdWU6ICMwZjYyZmU7XG59XG4iLCI6cm9vdCB7XG4gICAgLy8gZVVJIEFQUFxuICAgIC0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLWhlaWdodDogMHB4O1xuICAgIC0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWFjdGl2ZTogOTBweDtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1zaHJpbms6IDBweDtcblxuICAgIC0tZXVpLWFwcC1icmVhZGNydW1iLWhlaWdodC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLWJyZWFkY3J1bWItaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLWJyZWFkY3J1bWItaGVpZ2h0LWFjdGl2ZTogMjBweDtcblxuICAgIC0tZXVpLWFwcC10b3AtbWVzc2FnZS1oZWlnaHQtZGVmYXVsdDogMHB4O1xuICAgIC0tZXVpLWFwcC10b3AtbWVzc2FnZS1oZWlnaHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtdG9wLW1lc3NhZ2UtaGVpZ2h0LWFjdGl2ZTogNDJweDtcblxuICAgIC0tZXVpLWFwcC10b29sYmFyLWhlaWdodC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0LWFjdGl2ZTogNTVweDtcblxuICAgIC0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci13aWR0aDogMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWFjdGl2ZTogMzAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UtZGVmYXVsdDogMHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlOiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UtYWN0aXZlOiA2NHB4O1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0LWRlZmF1bHQ6IDBweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0LWFjdGl2ZTogNDhweDtcbiAgICAtLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0OiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodC1kZWZhdWx0OiAwcHg7XG4gICAgLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodC1hY3RpdmU6IDI0cHg7XG5cbiAgICAvLyBQYWdlIExheW91dFxuICAgIC0tZXVpLXBhZ2UtaGVhZGVyLXdpdGgtc3VidGl0bGUtaGVpZ2h0OiA0cmVtO1xuICAgIC0tZXVpLXBhZ2UtaGVhZGVyLXdpdGhvdXQtc3VidGl0bGUtaGVpZ2h0OiAycmVtO1xuXG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUtczogNTBweDtcbiAgICAtLWV1aS1wYWdlLWNvbHVtbi0tc2l6ZS1tOiAxNTBweDtcbiAgICAtLWV1aS1wYWdlLWNvbHVtbi0tc2l6ZS1sOiAyMDBweDtcbiAgICAtLWV1aS1wYWdlLWNvbHVtbi0tc2l6ZS14bDogMjUwcHg7XG4gICAgLS1ldWktcGFnZS1jb2x1bW4tLXNpemUteHhsOiAzMDBweDtcbiAgICAtLWV1aS1wYWdlLWNvbHVtbi0tc2l6ZS14eHhsOiAzNTBweDtcbiAgICAtLWV1aS1wYWdlLWNvbHVtbi1mb290ZXItaGVpZ2h0OiAzLjVyZW07XG5cbiAgICAvLyBNaXNjXG4gICAgLS1ldWktYm9yZGVyLXN0YXRlLXdpZHRoOiA2cHg7XG5cbiAgICAvLyBDb2xvcnNcbiAgICAvLyBlVUkgQXBwIGVsZW1lbnRzXG4gICAgLS1ldWktYXBwLWhlYWRlci1iZy1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIC0tZXVpLWFwcC1oZWFkZXItdGl0bGUtY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLWdyZXktMTAwKTtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTc1KTtcblxuICAgIC0tZXVpLWFwcC10b29sYmFyLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci13aGl0ZSk7XG4gICAgLS1ldWktYXBwLXRvb2xiYXItYmctY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXByaW1hcnktMTAwKTtcbiAgICAtLWV1aS1hcHAtdG9vbGJhci1ib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1wcmltYXJ5LTI1KTtcblxuICAgIC0tZXVpLWFwcC1zaWRlYmFyLWJnLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTIpO1xuICAgIC0tZXVpLWFwcC1zaWRlYmFyLWJvcmRlci1yaWdodC1jb2xvcjogI2YyZjRmOTtcblxuICAgIC0tZXVpLWFwcC1ib2R5LWJnLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTIpO1xuICAgIC0tZXVpLWFwcC1tYWluLWJnLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci1ncmV5LTIpO1xuXG4gICAgLS1ldWktYXBwLWZvb3Rlci1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZm9udCk7XG4gICAgLS1ldWktYXBwLWZvb3Rlci1iZy1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS0yKTtcbiAgICAtLWV1aS1hcHAtZm9vdGVyLWJvcmRlci10b3AtY29sb3I6ICNlOGViZjE7XG59XG5cbi54cywgLnNtIHtcbiAgICAtLWV1aS1hcHAtaGVhZGVyLWhlaWdodDogMHB4O1xufVxuIiwiLmV1aS1pY29uLXN2ZyB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSBzY2FsZVkoMSkgcm90YXRlWigwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBlYWNoICRzaXplLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1pY29uLXNpemVzIHtcbiAgICAuZXVpLWljb24tc3ZnLS1zaXplLSN7JHNpemV9IHtcbiAgICAgICAgaGVpZ2h0OiAjeyR2YWx1ZX07XG4gICAgICAgIHdpZHRoOiAjeyR2YWx1ZX07XG4gICAgfTtcbn1cbkBlYWNoICRjb2xvciwgJHNoYWRlcyBpbiAkZXVpLWJhc2UtdG9rZW5zLWNvbG9ycyB7XG4gICAgQGVhY2ggJHNoYWRlLCAkdmFsdWUgaW4gJHNoYWRlcyB7XG4gICAgICAgIC5ldWktaWNvbi1zdmctLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfSB7XG4gICAgICAgICAgICBjb2xvcjogI3skdmFsdWV9O1xuICAgICAgICAgICAgZmlsbDogI3skdmFsdWV9O1xuICAgICAgICB9O1xuICAgIH1cbn1cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtY29sb3JzLTEwMHMge1xuICAgIC5ldWktaWNvbi1zdmctLWNvbG9yLSN7JycgKyAkY29sb3J9IHtcbiAgICAgICAgY29sb3I6ICN7JHZhbHVlfTtcbiAgICAgICAgZmlsbDogI3skdmFsdWV9O1xuICAgIH07XG59XG5cbi5ldWktaWNvbi1zdmctLWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZmlsbDogd2hpdGU7XG59XG5cbi5ldWktaWNvbi1zdmctLWNvbG9yLWJsYWNrIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7XG59XG4iLCIubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLm1hdC1yaXBwbGU6bm90KDplbXB0eSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7XG4gIH1cbiAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNkay12aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgfVxuICBbZGlyPXJ0bF0gLmNkay12aXN1YWxseS1oaWRkZW4ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktY29udGFpbmVyLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICB9XG4gIC5jZGstb3ZlcmxheS1jb250YWluZXI6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktcGFuZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5cbiAgLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMik7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMW1zIGxpbmVhciwgb3BhY2l0eSAxbXMgbGluZWFyO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Atbm9vcC1hbmltYXRpb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuXG4gIC5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplIHtcbiAgICByZXNpemU6IG5vbmU7XG4gIH1cblxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nIHtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94IHtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IHsgLyohKi8gfVxuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCB7IC8qISovIH1cbiAgLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogdmFyKC0tbWF0LWZvY3VzLWluZGljYXRvci1kaXNwbGF5LCBub25lKTtcbiAgICBib3JkZXI6IHZhcigtLW1hdC1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoLCAzcHgpIHZhcigtLW1hdC1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXN0eWxlLCBzb2xpZCkgdmFyKC0tbWF0LWZvY3VzLWluZGljYXRvci1ib3JkZXItY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tYXQtZm9jdXMtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMsIDRweCk7XG4gIH1cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6Zm9jdXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUge1xuICAgIC0tbWF0LWZvY3VzLWluZGljYXRvci1kaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogdmFyKC0tbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3ItZGlzcGxheSwgbm9uZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1tYXQtbWRjLWZvY3VzLWluZGljYXRvci1ib3JkZXItd2lkdGgsIDNweCkgdmFyKC0tbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXN0eWxlLCBzb2xpZCkgdmFyKC0tbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cywgNHB4KTtcbiAgfVxuICAubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3I6Zm9jdXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUge1xuICAgIC0tbWF0LW1kYy1mb2N1cy1pbmRpY2F0b3ItZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cblxuICAubWF0LW1kYy1vcHRpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xuICB9XG4gIC5tYXQtbWRjLW9wdGlvbjpob3Zlcjpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKSwgLm1hdC1tZGMtb3B0aW9uOmZvY3VzOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLCAubWF0LW1kYy1vcHRpb24ubWF0LW1kYy1vcHRpb24tYWN0aXZlLCAubWF0LW1kYy1vcHRpb24ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tYXQtbWRjLW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1tZGMtb3B0aW9uLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwNDQ5NCk7XG4gIH1cblxuICAubWF0LWFjY2VudCAubWF0LW1kYy1vcHRpb24ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICNmZmZjZjQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtbWRjLW9wdGlvbi5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjZGEyMTMxKTtcbiAgfVxuXG4gIC5tYXQtbWRjLW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgfVxuICAubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmFmYWZhO1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjYjBiMGIwO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA0NDk0O1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmNmNDtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogI2RhMjEzMTtcbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjBiMGIwO1xuICB9XG5cbiAgLm1hdC1hcHAtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXowLCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16MCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejEsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoxIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejIsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoyIHtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejMsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXozIHtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejQsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXo0IHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXo1LCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16NSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA1cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16NiwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejYge1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXo3LCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16NyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA3cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejgsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXo4IHtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16OSwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejkge1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOXB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTZweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxMCwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejEwIHtcbiAgICBib3gtc2hhZG93OiAwcHggNnB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDEwcHggMTRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDRweCAxOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejExLCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16MTEge1xuICAgIGJveC1zaGFkb3c6IDBweCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTFweCAxNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNHB4IDIwcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16MTIsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoxMiB7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxMywgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejEzIHtcbiAgICBib3gtc2hhZG93OiAwcHggN3B4IDhweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDEzcHggMTlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDVweCAyNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejE0LCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16MTQge1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggOXB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTRweCAyMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDI2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16MTUsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoxNSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNXB4IDIycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMjhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxNiwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejE2IHtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxNywgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejE3IHtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxN3B4IDI2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMzJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxOCwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejE4IHtcbiAgICBib3gtc2hhZG93OiAwcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxOHB4IDI4cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA3cHggMzRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoxOSwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejE5IHtcbiAgICBib3gtc2hhZG93OiAwcHggOXB4IDEycHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxOXB4IDI5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA3cHggMzZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoyMCwgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejIwIHtcbiAgICBib3gtc2hhZG93OiAwcHggMTBweCAxM3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjBweCAzMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOHB4IDM4cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16MjEsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoyMSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIxcHggMzNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCA0MHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejIyLCAubWF0LW1kYy1lbGV2YXRpb24tc3BlY2lmaWMubWF0LWVsZXZhdGlvbi16MjIge1xuICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDE0cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMnB4IDM1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggNDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXoyMywgLm1hdC1tZGMtZWxldmF0aW9uLXNwZWNpZmljLm1hdC1lbGV2YXRpb24tejIzIHtcbiAgICBib3gtc2hhZG93OiAwcHggMTFweCAxNHB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjNweCAzNnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16MjQsIC5tYXQtbWRjLWVsZXZhdGlvbi1zcGVjaWZpYy5tYXQtZWxldmF0aW9uLXoyNCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gICAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIsXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LFxuICAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgNjgsIDE0OCwgMC4yKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDksIDE3MSwgMCwgMC4yKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNjgsIDE0OCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbiAgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCA2OCwgMTQ4LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhOGRhYjU7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDZhMzVlO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NDk0O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA2OCwgMTQ4LCAwLjQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggd2hpdGU7XG4gIH1cblxuICAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksXG4gIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDY4LCAxNDgsIDAuMyk7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDY4LCAxNDgsIDAuMyk7XG4gICAgfVxuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUyLCAyNDQsIDAuMik7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDksIDE3MSwgMCwgMC4yKTtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1MiwgMjQ0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjU1LCAyNTIsIDI0NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKTtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhOGRhYjU7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICM0NmEzNWU7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZjZjQ7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTIsIDI0NCwgMC40KTtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICM5OTk5OTk7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTIsIDI0NCwgMC4zKTtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXIgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTIsIDI0NCwgMC4zKTtcbiAgICB9XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjE4LCAzMywgNDksIDAuMik7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjE4LCAzMywgNDksIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSk7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDIxOCwgMzMsIDQ5LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYThkYWI1O1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICM0NmEzNWU7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEyMTMxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE4LCAzMywgNDksIDAuNCk7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggd2hpdGU7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTgsIDMzLCA0OSwgMC4zKTtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxOCwgMzMsIDQ5LCAwLjMpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBib3gtc2hhZG93OiAwcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMDQ0OTQ7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LWFjY2VudCB7XG4gICAgY29sb3I6ICNmZmZjZjQ7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm4ge1xuICAgIGNvbG9yOiAjZGEyMTMxO1xuICB9XG5cbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LWlubmVyW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWNvbnRyb2xzIC5tYXQtbWRjLWljb24tYnV0dG9uLm1hdC1tZGMtYnV0dG9uLWJhc2Uge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gIH1cbiAgLm1hdC1jYWxlbmRhci1jb250cm9scyAubWF0LW1kYy1pY29uLWJ1dHRvbi5tYXQtbWRjLWJ1dHRvbi1iYXNlIC5tZGMtaWNvbi1idXR0b25fX2ZvY3VzLXJpbmcge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICB9XG4gIC5tYXQtY2FsZW5kYXItY29udHJvbHMgLm1hdC1tZGMtaWNvbi1idXR0b24ubWF0LW1kYy1idXR0b24tYmFzZS5tZGMtaWNvbi1idXR0b24tLXJlZHVjZWQtc2l6ZSAubWRjLWljb24tYnV0dG9uX19yaXBwbGUge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIH1cbiAgLm1hdC1jYWxlbmRhci1jb250cm9scyAubWF0LW1kYy1pY29uLWJ1dHRvbi5tYXQtbWRjLWJ1dHRvbi1iYXNlLm1kYy1pY29uLWJ1dHRvbi0tcmVkdWNlZC1zaXplIC5tZGMtaWNvbi1idXR0b25fX2ZvY3VzLXJpbmcge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICB9XG4gIC5tYXQtY2FsZW5kYXItY29udHJvbHMgLm1hdC1tZGMtaWNvbi1idXR0b24ubWF0LW1kYy1idXR0b24tYmFzZSAubWRjLWljb24tYnV0dG9uX190b3VjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICAvKiBAbm9mbGlwICovIC8qcnRsOmlnbm9yZSovXG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5tYXQtY2FsZW5kYXItY29udHJvbHMgLm1hdC1tZGMtaWNvbi1idXR0b24ubWF0LW1kYy1idXR0b24tYmFzZSAubWF0LW1kYy1idXR0b24tdG91Y2gtdGFyZ2V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1kYy1tZW51LXN1cmZhY2Uge1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgfVxuICAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuNTQpKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19vdmVybGluZS10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaGludC1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWxpc3QtaXRlbV9fc3RhcnQsXG4gIC5tZGMtbGlzdC1pdGVtLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1saXN0LWl0ZW1fX3N0YXJ0LFxuICAubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtbGlzdC1pdGVtX19lbmQge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1pY29uLW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW1fX2VuZCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX3N0YXJ0LFxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX2NvbnRlbnQsXG4gIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICBvcGFjaXR5OiAwLjM4O1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIH1cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgfVxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX292ZXJsaW5lLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIH1cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtbGlzdC1pdGVtX19zdGFydCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgfVxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtbGlzdC1pdGVtX19lbmQge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIH1cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctbWV0YSAubWRjLWxpc3QtaXRlbV9fZW5kIHtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQsXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDA0NDk0KTtcbiAgfVxuICAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1saXN0LWl0ZW1fX3N0YXJ0LFxuICAubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtbGlzdC1pdGVtX19zdGFydCB7XG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDA0NDk0KTtcbiAgfVxuXG4gIC5tZGMtZGVwcmVjYXRlZC1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLm1kYy1saXN0LWRpdmlkZXI6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuICAubWRjLWxpc3QtZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuIiwiLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1zaXplOiBzbWFsbDsgICAvLyBjaG9yZShldWktZGF0ZS1yYW5nZS1zZWxlY3Rvcik6IGRlcHJlY2F0ZXMvcmVtb3ZlcyB1bnVzZWQgSW5wdXRzIC0gQlJFQUtJTkcgQ0hBTkdFIC0gRVVJLTY3ODFcblxuICAgICYubWF0LWNhbGVuZGFyLXllYXIge1xuICAgICAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE1BVEVSSUFMIERyYWcgJiBEcm9wIG92ZXJyaWRlc1xuLmNkay1kcmFnLWhhbmRsZSB7XG4gICAgY3Vyc29yOiBtb3ZlICFpbXBvcnRhbnQ7XG59XG5cbi5jZGstZHJvcC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgICY6bm90KC5jZGstZHJvcC1saXN0LWRpc2FibGVkKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHYoZXVpLWJhc2Utc3BhY2luZy14bCk7XG4gICAgfVxufVxuXG4vLyBBbmltYXRlIGl0ZW1zIGFzIHRoZXkncmUgYmVpbmcgc29ydGVkXG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuY2RrLWRyYWcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLy8gQW5pbWF0ZSBhbiBpdGVtIHRoYXQgaGFzIGJlZW4gZHJvcHBlZFxuLmNkay1kcmFnLWFuaW1hdGluZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4vLyBHcmFiYmVkIGVsZW1lbnRcbi5jZGstZHJhZy1wcmV2aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgIC8vIHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiBncmFiICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogdGFibGU7ICAgICAvLyB0cmljayB0byBnZXQgdGhlIGZ1bGwgcm93IHdpZHRoXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jZGstZHJhZy1kcmFnZ2luZyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAwLjM1O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IDJweCBkYXNoZWQgdihldWktYmFzZS1jb2xvci1ncmV5LTM1KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG59XG4iLCIvLyBEaXNhYmxlIGdsb2JhbCBzY3JvbGxiYXJzICh1c2VkIGluIGZ1bGwgc2NyZWVuIGV1aS1kaWFsb2cgZm9yIGV4YW1wbGUpXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7ICAgICAvLyBNYXRlcmlhbCBkZWZhdWx0OiBzY3JvbGxcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBldWktc2Nyb2xsYmFycztcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5AaW5jbHVkZSBtZWRpYSgkZXVpLWJrcC1tb2JpbGUpIHtcbiAgICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGV1aS1zY3JvbGxiYXJzO1xuICAgIH1cbn1cbiIsIkBtaXhpbiBldWktc2Nyb2xsYmFycyggJHNpemU6IDhweCwgJGZvcmVncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS0yMCksICRiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWdyZXktMTApLCAkYm9yZGVyLXJhZGl1czogNXJlbSwgJHN0YXRlOiBhY3RpdmUgKSB7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6ICRzaXplOyAgICAgIC8vIGhvcml6b250YWwgc2Nyb2xsXG4gICAgICAgIHdpZHRoOiAkc2l6ZTsgICAgICAgLy8gdmVydGljYWwgc2Nyb2xsXG4gICAgICAgIC8vIHotaW5kZXg6IHYoZXVpLWJhc2Utei1pbmRleC1oaWdobGlnaHRlZCk7ICAgICAgICAvLyBzaG91bGQgYmUgd2hlbiBpbiBlZGl0aW9uIG1vZGVcbiAgICAgICAgQGlmICgkc3RhdGUgPT0gYWN0aXZlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgdGhlIHNjcm9sbGluZyBiYXJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIEBpZiAoJHN0YXRlID09IGFjdGl2ZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgdGhlIHNjcm9sbCBjb250YWluZXJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIEBpZiAoJHN0YXRlID09IGFjdGl2ZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIGV1aS1zY3JvbGxiYXJzLWluYWN0aXZlKCRzaXplOiA4cHgpIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6ICRzaXplOyAgICAgIC8vIGhvcml6b250YWwgc2Nyb2xsXG4gICAgICAgIHdpZHRoOiAkc2l6ZTsgICAgICAgLy8gdmVydGljYWwgc2Nyb2xsXG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbiIsIiRkZWZhdWx0LWZlYXR1cmU6IFwibWluLXdpZHRoXCI7XG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMpIHtcbiAgICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAgICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgICAgICB9XG4gICAgICAgICRpOiAxO1xuICAgICAgICBAd2hpbGUgJGkgPD0kbG9vcC10byB7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcbiAgICAgICAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRpOiAkaSsyO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiB2KGV1aS1iYXNlLXotaW5kZXgtY2RrLW92ZXJsYXktY29udGFpbmVyKTsgICAvLyBNRDogMTAwMFxuXG4gICAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgICAgICBtaW4taGVpZ2h0OiB2KGV1aS1iYXNlLXNwYWNpbmctbCk7XG4gICAgICAgIEBpbmNsdWRlIGV1aS1zY3JvbGxiYXJzO1xuICAgIH1cblxuICAgIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZXVpLXNjcm9sbGJhcnM7XG4gICAgfVxufVxuIiwiLmNkay1vdmVybGF5LXBhbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIHotaW5kZXg6IHYoZXVpLWJhc2Utei1pbmRleC1jZGstb3ZlcmxheS1wYW5lKTsgIC8vIER5bmFtaWNhbGx5IGNoYW5nZXMgYmFzZWQgb24gQ0RLIGNvbnRleHRcbn1cbiIsInRhYmxlIHtcbiAgICBib3JkZXI6IDAgdHJhbnNwYXJlbnQ7XG59XG5cbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDA7XG59XG4iLCIvLyBUT0RPIHYxNSByZW1vdmUgLyByZXBsYWNlIGluIHNob3djemFzZVxuXG4uZmxleC1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gdiB2IHYgIElFMTEgRklYRVMgLT4gVE8gQkUgREVQUkVDQVRFRCAgdiB2IHZcbi8vIEZsZXhib3ggLyBCb290c3RyYXAgb2J2aW91cyBvdmVycmlkZXMgZm9yIElFL1ZlbmRvcnNcbi5kLWZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi8vIExpa2UgLmNvbCBkZWZpbml0aW9uIHdpdGggSUUgZml4XG4udXgtY29sIHtcbiAgICAvLyBBIHByZWZlcnJlZCBzaXplIG9mIDAgbXVzdCBoYXZlIGEgdW5pdCB0byBhdm9pZCBiZWluZyBpbnRlcnByZXRlZCBhcyBhIGZsZXhpYmlsaXR5LlxuICAgIC8vIERlZmF1bHRzIHRvIDAlIHdoZW4gb21pdHRlZC5cbiAgICAvLyBTb3VyY2U6IE1ETiAmIE1TRE5cbiAgICBmbGV4OiAxIDAgYXV0bztcbn1cbiIsIi8vIFRPRE8gdjE1IHRyYW5zZmVyIHRvIHN0eWxlcyBiYXNlID9cblxuLy8gSEVBRElOR1NcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNixcbi5oNyxcbi5oOCxcbi5oOSB7XG4gICAgQGluY2x1ZGUgZXVpLWZvbnQtZmFtaWx5KCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmgxLFxuLmgxIHtcbiAgICBAaW5jbHVkZSBldWktZm9udCg0eGwsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbmgyLFxuLmgyIHtcbiAgICBAaW5jbHVkZSBldWktZm9udCgzeGwsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbmgzLFxuLmgzIHtcbiAgICBAaW5jbHVkZSBldWktZm9udCgyeGwsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbmg0LFxuLmg0IHtcbiAgICBAaW5jbHVkZSBldWktZm9udCh4bCwgdWkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcbn1cblxuaDUsXG4uaDUge1xuICAgIEBpbmNsdWRlIGV1aS1mb250KGwsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbmg2LFxuLmg2IHtcbiAgICBAaW5jbHVkZSBldWktZm9udChtLCB1aSk7XG4gICAgbGluZS1oZWlnaHQ6IHYoZXVpLWJhc2UtbGluZS1oZWlnaHQpO1xufVxuXG4uaDcsXG4uc21hbGwge1xuICAgIEBpbmNsdWRlIGV1aS1mb250KHMsIHVpKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktYmFzZS1saW5lLWhlaWdodCk7XG59XG5cbi5oOCxcbi5zbWFsbGVyIHtcbiAgICBAaW5jbHVkZSBldWktZm9udCh4cywgdWkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLmg5LFxuLnNtYWxsZXN0LFxuLnRpbnkge1xuICAgIEBpbmNsdWRlIGV1aS1mb250KDJ4cywgdWkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcbn1cblxuXG5hLFxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWxpbmspO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICAvLyBUT0RPOiB1bmRlcmxpbmUgZG90dGVkIGlzIHRoZSBkZWZhdWx0IGFuZCByZWNvbW1lbmRlZCB1c2FnZVxufVxuXG4ubGFiZWwsIGFiYnIsIGJsb2NrcXVvdGUsIGRlbCwgbGFiZWwsIG1hcmssIHAge1xuICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUpO1xufVxuIiwiQG1peGluIGV1aS1mb250KCRzaXplOiBtLCAkZmFtaWx5OiB1aSkge1xuICAgICRzZWxlY3RlZC1mYW1pbHk6IG1hcC1nZXQoJGV1aS1iYXNlLXRva2Vucy1mb250cywgJGZhbWlseSk7XG4gICAgJHNlbGVjdGVkLWZvbnQtZGVmaW5pdGlvbjogbWFwLWdldCgkc2VsZWN0ZWQtZmFtaWx5LCAkc2l6ZSk7XG5cbiAgICBmb250OiAkc2VsZWN0ZWQtZm9udC1kZWZpbml0aW9uO1xufVxuIiwiLy8gZVVJIDEzKyBvbmx5XG4uZXVpLWlucHV0LW1heGxlbmd0aC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuZXVpLWlucHV0LW1heGxlbmd0aCB7XG4gICAgICAgIEBpbmNsdWRlIGV1aS1mb250KHhzLCB1aSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS0xMCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItZ3JleS01MCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHYoZXVpLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgcGFkZGluZzogMCB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogY2FsYygtMSAqICN7dihldWktYmFzZS1zcGFjaW5nLXhzKX0pO1xuICAgICAgICB0b3A6IGNhbGMoLTEgKiAje3YoZXVpLWJhc2Utc3BhY2luZy14cyl9KTtcbiAgICAgICAgei1pbmRleDogdihldWktYmFzZS16LWluZGV4LWlucHV0LW1heGxlbmd0aCk7XG5cbiAgICAgICAgJi0taW52YWxpZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWRhbmdlci0xMDApO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWRhbmdlci0xMDApO1xuICAgICAgICAgICAgY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiaHRtbCB7XG4gICAgLy8gRXhwb3NlZCBDU1MgdmFyc1xuICAgIC0tZXVpLWh0bWwtZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpO1xuICAgIC0tZXVpLWh0bWwtbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IHYoZXVpLWh0bWwtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdihldWktaHRtbC1saW5lLWhlaWdodCk7XG59XG4iLCJib2R5IHtcbiAgICAvLyBFeHBvc2VkIENTUyB2YXJzXG4gICAgLS1ldWktYm9keS1iZy1jb2xvcjogdmFyKC0tZXVpLWFwcC1ib2R5LWJnLWNvbG9yKTtcbiAgICAtLWV1aS1ib2R5LWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvcik7XG4gICAgLS1ldWktYm9keS1mb250LWZhbWlseTogdmFyKC0tZXVpLWJhc2UtZm9udC1mYW1pbHkpO1xuICAgIC0tZXVpLWJvZHktZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpO1xuICAgIC0tZXVpLWJvZHktbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJvZHktYmctY29sb3IpO1xuICAgIGNvbG9yOiB2KGV1aS1ib2R5LWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdihldWktYm9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgZm9udC1zaXplOiB2KGV1aS1ib2R5LWZvbnQtc2l6ZSk7XG4gICAgLW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiB2KGV1aS1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuIiwiLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4vL1xuLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuLy8gc29tZSBjYXNlcy4gU2VlIGh0dHBzOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi8uXG4vLyBFdmVudHVhbGx5IEB2aWV3cG9ydCB3aWxsIHJlcGxhY2UgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+LlxuLy9cbi8vIEhvd2V2ZXIsIGBkZXZpY2Utd2lkdGhgIGlzIGJyb2tlbiBvbiBJRSAxMCBvbiBXaW5kb3dzIChQaG9uZSkgOCxcbi8vIChzZWUgaHR0cHM6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwNDk3KVxuLy8gYW5kIHRoZSBmaXggZm9yIHRoYXQgaW52b2x2ZXMgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnRcbi8vIGFuZCBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUy5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbkBhdC1yb290IHtcbiAgICBALW1zLXZpZXdwb3J0IHtcbiAgICAgICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQk9YLVNJWklOR1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94LXNpemluZzpcbiAqIGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZVxuICovXG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICAgICYsXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG4vL1xuLy8gSW4gcGFydGljdWxhciwgdW5saWtlIG1vc3Qgb3RoZXIgYnJvd3NlcnMsIElFMTErRWRnZSBvbiBXaW5kb3dzIDEwIG9uIHRvdWNoIGRldmljZXMgYW5kIElFIE1vYmlsZSAxMC0xMVxuLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjbGljayBkZWxheSB3aGVuIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCI+YCBpcyBwcmVzZW50LlxuLy8gSG93ZXZlciwgdGhleSBETyBzdXBwb3J0IHJlbW92aW5nIHRoZSBjbGljayBkZWxheSB2aWEgYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uYC5cbi8vIFNlZTpcbi8vICogaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2NvbnRlbnQvcmVib290LyNjbGljay1kZWxheS1vcHRpbWl6YXRpb24tZm9yLXRvdWNoXG4vLyAqIGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4vLyAqIGh0dHBzOi8vcGF0cmlja2hsYXVrZS5naXRodWIuaW8vdG91Y2gvdGVzdHMvcmVzdWx0cy8jc3VwcHJlc3NpbmctMzAwbXMtZGVsYXlcblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4vLyBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4vLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbi8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxucCxcbmxhYmVsLFxuLmxhYmVsLFxuYmxvY2txdW90ZSxcbmFiYnIsXG5tYXJrLFxuZGVsIHtcbiAgICBmb250LXNpemU6IHYoZXVpLWJhc2UtZm9udC1zaXplKTtcbn1cblxuZW0ge1xuICAgIC8vZm9udC1mYW1pbHk6IHYoZXVpLWZvbnQtZmFtaWx5LWl0YWxpYyk7IC8vIGRvIE5PVCB1c2UgbWl4aW4gaGVyZSFcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbm9wdGdyb3VwLFxuc3Ryb25nLFxuYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmIGksXG4gICAgJiBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG59XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LXNpemU6IHYoZXVpLWJhc2UtZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBldWktZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG5jb2RlIHtcbiAgICBjb2xvcjogI2NjMzY3YjsgICAgIC8vIFdDQUcyIEFBIGNvbnRyYXN0IHJhdGlvIGNvbXBsaWFudDogNC41OVxuICAgIGZvbnQtc2l6ZTogOTUlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG5rYmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS03NSk7ICAgIC8vIFdDQUcyIEFBIGNvbXBsaWFudFxuICAgIGJvcmRlci1yYWRpdXM6IHYoZXVpLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUtcyk7XG4gICAgcGFkZGluZzogMXB4IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpO1xufVxuXG5wcmUge1xuICAgIGNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDg3LjUlO1xuICAgIG1hcmdpbi1ib3R0b206IHYoZXVpLWJhc2Utc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmcteHMpIHYoZXVpLWJhc2Utc3BhY2luZy1tKTtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLWFjY2VudC0yNSk7XG4gICAgcGFkZGluZzogdihldWktYmFzZS1zcGFjaW5nLTJ4cyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG50YWJsZS5ldWktdGFibGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1mb250KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gT3ZlcmFsbCBzZXR0aW5ncyAoZGVmYXVsdClcbiAgICB0aGVhZCA+IHRyID4gdGgsXG4gICAgdGJvZHkgPiB0ciA+IHRkLFxuICAgIHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgdHIgPiB0aCxcbiAgICB0ciA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogdihldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItZ3JleS0xMCk7XG4gICAgICAgICAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTc1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdihldWktYmFzZS1mb250LXNpemUpO1xuICAgICAgICAgICAgcGFkZGluZzogdihldWktYmFzZS1zcGFjaW5nLW0pIHYoZXVpLWJhc2Utc3BhY2luZy1zKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBldWktZm9udC1mYW1pbHktYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS01KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdHJpcGVkICYgaG92ZXJlZCB0YWJsZXMgYnkgZGVmYXVsdCAoVVgpXG4gICAgdGJvZHkge1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7ICAvLyBvcHRpb25hbCAtIGVuYWJsZSBpT1MgbW9tZW50dW0gc2Nyb2xsaW5nXG5cbiAgICAgICAgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLXdoaXRlKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1ncmV5LTUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2KGV1aS1iYXNlLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItZ3JleS0yMCk7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG5cbiAgICAvLyBDb21wYWN0IHRhYmxlXG4gICAgJi0tY29tcGFjdCB7XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmcteHMpIHYoZXVpLWJhc2Utc3BhY2luZy1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyID4gdGQge1xuICAgICAgICAgICAgcGFkZGluZzogdihldWktYmFzZS1zcGFjaW5nLTJ4cykgdihldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB0YWJsZVxuICAgICYtLXJlc3BvbnNpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi0tYm9yZGVyZWQge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvcmRlcmVkIHRhYmxlXG4gICAgJi0tYm9yZGVyZWQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdihldWktYmFzZS1jb2xvci1ncmV5LTIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNoYWRvd2VkIHRhYmxlXG4gICAgJi0tc2hhZG93ZWQge1xuICAgICAgICBib3gtc2hhZG93OiB2KGV1aS1iYXNlLWJhc2Utc2hhZG93LTEpO1xuICAgIH1cblxuICAgIC8vIE5vV3JhcCB0YWJsZSBjb250ZW50IChhbHNvIGRpc2FibGVzIGVsbGlwc2lzKVxuICAgICYtLW5vd3JhcCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2VudGVyZWQgdGFibGVcbiAgICAmLS1jZW50ZXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gTWlkZGxlIGFsaWduZWQgY2VsbHMgY29udGVudFxuICAgICYtLWFsaWduLW1pZGRsZSB7XG4gICAgICAgIHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLy8gUkVTUE9OU0lWRSBMQVlPVVQgKFBST1RPKVxuLy8gQGluY2x1ZGUgbWVkaWEoJGV1aS1ia3AtbW9iaWxlKSB7XG4vLyAgICAgdGFibGUudXgtdGFibGUge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuLy8gICAgICAgICAmLnV4LXRhYmxlLS1yZXNwb25zaXZlIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4vLyAgICAgICAgICAgICAmLnV4LXRhYmxlLS1ib3JkZXJlZCB7XG4vLyAgICAgICAgICAgICAgICAgdHIge1xuLy8gICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2KGV1aS1iYXNlLWNvbG9yLWdyZXktbGlnaHQpO1xuLy8gICAgICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgJi51eC10YWJsZS0tY29tcGFjdCB7XG4vLyAgICAgICAgICAgICAgICAgdGQge1xuLy8gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdihldWktYmFzZS1zcGFjaW5nLTN4cyk7XG4vLyAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKTtcblxuLy8gICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKTtcbi8vICAgICAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgLy8gRm9yY2UgdGFibGUgdG8gYmUgbGlrZSBjYXJkc1xuLy8gICAgICAgICAgICAgdGhlYWQsXG4vLyAgICAgICAgICAgICB0Ym9keSxcbi8vICAgICAgICAgICAgIHRoLFxuLy8gICAgICAgICAgICAgdGQsXG4vLyAgICAgICAgICAgICB0ciB7XG4vLyAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIC8vIEhpZGUgdGFibGUgaGVhZGVycyBidXQgbm90IGRpc3BsYXk6IG5vbmUgZm9yIGFjY2Vzc2liaWxpdHlcbi8vICAgICAgICAgICAgIHRoZWFkIHRyIHtcbi8vICAgICAgICAgICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuLy8gICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICAgICAgICAgICB0b3A6IC05OTk5cHg7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRyIHtcbi8vICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRoLFxuLy8gICAgICAgICAgICAgdGQge1xuLy8gICAgICAgICAgICAgICAgIC8vIEJlaGF2ZSBsaWtlIGEgXCJyb3dcIlxuLy8gICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbi8vICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdihldWktYmFzZS1jb2xvci1ncmV5LWxpZ2h0ZXN0KTtcbi8vICAgICAgICAgICAgICAgICBwYWRkaW5nOiB2KGV1aS1iYXNlLXNwYWNpbmcteHMpO1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTAlO1xuLy8gICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgdGQ6OmJlZm9yZSB7XG4vLyAgICAgICAgICAgICAgICAgY29sb3I6IHYoZXVpLWJhc2UtY29sb3ItZ3JleS1kYXJrKTtcbi8vICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtY29sKTsgICAgLy8gTGlrZSBhIHRhYmxlIGhlYWRlciBjb2x1bW5cbi8vICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vICAgICAgICAgICAgICAgICBsZWZ0OiB2KGV1aS1iYXNlLXNwYWNpbmcteHMpO1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHYoZXVpLWJhc2Utc3BhY2luZy14cyk7XG4vLyAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgICAgICAgICAgIC8vIE1pbWljIHRvcCAmIGxlZnQgcGFkZGluZ3Ncbi8vICAgICAgICAgICAgICAgICB0b3A6IHYoZXVpLWJhc2Utc3BhY2luZy14cyk7XG4vLyAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vICAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuIiwiLy8gR0xPQkFMIENPTVBBQ1QgVEhFTUVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5odG1sLmV1aS10LWNvbXBhY3Qge1xuICAgIC8vIEV4cG9zZWQgQ1NTIHZhcmlhYmxlc1xuICAgIC0tZXVpLWJhc2UtZm9udC1zaXplOiAxNHB4OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUgYmFzZSBmb3IgY29tcGFjdCB0aGVtZVxuICAgIC0tZXVpLWJhc2UtbGluZS1oZWlnaHQ6IDEuMjU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBVbml0bGVzcyBudW1iZXIgdmFsdWUgaXMgbXVsdGlwbGllZCBieSB0aGUgZWxlbWVudCdzIGZvbnQgc2l6ZVxuICAgIC8vIFNldHVwXG4gICAgZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpOyAgICAgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ldWktYmFzZS1saW5lLWhlaWdodCk7ICAgICAgICAgICAvLyBBcHBsaWVzIHRoZSBkZWZpbmVkIGN1c3RvbSBsaW5lIGhlaWdodCByYXRpb1xufVxuXG4vLyBGT1JNIEVMRU1FTlRTXG4vLy8vLy8vLy8vLy8vLy8vL1xuZm9ybS5ldWktdC1mb3JtLWNvbXBhY3Qge1xuICAgIC8vIEV4cG9zZWQgQ1NTIHZhcmlhYmxlc1xuICAgIC0tZXVpLWJhc2UtZm9udC1zaXplOiAxNHB4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZSBiYXNlIGZvciBjb21wYWN0IHRoZW1lXG4gICAgLS1ldWktYmFzZS1saW5lLWhlaWdodDogMS4yNTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaXRsZXNzIG51bWJlciB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBlbGVtZW50J3MgZm9udCBzaXplXG4gICAgLS1ldWktaW5wdXQtZ3JvdXAtc3BhY2luZzogdmFyKC0tZXVpLWJhc2Utc3BhY2luZy14cyk7ICAgLy8gU3BhY2luZyBiZXR3ZWVuIGZvcm0gZ3JvdXBzIGVsZW1lbnRzXG4gICAgLy8gSW50ZXJuYWxzXG4gICAgLy8gU2VlOiBldWktc3R5bGVzLWJhc2VcXHNyY1xcc3R5bGVzXFwwMi1iYXNlXFxtaXhpbnNcXHRoZW1pbmdcXF9jb21wYWN0LXZhcnMuc2Nzc1xuICAgIEBpbmNsdWRlIGV1aS1jb21wYWN0LWdldC10b2tlbnMoKTtcbiAgICAvLyBTZXR1cFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZXVpLWJhc2UtZm9udC1zaXplKTsgICAgICAgICAgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ldWktYmFzZS1saW5lLWhlaWdodCk7ICAgICAgICAgICAvLyBBcHBsaWVzIHRoZSBkZWZpbmVkIGN1c3RvbSBsaW5lIGhlaWdodCByYXRpb1xuXG4gICAgLy8gSW50ZXJuYWxzXG4gICAgLmV1aS1pbnB1dC1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWV1aS1pbnB1dC1ncm91cC1zcGFjaW5nKTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLTJ4cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXVpLWlucHV0LWdyb3VwLWFkZG9uLWl0ZW0ge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDIuNSAqICN7dihldWktYmFzZS1zcGFjaW5nKX0pO1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoMi41ICogI3t2KGV1aS1iYXNlLXNwYWNpbmcpfSk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3t2KGV1aS1iYXNlLXNwYWNpbmcteHMpfSAtIDFweCk7XG4gICAgfVxufVxuXG4vLyBUQUJMRVxuLy8vLy8vLy8vLy8vLy8vLy9cbi5ldWktdGFibGUuZXVpLXQtdGFibGUtY29tcGFjdCB7XG4gICAgLy8gRXhwb3NlZCBDU1MgdmFyaWFibGVzXG4gICAgLS1ldWktYmFzZS1mb250LXNpemU6IDE0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplIGJhc2UgZm9yIGNvbXBhY3QgdGhlbWVcbiAgICAtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0OiAxLjI1OyAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdGxlc3MgbnVtYmVyIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGVsZW1lbnQncyBmb250IHNpemVcbiAgICAtLWV1aS10YWJsZS1oZWFkZXItcGFkZGluZzogdmFyKC0tZXVpLWJhc2Utc3BhY2luZy1zKTsgICAvLyBUYWJsZSBoZWFkZXIgc3BhY2VyIHNldCB0byAwLjc1cmVtXG4gICAgLS1ldWktdGFibGUtcm93LXBhZGRpbmc6IHZhcigtLWV1aS1iYXNlLXNwYWNpbmctMnhzKTsgICAgLy8gVGFibGUgYm9keSByb3cgc3BhY2VyIHNldCB0byAwLjI1cmVtXG4gICAgLS1ldWktdGFibGUtZm9vdGVyLXBhZGRpbmc6IHZhcigtLWV1aS1iYXNlLXNwYWNpbmctcyk7ICAgLy8gVGFibGUgZm9vdGVyIHNwYWNlciBzZXQgdG8gMC43NXJlbVxuICAgIC8vIEludGVybmFsc1xuICAgIEBpbmNsdWRlIGV1aS1jb21wYWN0LWdldC10b2tlbnMoKTtcbiAgICAvLyBTZXR1cFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZXVpLWJhc2UtZm9udC1zaXplKTsgICAgICAgICAgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ldWktYmFzZS1saW5lLWhlaWdodCk7ICAgICAgICAgICAvLyBBcHBsaWVzIHRoZSBkZWZpbmVkIGN1c3RvbSBsaW5lIGhlaWdodCByYXRpb1xuXG4gICAgLy8gSW50ZXJuYWxzXG4gICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ldWktdGFibGUtaGVhZGVyLXBhZGRpbmcpICB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ldWktdGFibGUtcm93LXBhZGRpbmcpICB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGZvb3Qge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ldWktdGFibGUtZm9vdGVyLXBhZGRpbmcpICB2YXIoLS1ldWktYmFzZS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDQVJEXG4vLy8vLy8vLy8vLy8vLy8vL1xuLmV1aS1jYXJkLmV1aS10LWNhcmQtY29tcGFjdCB7XG4gICAgLy8gRXhwb3NlZCBDU1MgdmFyaWFibGVzXG4gICAgLS1ldWktYmFzZS1mb250LXNpemU6IDE0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplIGJhc2UgZm9yIGNvbXBhY3QgdGhlbWVcbiAgICAtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0OiAxLjI1OyAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5pdGxlc3MgbnVtYmVyIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGVsZW1lbnQncyBmb250IHNpemVcbiAgICAtLWV1aS1jYXJkLXRpdGxlLXNpemU6IHZhcigtLWV1aS1iYXNlLWZvbnQtc2l6ZS1tKTsgICAgICAvLyBDYXJkIHRpdGxlIGZvbnQgc2l6ZVxuICAgIC0tZXVpLWNhcmQtc3VidGl0bGUtc2l6ZTogdmFyKC0tZXVpLWJhc2UtZm9udC1zaXplLXMpOyAgIC8vIENhcmQgc3VidGl0bGUgZm9udCBzaXplXG4gICAgLy8gSW50ZXJuYWxzXG4gICAgQGluY2x1ZGUgZXVpLWNvbXBhY3QtZ2V0LXRva2VucygpO1xuICAgIC8vIFNldHVwXG4gICAgZm9udC1zaXplOiB2YXIoLS1ldWktYmFzZS1mb250LXNpemUpOyAgICAgICAgICAgICAgICAgICAgLy8gQXBwbGllcyB0aGUgZGVmaW5lZCBjdXN0b20gZm9udCBzaXplXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWV1aS1iYXNlLWxpbmUtaGVpZ2h0KTsgICAgICAgICAgIC8vIEFwcGxpZXMgdGhlIGRlZmluZWQgY3VzdG9tIGxpbmUgaGVpZ2h0IHJhdGlvXG5cbiAgICAvLyBJbnRlcm5hbHNcbiAgICAuZXVpLWNhcmQge1xuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICAmX190aXRsZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICYtdGl0bGUsXG4gICAgICAgICAgICAgICAgJi10aXRsZSAuZXVpLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ldWktY2FyZC10aXRsZS1zaXplKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXN1YnRpdGxlLFxuICAgICAgICAgICAgICAgICYtc3VidGl0bGUgLmV1aS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZXVpLWNhcmQtc3VidGl0bGUtc2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX191cmdlbnQtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZXVpLWJhc2UtZm9udC1zaXplLTJ4bCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1peGluIGV1aS1jb21wYWN0LWdldC10b2tlbnMoJHJhdGlvOiAwLjg3NSkge1xuICAgIC0tZXVpLWNvbXBhY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgICBAZWFjaCAkc3BhY2luZywgJHZhbHVlIGluICRldWktYmFzZS10b2tlbnMtc3BhY2luZ3Mge1xuICAgICAgICAtLWV1aS1iYXNlLXNwYWNpbmctI3skc3BhY2luZ306IGNhbGMoICN7dmFyKC0tZXVpLWNvbXBhY3QtcmF0aW8pfSAqICN7JHZhbHVlfSApO1xuICAgIH1cbn1cbiIsIi8vIElFMTArIFNWRydzIGFzcGVjdCByYXRpb3MgYW5kIHNpemVzIGZpeFxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBpbWdbc3JjJD1cIi5zdmdcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIHtcbiAgICAvLyBJRSBGaXg6IEJpY3ViaWMgU2NhbGluZyBmb3IgSW1hZ2VzICYgZnVsbCB3aWR0aCBiYWNrZ3JvdW5kIChFQyBsb2dvKVxuICAgIGltZyB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgICB9XG59XG4iLCIvLyBDT09LSUUgQ09OU0VOVFxuLmNvb2tpZS1jb25zZW50LWJhbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgICB0b3A6IHYoZXVpLWJhc2Utc3BhY2luZy1tKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogdihldWktYmFzZS16LWluZGV4LW1heCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiB2KGV1aS1iYXNlLXNoYWRvdy0yNCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2KGV1aS1iYXNlLWNvbG9yLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcihldWktYmFzZS1jb2xvci13aGl0ZSkgIWltcG9ydGFudDtcbn1cbiIsIiNsb2FkZXItd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgI2xvYWRlciB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsgLyogQ2hyb21lLCBPcGVyYSAxNSssIFNhZmFyaSA1KyAqL1xuICAgICAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOyAvKiBDaHJvbWUsIEZpcmVmb3ggMTYrLCBJRSAxMCssIE9wZXJhICovXG4gICAgICAgIGFuaW1hdGlvbjogaG91cmdsYXNzIDVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHYoZXVpLWJhc2UtY29sb3Itd2FybmluZy0xMDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IC0xMDBweCAwIDAgLTEwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsgLyogQ2hyb21lLCBPcGVyYSAxNSssIFNhZmFyaSA1KyAqL1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsgLyogQ2hyb21lLCBGaXJlZm94IDE2KywgSUUgMTArLCBPcGVyYSAqL1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBob3VyZ2xhc3MgNHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdihldWktYmFzZS1jb2xvci1kYW5nZXItMTAwKTtcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsgLyogQ2hyb21lLCBPcGVyYSAxNSssIFNhZmFyaSA1KyAqL1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsgLyogQ2hyb21lLCBGaXJlZm94IDE2KywgSUUgMTArLCBPcGVyYSAqL1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBob3VyZ2xhc3MgM3MgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdihldWktYmFzZS1jb2xvci1wcmltYXJ5LTEwMCk7XG4gICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBob3VyZ2xhc3MgIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTAwZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODAwZGVnKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGhvdXJnbGFzcyB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwMGRlZyk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwMGRlZyk7XG4gICAgfVxufVxuIiwiLmV1aS11LWNvbG9yLWJsYWNrIHtcbiAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1iZy1jb2xvci1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtY29sb3Itd2hpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWJnLWNvbG9yLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci13aGl0ZSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItZ3JleS0xMDApICFpbXBvcnRhbnQ7XG59XG5AZWFjaCAkY29sb3IsICRzaGFkZXMgaW4gJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMge1xuICAgIEBlYWNoICRzaGFkZSwgJHZhbHVlIGluICRzaGFkZXMge1xuICAgICAgICAuZXVpLXUtY29sb3ItI3skY29sb3IgKyAnLScgKyAkc2hhZGV9IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0pICFpbXBvcnRhbnQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgLmV1aS11LWJnLWNvbG9yLSN7JGNvbG9yICsgJy0nICsgJHNoYWRlfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ldWktYmFzZS1jb2xvci0jeyRjb2xvciArICctJyArICRzaGFkZX0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItI3skY29sb3IgKyAnLScgKyAkc2hhZGV9LWNvbnRyYXN0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1jb2xvcnMtMTAwcyB7XG4gICAgLmV1aS11LWNvbG9yLSN7JycgKyAkY29sb3J9IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWV1aS1iYXNlLWNvbG9yLSN7JycgKyAkY29sb3J9LTEwMCkgIWltcG9ydGFudDtcbiAgICB9O1xuXG4gICAgLmV1aS11LWJnLWNvbG9yLSN7JycgKyAkY29sb3J9IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItI3snJyArICRjb2xvcn0tMTAwKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZXVpLWJhc2UtY29sb3ItI3snJyArICRjb2xvcn0tMTAwLWNvbnN0cmFzdCkgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvLyBGT05ULVNJWkVTXG5AZWFjaCAkZm9udC1zaXplLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1mb250LXNpemVzIHtcbiAgICAuZXVpLXUtZm9udC1zaXplLSN7JGZvbnQtc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gRk9OVFMgKHR5cG9ncmFwaGljIGluZ3JlZGllbnRzIGxpa2UgbGluZS1oZWlnaHQsIHdlaWdodCwgc3RyZXRjaGluZyBldGMpXG5AZWFjaCAkZmFtaWx5LCAkc2l6ZXMgaW4gJGV1aS1iYXNlLXRva2Vucy1mb250cyB7XG4gICAgJGZhbWlseS10eXBlOiAkZmFtaWx5ICsgJy0nO1xuICAgIEBpZigkZmFtaWx5ID09IHVpKSB7XG4gICAgICAgICRmYW1pbHktdHlwZTogJyc7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRkZWZpbml0aW9uIGluICRzaXplcyB7XG4gICAgICAgIC5ldWktdS1mb250LSN7JGZhbWlseS10eXBlfSN7JHNpemV9IHtcbiAgICAgICAgICAgIGZvbnQ6ICN7JGRlZmluaXRpb259ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ldWktdS1mb250LXJlZ3VsYXIge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZvbnQtYm9sZCB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZvbnQtYm9sZC1pdGFsaWMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mb250LWl0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZm9udC1saWdodCB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEFsaWdubWVudFxuLmV1aS11LXRleHQtbGVmdCAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC1yaWdodCAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC1jZW50ZXIgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLmV1aS11LXRleHQtanVzdGlmeSAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC1ub3dyYXAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LXRydW5jYXRlICAgICB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi8vIERlY29yYXRpb25zXG4uZXVpLXUtdGV4dC1vdmVybGluZSAgICAgeyB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LXVuZGVybGluZSAgICB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7IH1cbi5ldWktdS10ZXh0LWxpbmUtdGhyb3VnaCB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7IH1cblxuLy8gVHJhbnNmb3JtYXRpb25cbi5ldWktdS10ZXh0LWxvd2VyY2FzZSAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLmV1aS11LXRleHQtdXBwZXJjYXNlICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4uZXVpLXUtdGV4dC1jYXBpdGFsaXplICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIEV4dHJhXG4uZXVpLXUtdGV4dC1zbWFsbCAgICAgICAgeyBmb250LXNpemU6IDgwJTsgfVxuLmV1aS11LXRleHQtbW9ub3NwYWNlICAgIHsgQGluY2x1ZGUgZXVpLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTsgfVxuXG4uZXVpLXUtdGV4dC1saW5rIHtcbiAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1saW5rKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGV1aS1hY2Nlc3NpYmxlLWZvY3VzLW91dGxpbmUoMnB4KTtcbiAgICB9XG59XG4uZXVpLXUtdGV4dC1saW5rLWV4dGVybmFsIHtcbiAgICBjb2xvcjogdihldWktYmFzZS1jb2xvci1saW5rKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBldWktYWNjZXNzaWJsZS1mb2N1cy1vdXRsaW5lKDJweCk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBldWlTdmdFeHRlcm5hbExpbmsoKTtcbiAgICB9XG59XG4uZXVpLXUtdGV4dC1oaWdobGlnaHQge1xuICAgIHBhZGRpbmc6IHYoZXVpLWJhc2Utc3BhY2luZy0yeHMpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdihldWktYmFzZS1jb2xvci1hY2NlbnQtMTApICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBCb3JkZXJlZCBmb2N1cyBhY2Nlc3NpYmlsaXR5IHZpc3VhbCAoZGVmYXVsdDogYnV0dG9ucywgaW5wdXQgZmllbGRzLCBldGMuKVxuQG1peGluIGV1aS1hY2Nlc3NpYmxlLWZvY3VzKCkge1xuICAgIGJvcmRlci1jb2xvcjogdihldWktYmFzZS1jb2xvci1hY2Nlc3NpYmxlLWZvY3VzKSAhaW1wb3J0YW50OyAgICAvLyBNdXN0XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHYoZXVpLWJhc2UtY29sb3ItYWNjZXNzaWJsZS1mb2N1cyksIGluc2V0IDAgMCAwIDJweCB2KGV1aS1iYXNlLWNvbG9yLWdyZXktNSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuLy8gT3V0bGluZWQgZm9jdXMgYWNjZXNzaWJpbGl0eSB2aXN1YWwgKGNoZWNrYm94ZXMsIHJhZGlvcylcbkBtaXhpbiBldWktYWNjZXNzaWJsZS1mb2N1cy1vdXRsaW5lKCRvZmZzZXQ6IC0ycHgsICRvdXRsaW5lLXNpemU6IDJweCkge1xuICAgIG91dGxpbmU6ICRvdXRsaW5lLXNpemUgc29saWQgdihldWktYmFzZS1jb2xvci1hY2Nlc3NpYmxlLWZvY3VzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAtbW96LW91dGxpbmUtcmFkaXVzOiB2KGV1aS1iYXNlLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlciAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBldWktYWNjZXNzaWJsZS1mb2N1cy1ib3JkZXItaW5saW5lKCRkaXNwbGF5OiAnJywgJHpJbmRleDogYXV0bykge1xuICAgIEBpZiAkZGlzcGxheSAhPSAnJyB7XG4gICAgICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuICAgIH1cbiAgICB6LWluZGV4OiAkekluZGV4O1xuICAgIEBpbmNsdWRlIGV1aS1hY2Nlc3NpYmxlLWZvY3VzKCk7XG59XG4vLyBUaGlzIGlzIHRoZSBtYWluIG1peGluIHRvIGNhbGwvaW5jbHVkZVxuQG1peGluIGV1aS1hY2Nlc3NpYmxlLWZvY3VzLWJvcmRlcigkZGlzcGxheTogJycsICR6SW5kZXg6IGF1dG8sICRpbmxpbmU6IGZhbHNlKSB7XG4gICAgQGlmICRpbmxpbmUge1xuICAgICAgICBAaW5jbHVkZSBldWktYWNjZXNzaWJsZS1mb2N1cy1ib3JkZXItaW5saW5lKCRkaXNwbGF5LCAkekluZGV4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAmOmFjdGl2ZTpub3QoW3JlYWRvbmx5XSksXG4gICAgICAgICY6Zm9jdXM6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGV1aS1hY2Nlc3NpYmxlLWZvY3VzLWJvcmRlci1pbmxpbmUoJGRpc3BsYXksICR6SW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIGV1aS1hY2Nlc3NpYmxlLWZvY3VzLWJvcmRlci1yb3VuZGVkKCkge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHYoZXVpLWJhc2UtY29sb3ItYWNjZXNzaWJsZS1mb2N1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG4iLCJAbWl4aW4gZXVpU3ZnQ2hlY2ttYXJrV2hpdGUoKSB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0N0aXRsZSUzRUNoZWNrbWFyayUzQy90aXRsZSUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSc2NCcgZD0nTTQxNiAxMjhMMTkyIDM4NGwtOTYtOTYnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdDaGVja21hcmsoKSB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0N0aXRsZSUzRUNoZWNrbWFyayUzQy90aXRsZSUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDQ0OTQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSc2NCcgZD0nTTQxNiAxMjhMMTkyIDM4NGwtOTYtOTYnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdSYWRpbygpIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGNsYXNzPSdpb25pY29uJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0N0aXRsZSUzRUVsbGlwc2UlM0MvdGl0bGUlM0UlM0NwYXRoIGZpbGw9JyUyMzAwNDQ5NCcgc3Ryb2tlPSclMjMwMDQ0OTQnIGQ9J00yNTYgNDY0Yy0xMTQuNjkgMC0yMDgtOTMuMzEtMjA4LTIwOFMxNDEuMzEgNDggMjU2IDQ4czIwOCA5My4zMSAyMDggMjA4LTkzLjMxIDIwOC0yMDggMjA4eicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuQG1peGluIGV1aVN2Z1JhZGlvV2hpdGUoKSB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBjbGFzcz0naW9uaWNvbicgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDdGl0bGUlM0VFbGxpcHNlJTNDL3RpdGxlJTNFJTNDcGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIHN0cm9rZT0nJTIzZmZmJyBkPSdNMjU2IDQ2NGMtMTE0LjY5IDAtMjA4LTkzLjMxLTIwOC0yMDhTMTQxLjMxIDQ4IDI1NiA0OHMyMDggOTMuMzEgMjA4IDIwOC05My4zMSAyMDgtMjA4IDIwOHonLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdSYWRpb0ludmFsaWQoKSB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBjbGFzcz0naW9uaWNvbicgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDdGl0bGUlM0VFbGxpcHNlJTNDL3RpdGxlJTNFJTNDcGF0aCBmaWxsPSclMjNkYTIxMzEnIHN0cm9rZT0nJTIzZGEyMTMxJyBkPSdNMjU2IDQ2NGMtMTE0LjY5IDAtMjA4LTkzLjMxLTIwOC0yMDhTMTQxLjMxIDQ4IDI1NiA0OHMyMDggOTMuMzEgMjA4IDIwOC05My4zMSAyMDgtMjA4IDIwOHonLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdDaGV2cm9uRm9yd2FyZCgpIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzRSUzQ3RpdGxlJTNFQ2hldnJvbiBGb3J3YXJkJTNDL3RpdGxlJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzQ4JyBkPSdNMTg0IDExMmwxNDQgMTQ0LTE0NCAxNDQnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdDaGV2cm9uRG93bigpIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzRSUzQ3RpdGxlJTNFQ2hldnJvbiBEb3duJTNDL3RpdGxlJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzQ4JyBkPSdNMTEyIDE4NGwxNDQgMTQ0IDE0NC0xNDQnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBldWlTdmdFeHRlcm5hbExpbmsoKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OCA0OCcgd2lkdGg9JzQ4JyBoZWlnaHQ9JzQ4JyUzRSUzQ3RpdGxlJTNFRXh0ZXJuYWwgTGluayUzQy90aXRsZSUzRSUzQ3BhdGggZD0nTTE0IDJ2NEg2djM2aDM2di04aDR2MTJIMlYyaDEyem0zMiAwdjIwaC00VjguNjY3bC0uMjAxLjQwNC0xNi45NyAxNi45N0wyMiAyMy4yMTRsMTYuOTctMTYuOTcuNDg0LS4yNDNIMjZWMmgyMHonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NSUgNzUlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogdihldWktYmFzZS1zcGFjaW5nLW0pO1xuICAgIG1hcmdpbi1sZWZ0OiB2KGV1aS1iYXNlLXNwYWNpbmctMnhzKTtcbiAgICB3aWR0aDogdihldWktYmFzZS1zcGFjaW5nLW0pO1xufVxuIiwiQGVhY2ggJHNwYWNpbmcsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNwYWNpbmdzIHtcbiAgICAuZXVpLXUtc3BhY2luZy0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1pbi13aWR0aDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG59IiwiQGVhY2ggJHNwYWNpbmcsICR2YWx1ZSBpbiAkZXVpLWJhc2UtdG9rZW5zLXNwYWNpbmdzIHtcbiAgICAuZXVpLXUtcHQtI3skc3BhY2luZ30ge1xuICAgICAgICBwYWRkaW5nLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1wYi0jeyRzcGFjaW5nfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXBsLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXByLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmV1aS11LXAtI3skc3BhY2luZ30ge1xuICAgICAgICBwYWRkaW5nOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LXB2LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1waC0jeyRzcGFjaW5nfSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH0gICAgXG4gXG4gICAgLmV1aS11LXNwYWNpbmctI3skc3BhY2luZ30ge1xuICAgICAgICBtaW4td2lkdGg6ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuICIsIkBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGV1aS1iYXNlLXRva2Vucy1zcGFjaW5ncyB7XG4gICAgLmV1aS11LW10LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tYi0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZXVpLXUtbWwtI3skc3BhY2luZ30ge1xuICAgICAgICBtYXJnaW4tbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tci0jeyRzcGFjaW5nfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ldWktdS1tLSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luOiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmV1aS11LW12LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZXVpLXUtbWgtI3skc3BhY2luZ30ge1xuICAgICAgICBtYXJnaW4tbGVmdDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgfVxuIH1cbiBcbi5ldWktdS1tbC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLmV1aS11LW1yLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmV1aS11LW10LWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5ldWktdS1tYi1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59IiwiLy8gREVQUkVDQVRJT05TIFdJTEwgT0NDVVIgSU4gTkVYVCBlVUkgMTUgUkVMRUFTRVxuLy8gQ09OVEFJTkVSU1xuLmV1aS11LWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8gUmVwbGFjZW1lbnQgb2YgZC1mbGV4XG4uZXVpLXUtZGlzcGxheS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1kaXNwbGF5LWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xufVxuXG4vLyBKVVNUSUZZIGNvbnRlbnRcbi5ldWktdS1mbGV4LXN0YXJ0LCAgLy8gREVQUkVDQVRFRFxuLmV1aS11LWZsZXgtanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtZW5kLCAgICAvLyBERVBSRUNBVEVEXG4uZXVpLXUtZmxleC1qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWJldHdlZW4sICAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtZXZlbmx5LCAgICAgLy8gREVQUkVDQVRFRFxuLmV1aS11LWZsZXgtanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbn1cblxuLy8gSVRFTVMgYWxpZ25lbWVudHNcbi5ldWktdS1mbGV4LWFsaWduLWxlZnQsICAgICAvLyBERVBSRUNBVEVEXG4uZXVpLXUtZmxleC1hbGlnbi1pdGVtcy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtYWxpZ24tY2VudGVyLCAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWFsaWduLWl0ZW1zLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLmV1aS11LWZsZXgtYWxpZ24tcmlnaHQsICAgIC8vIERFUFJFQ0FURURcbi5ldWktdS1mbGV4LWFsaWduLWl0ZW1zLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi8vIERJUkVDVElPTiBsYXlvdXRcbi5ldWktdS1mbGV4LXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZmxleC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgLmV1aS11LWZsZXgtYWxpZ24tY2VudGVyLCAgIC8vIERFUFJFQ0FURURcbiAgICAuZXVpLXUtZmxleC1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmV1aS11LWZsZXgtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4vLyBWQVJJT1VTXG4uZXVpLXUtZmxleC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZmxleC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWNvbCB7XG4gICAgZmxleDogMSAwIDAlICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1mbGV4LWdyb3cge1xuICAgIGRpc3BsYXk6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LWZsZXgtc2hyaW5rIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbn1cbiIsIi5ldWktdS1kaXNwbGF5LWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS12aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtZGlzcGxheS1wcmludC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS1kaXNwbGF5LWhpZGRlbi1kZXNrdG9wLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRldWktYmtwLWRlc2t0b3AtZG93bikge1xuICAgIC5ldWktdS1kaXNwbGF5LWhpZGRlbi1kZXNrdG9wLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLmV1aS11LXdpZHRoLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xMDAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xIHtcbiAgICBtYXgtd2lkdGg6IHYoZXVpLWJhc2Utc3BhY2luZy1tKTtcbiAgICBtaW4td2lkdGg6IHYoZXVpLWJhc2Utc3BhY2luZy1tKTtcbiAgICB3aWR0aDogdihldWktYmFzZS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMiAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0zIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDMgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDMgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC00IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDQgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDQgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC01IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC02IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNiAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDYgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDYgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC03IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDcgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDcgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC04IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC05IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDkgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDkgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTAgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDEwICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTEge1xuICAgIG1heC13aWR0aDogY2FsYygxMSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDExICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxMSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTEyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxMiAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTIgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xMyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEzICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTMgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDEzICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTQge1xuICAgIG1heC13aWR0aDogY2FsYygxNCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDE0ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxNCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTE1IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxNSAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTUgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xNiB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE2ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTYgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDE2ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMTcge1xuICAgIG1heC13aWR0aDogY2FsYygxNyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDE3ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygxNyAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cblxuLmV1aS11LXdpZHRoLTE4IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIG1pbi13aWR0aDogY2FsYygxOCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgd2lkdGg6IGNhbGMoMTggKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pICFpbXBvcnRhbnQ7XG59XG5cbi5ldWktdS13aWR0aC0xOSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE5ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTkgKiAje3YoZXVpLWJhc2Utc3BhY2luZy1tKX0pO1xuICAgIHdpZHRoOiBjYWxjKDE5ICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KSAhaW1wb3J0YW50O1xufVxuXG4uZXVpLXUtd2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogY2FsYygyMCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDIwICogI3t2KGV1aS1iYXNlLXNwYWNpbmctbSl9KTtcbiAgICB3aWR0aDogY2FsYygyMCAqICN7dihldWktYmFzZS1zcGFjaW5nLW0pfSkgIWltcG9ydGFudDtcbn1cbiJdfQ== */",":root {\n // COLORS\n @each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n --eui-base-color-#{$color + '-' + $shade}: #{$value};\n // not in base\n // --eui-base-color-#{$color + '-' + $shade}-rgb: #{toRGB($value)};\n // --eui-base-color-#{$color + '-' + $shade}-contrast: #{getContrast($value)};\n // --eui-base-color-#{$color + '-' + $shade}-contrast-rgb: #{toRGB(getContrast($value))};\n }\n }\n\n // DEFAULTS 100s\n @each $color, $value in $eui-base-tokens-colors-100s {\n --eui-base-color-#{'' + $color}: #{$value};\n }\n\n // OTHER COLORS\n --eui-base-color-text: var(--eui-base-color-grey-100);\n --eui-base-color-link: var(--eui-base-color-primary-100);\n --eui-base-color-black: black;\n --eui-base-color-white: white;\n --eui-base-color: var(--eui-base-color-grey-100);\n\n // FONT-SIZES\n --eui-base-font-size: 16px;\n @each $font-size, $value in $eui-base-tokens-font-sizes {\n --eui-base-font-size-#{$font-size}: #{$value};\n }\n\n // // FONTS\n --eui-base-font-family: #{$eui-base-font-family};\n --eui-base-font-family-icons: #{$eui-base-font-family-icons};\n --eui-base-font-family-monospace: #{$eui-base-font-family-monospace};\n\n // ICON-SIZES\n --eui-base-icon-size: 1.5rem;\n @each $icon-size, $value in $eui-base-tokens-icon-sizes {\n --eui-base-icon-size-#{$icon-size}: #{$value};\n }\n\n @each $family, $sizes in $eui-base-tokens-fonts {\n $family-type: $family + '-';\n @if($family == ui) {\n $family-type: '';\n }\n\n @each $size, $definition in $sizes {\n --eui-base-font-#{$family-type}#{$size}: #{$definition};\n }\n }\n\n // SPACINGS\n @each $spacing, $value in $eui-base-tokens-spacings {\n --eui-base-spacing-#{$spacing}: #{$value};\n }\n\n // SHADOWS\n @each $shadow, $value in $eui-base-tokens-shadows {\n --eui-base-shadow-#{$shadow}: #{$value};\n }\n\n // Z-INDEXES\n @each $idx, $value in $eui-base-tokens-z-indexes {\n --eui-base-z-index-#{$idx}: #{$value};\n }\n}\n",":root {\n --eui-base-line-height: 1.15;\n --eui-base-scale-factor: 1;\n --eui-base-disabled-opacity: 0.45;\n\n --eui-base-border-radius: 3px;\n\n --eui-base-border: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-light: 1px solid var(--eui-color-grey-light);\n --eui-base-border-lighter: 1px solid var(--eui-color-grey-lighter);\n --eui-base-border-lightest: 1px solid var(--eui-color-grey-lightest);\n\n // Animations related\n --eui-base-animation-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 1);\n --eui-base-animation-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --eui-base-animation-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1);\n --eui-base-animation-ease-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); // ease\n --eui-base-animation-ease-in-out-timing-function: ease-in-out;\n\n --eui-base-animation-duration-fast: 0.25s;\n --eui-base-animation-duration-medium: 0.5s;\n --eui-base-animation-duration-slow: 1s;\n --eui-base-animation-duration-base: 500ms;\n --eui-base-animation-duration: var(--eui-base-animation-duration-base);\n\n --eui-base-animation-transition-base: all 0.2s #{var(--eui-base-animation-linear-out-slow-in-timing-function)};\n --eui-base-animation-transition-ease: all 0.2s #{var(--eui-base-animation-ease-timing-function)};\n --eui-base-animation-transition-ease-in-out: all 0.2s #{var(--eui-base-animation-ease-in-out-timing-function)};\n --eui-base-animation-transition-ease-in-out-1s: all 1s #{var(--eui-base-animation-ease-in-out-timing-function)};\n\n --eui-base-animation-delay: 0s;\n --eui-base-animation-direction: normal;\n --eui-base-animation-fill-mode: forwards; // this prevents the animation from restarting\n --eui-base-animation-background-color: var(--eui-base-color-primary-50); // #cfcfdf;\n\n // Extra colors\n --eui-base-color-accessible-focus: var(--eui-base-color-accent-110); // Carbon blue: #0f62fe;\n}\n",":root {\n // eUI APP\n --eui-app-header-height-default: 0px;\n --eui-app-header-height: 0px;\n --eui-app-header-height-active: 90px;\n --eui-app-header-height-shrink: 0px;\n\n --eui-app-breadcrumb-height-default: 0px;\n --eui-app-breadcrumb-height: 0px;\n --eui-app-breadcrumb-height-active: 20px;\n\n --eui-app-top-message-height-default: 0px;\n --eui-app-top-message-height: 0px;\n --eui-app-top-message-height-active: 42px;\n\n --eui-app-toolbar-height-default: 0px;\n --eui-app-toolbar-height: 0px;\n --eui-app-toolbar-height-active: 55px;\n\n --eui-app-sidebar-width-default: 0px;\n --eui-app-sidebar-width: 0px;\n --eui-app-sidebar-width-active: 300px;\n --eui-app-sidebar-width-close-default: 0px;\n --eui-app-sidebar-width-close: 0px;\n --eui-app-sidebar-width-close-active: 64px;\n --eui-app-sidebar-header-height: 0px;\n --eui-app-sidebar-header-height-default: 0px;\n --eui-app-sidebar-header-height-active: 48px;\n --eui-app-sidebar-footer-height: 0px;\n --eui-app-sidebar-footer-height-default: 0px;\n --eui-app-sidebar-footer-height-active: 24px;\n\n // Page Layout\n --eui-page-header-with-subtitle-height: 4rem;\n --eui-page-header-without-subtitle-height: 2rem;\n\n --eui-page-column--size-s: 50px;\n --eui-page-column--size-m: 150px;\n --eui-page-column--size-l: 200px;\n --eui-page-column--size-xl: 250px;\n --eui-page-column--size-xxl: 300px;\n --eui-page-column--size-xxxl: 350px;\n --eui-page-column-footer-height: 3.5rem;\n\n // Misc\n --eui-border-state-width: 6px;\n\n // Colors\n // eUI App elements\n --eui-app-header-bg-color: var(--eui-base-color-white);\n --eui-app-header-title-color: var(--eui-base-color-grey-100);\n --eui-app-header-subtitle-color: var(--eui-base-color-grey-75);\n\n --eui-app-toolbar-color: var(--eui-base-color-white);\n --eui-app-toolbar-bg-color: var(--eui-base-color-primary-100);\n --eui-app-toolbar-border-bottom-color: var(--eui-base-color-primary-25);\n\n --eui-app-sidebar-bg-color: var(--eui-base-color-grey-2);\n --eui-app-sidebar-border-right-color: #f2f4f9;\n\n --eui-app-body-bg-color: var(--eui-base-color-grey-2);\n --eui-app-main-bg-color: var(--eui-base-color-grey-2);\n\n --eui-app-footer-color: var(--eui-base-color-font);\n --eui-app-footer-bg-color: var(--eui-base-color-grey-2);\n --eui-app-footer-border-top-color: #e8ebf1;\n}\n\n.xs, .sm {\n --eui-app-header-height: 0px;\n}\n",".eui-icon-svg {\n fill: currentColor;\n margin: 0;\n transform: scaleX(1) scaleY(1) rotateZ(0deg);\n transition: transform 300ms ease-in-out;\n display: inline-flex;\n align-items: center;\n}\n@each $size, $value in $eui-base-tokens-icon-sizes {\n .eui-icon-svg--size-#{$size} {\n height: #{$value};\n width: #{$value};\n };\n}\n@each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n .eui-icon-svg--color-#{$color + '-' + $shade} {\n color: #{$value};\n fill: #{$value};\n };\n }\n}\n@each $color, $value in $eui-base-tokens-colors-100s {\n .eui-icon-svg--color-#{'' + $color} {\n color: #{$value};\n fill: #{$value};\n };\n}\n\n.eui-icon-svg--color-white {\n color: white;\n fill: white;\n}\n\n.eui-icon-svg--color-black {\n color: black;\n fill: black;\n}\n",".mat-ripple {\n overflow: hidden;\n position: relative;\n }\n .mat-ripple:not(:empty) {\n transform: translateZ(0);\n }\n\n .mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n }\n\n .mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale3d(0, 0, 0);\n }\n .cdk-high-contrast-active .mat-ripple-element {\n display: none;\n }\n\n .cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n left: 0;\n }\n [dir=rtl] .cdk-visually-hidden {\n left: auto;\n right: 0;\n }\n\n .cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n }\n\n .cdk-overlay-container {\n position: fixed;\n z-index: 1000;\n }\n .cdk-overlay-container:empty {\n display: none;\n }\n\n .cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000;\n }\n\n .cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n }\n\n .cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n }\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1;\n }\n .cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6;\n }\n\n .cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32);\n }\n\n .cdk-overlay-transparent-backdrop {\n transition: visibility 1ms linear, opacity 1ms linear;\n visibility: hidden;\n opacity: 1;\n }\n .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0;\n visibility: visible;\n }\n\n .cdk-overlay-backdrop-noop-animation {\n transition: none;\n }\n\n .cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px;\n }\n\n .cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll;\n }\n\n textarea.cdk-textarea-autosize {\n resize: none;\n }\n\n textarea.cdk-textarea-autosize-measuring {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: auto !important;\n overflow: hidden !important;\n }\n\n textarea.cdk-textarea-autosize-measuring-firefox {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: 0 !important;\n }\n\n @keyframes cdk-text-field-autofill-start { /*!*/ }\n @keyframes cdk-text-field-autofill-end { /*!*/ }\n .cdk-text-field-autofill-monitored:-webkit-autofill {\n animation: cdk-text-field-autofill-start 0s 1ms;\n }\n\n .cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n animation: cdk-text-field-autofill-end 0s 1ms;\n }\n\n .mat-focus-indicator {\n position: relative;\n }\n .mat-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-focus-indicator-display, none);\n border: var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);\n border-radius: var(--mat-focus-indicator-border-radius, 4px);\n }\n .mat-focus-indicator:focus::before {\n content: \"\";\n }\n\n .cdk-high-contrast-active {\n --mat-focus-indicator-display: block;\n }\n\n .mat-mdc-focus-indicator {\n position: relative;\n }\n .mat-mdc-focus-indicator::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n display: var(--mat-mdc-focus-indicator-display, none);\n border: var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);\n border-radius: var(--mat-mdc-focus-indicator-border-radius, 4px);\n }\n .mat-mdc-focus-indicator:focus::before {\n content: \"\";\n }\n\n .cdk-high-contrast-active {\n --mat-mdc-focus-indicator-display: block;\n }\n\n .mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n .mat-mdc-option {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n }\n .mat-mdc-option:hover:not(.mdc-list-item--disabled), .mat-mdc-option:focus:not(.mdc-list-item--disabled), .mat-mdc-option.mat-mdc-option-active, .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled) {\n background: rgba(0, 0, 0, 0.04);\n }\n\n .mat-primary .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n }\n\n .mat-accent .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-secondary, #fffcf4);\n }\n\n .mat-warn .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text {\n color: var(--mdc-theme-error, #da2131);\n }\n\n .mat-mdc-optgroup-label {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n }\n\n .mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54);\n }\n .mat-pseudo-checkbox::after {\n color: #fafafa;\n }\n\n .mat-pseudo-checkbox-disabled {\n color: #b0b0b0;\n }\n\n .mat-primary .mat-pseudo-checkbox-checked,\n .mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #004494;\n }\n\n .mat-pseudo-checkbox-checked,\n .mat-pseudo-checkbox-indeterminate,\n .mat-accent .mat-pseudo-checkbox-checked,\n .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #fffcf4;\n }\n\n .mat-warn .mat-pseudo-checkbox-checked,\n .mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #da2131;\n }\n\n .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0;\n }\n\n .mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87);\n }\n\n .mat-elevation-z0, .mat-mdc-elevation-specific.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z1, .mat-mdc-elevation-specific.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z2, .mat-mdc-elevation-specific.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z3, .mat-mdc-elevation-specific.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z4, .mat-mdc-elevation-specific.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z5, .mat-mdc-elevation-specific.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z6, .mat-mdc-elevation-specific.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z7, .mat-mdc-elevation-specific.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z8, .mat-mdc-elevation-specific.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z9, .mat-mdc-elevation-specific.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z10, .mat-mdc-elevation-specific.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z11, .mat-mdc-elevation-specific.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z12, .mat-mdc-elevation-specific.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z13, .mat-mdc-elevation-specific.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z14, .mat-mdc-elevation-specific.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z15, .mat-mdc-elevation-specific.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z16, .mat-mdc-elevation-specific.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z17, .mat-mdc-elevation-specific.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z18, .mat-mdc-elevation-specific.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z19, .mat-mdc-elevation-specific.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z20, .mat-mdc-elevation-specific.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z21, .mat-mdc-elevation-specific.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z22, .mat-mdc-elevation-specific.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z23, .mat-mdc-elevation-specific.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);\n }\n\n .mat-elevation-z24, .mat-mdc-elevation-specific.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n }\n\n .mat-theme-loaded-marker {\n display: none;\n }\n\n .mat-calendar-arrow {\n fill: rgba(0, 0, 0, 0.54);\n }\n\n .mat-datepicker-toggle,\n .mat-datepicker-content .mat-calendar-next-button,\n .mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54);\n }\n\n .mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12);\n }\n\n .mat-calendar-table-header,\n .mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54);\n }\n\n .mat-calendar-body-cell-content,\n .mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent;\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n color: rgba(0, 0, 0, 0.38);\n }\n\n .mat-form-field-disabled .mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.38);\n }\n\n .mat-calendar-body-in-preview {\n color: rgba(0, 0, 0, 0.24);\n }\n\n .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.38);\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.18);\n }\n\n .mat-calendar-body-in-range::before {\n background: rgba(0, 68, 148, 0.2);\n }\n\n .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n }\n\n .mat-calendar-body-comparison-bridge-start::before,\n [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n\n .mat-calendar-body-comparison-bridge-end::before,\n [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(0, 68, 148, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n\n .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n }\n\n .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n }\n\n .mat-calendar-body-selected {\n background-color: #004494;\n color: white;\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(0, 68, 148, 0.4);\n }\n\n .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n }\n\n .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n }\n\n @media (hover: hover) {\n .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 68, 148, 0.3);\n }\n }\n .mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {\n background: rgba(255, 252, 244, 0.2);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,\n .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,\n .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(255, 252, 244, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #fffcf4;\n color: #999999;\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(255, 252, 244, 0.4);\n }\n .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px #999999;\n }\n .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n }\n @media (hover: hover) {\n .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(255, 252, 244, 0.3);\n }\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {\n background: rgba(218, 33, 49, 0.2);\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2);\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,\n .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,\n .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(218, 33, 49, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5;\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e;\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #da2131;\n color: white;\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(218, 33, 49, 0.4);\n }\n .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white;\n }\n .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n }\n @media (hover: hover) {\n .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(218, 33, 49, 0.3);\n }\n }\n\n .mat-datepicker-content-touch {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n }\n\n .mat-datepicker-toggle-active {\n color: #004494;\n }\n .mat-datepicker-toggle-active.mat-accent {\n color: #fffcf4;\n }\n .mat-datepicker-toggle-active.mat-warn {\n color: #da2131;\n }\n\n .mat-date-range-input-inner[disabled] {\n color: rgba(0, 0, 0, 0.38);\n }\n\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base {\n width: 40px;\n height: 40px;\n padding: 8px;\n }\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring {\n max-height: 40px;\n max-width: 40px;\n }\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple {\n width: 40px;\n height: 40px;\n margin-top: 0px;\n margin-bottom: 0px;\n margin-right: 0px;\n margin-left: 0px;\n }\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring {\n max-height: 40px;\n max-width: 40px;\n }\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch {\n position: absolute;\n top: 50%;\n height: 40px;\n /* @noflip */ /*rtl:ignore*/\n left: 50%;\n width: 40px;\n transform: translate(-50%, -50%);\n }\n .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target {\n display: none;\n }\n\n .mdc-menu-surface {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: var(--mdc-theme-surface, #fff);\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item__primary-text {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n }\n\n .mdc-list-item__secondary-text {\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));\n }\n\n .mdc-list-item__overline-text {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n }\n\n .mdc-list-item--with-leading-icon .mdc-list-item__start,\n .mdc-list-item--with-trailing-icon .mdc-list-item__end {\n background-color: transparent;\n }\n\n .mdc-list-item--with-leading-icon .mdc-list-item__start,\n .mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));\n }\n\n .mdc-list-item__end {\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));\n }\n\n .mdc-list-item--disabled .mdc-list-item__start,\n .mdc-list-item--disabled .mdc-list-item__content,\n .mdc-list-item--disabled .mdc-list-item__end {\n opacity: 0.38;\n }\n\n .mdc-list-item--disabled .mdc-list-item__primary-text {\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item--disabled .mdc-list-item__secondary-text {\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item--disabled .mdc-list-item__overline-text {\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n }\n .mdc-list-item--disabled.mdc-list-item--with-trailing-meta .mdc-list-item__end {\n color: var(--mdc-theme-on-surface, #000);\n }\n\n .mdc-list-item--selected .mdc-list-item__primary-text,\n .mdc-list-item--activated .mdc-list-item__primary-text {\n color: var(--mdc-theme-primary, #004494);\n }\n .mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,\n .mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start {\n color: var(--mdc-theme-primary, #004494);\n }\n\n .mdc-deprecated-list-group__subheader {\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));\n }\n\n @media screen and (forced-colors: active), (-ms-high-contrast: active) {\n .mdc-list-divider::after {\n border-bottom-color: white;\n }\n }\n .mdc-list-divider {\n background-color: rgba(0, 0, 0, 0.12);\n }\n",".mat-calendar {\n font-size: small; // chore(eui-date-range-selector): deprecates/removes unused Inputs - BREAKING CHANGE - EUI-6781\n\n &.mat-calendar-year {\n .mat-calendar-period-button {\n display: none;\n }\n }\n}\n","// MATERIAL Drag & Drop overrides\n.cdk-drag-handle {\n cursor: move !important;\n}\n\n.cdk-drop-list {\n display: flex;\n min-width: 100%;\n\n &:not(.cdk-drop-list-disabled) {\n min-height: v(eui-base-spacing-xl);\n }\n}\n\n// Animate items as they're being sorted\n.cdk-drop-list-dragging .cdk-drag {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n// Animate an item that has been dropped\n.cdk-drag-animating {\n transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n// Grabbed element\n.cdk-drag-preview {\n background-color: transparent; // v(eui-base-color-white);\n box-shadow: none;\n cursor: grab !important;\n display: table; // trick to get the full row width\n margin: 0 !important;\n opacity: 1;\n position: relative;\n}\n\n.cdk-drag-dragging {\n opacity: 1;\n}\n\n.cdk-drag-placeholder {\n background-color: transparent;\n opacity: 0.35;\n\n &:hover {\n outline: 2px dashed v(eui-base-color-grey-35);\n outline-offset: 2px;\n }\n}\n","// Disable global scrollbars (used in full screen eui-dialog for example)\n.cdk-global-scrollblock {\n position: fixed;\n overflow-y: visible; // Material default: scroll\n width: 100%;\n @include eui-scrollbars;\n top: 0 !important;\n left: 0 !important;\n}\n@include media($eui-bkp-mobile) {\n .cdk-global-scrollblock {\n height: 100%;\n overflow: auto;\n position: fixed;\n width: 100%;\n @include eui-scrollbars;\n }\n}\n","@mixin eui-scrollbars( $size: 8px, $foreground-color: v(eui-base-color-grey-20), $background-color: v(eui-base-color-grey-10), $border-radius: 5rem, $state: active ) {\n &::-webkit-scrollbar {\n display: inherit;\n height: $size; // horizontal scroll\n width: $size; // vertical scroll\n // z-index: v(eui-base-z-index-highlighted); // should be when in edition mode\n @if ($state == active) {\n background-color: $background-color;\n }\n @else {\n background-color: transparent;\n }\n }\n\n // This is the scrolling bar\n &::-webkit-scrollbar-thumb {\n @if ($state == active) {\n background-color: $foreground-color;\n border-radius: $border-radius;\n\n &:hover {\n background-color: v(eui-base-color-grey-25);\n }\n }\n @else {\n background-color: transparent;\n }\n }\n\n // This is the scroll container\n &::-webkit-scrollbar-track {\n @if ($state == active) {\n background-color: $background-color;\n border-radius: 0;\n }\n @else {\n background-color: transparent;\n }\n }\n}\n@mixin eui-scrollbars-inactive($size: 8px) {\n &::-webkit-scrollbar {\n background-color: transparent;\n display: inherit;\n height: $size; // horizontal scroll\n width: $size; // vertical scroll\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n}\n","$default-feature: \"min-width\";\n@mixin media($query: $feature $value $columns) {\n @if length($query) == 1 {\n @media screen and ($default-feature: nth($query, 1)) {\n @content;\n }\n }\n @else {\n $loop-to: length($query);\n $media-query: \"screen and \";\n @if is-not(is-even(length($query))) {\n $loop-to: $loop-to - 1;\n }\n $i: 1;\n @while $i <=$loop-to {\n $media-query: $media-query + \"(\" + nth($query, $i) + \": \" + nth($query, $i + 1) + \") \";\n @if ($i + 1) != $loop-to {\n $media-query: $media-query + \"and \";\n }\n $i: $i+2;\n }\n @media #{$media-query} {\n @content;\n }\n }\n}\n",".cdk-overlay-container {\n z-index: v(eui-base-z-index-cdk-overlay-container); // MD: 1000\n\n .mat-menu-panel {\n max-width: inherit;\n min-height: v(eui-base-spacing-l);\n @include eui-scrollbars;\n }\n\n .mat-autocomplete-panel {\n @include eui-scrollbars;\n }\n}\n",".cdk-overlay-pane {\n background-color: v(eui-base-color-white);\n z-index: v(eui-base-z-index-cdk-overlay-pane); // Dynamically changes based on CDK context\n}\n","table {\n border: 0 transparent;\n}\n\n:focus {\n outline: 0;\n}\n\n:focus-visible {\n outline: 0;\n}\n","// TODO v15 remove / replace in showczase\n\n.flex-container {\n align-items: center;\n display: flex;\n width: 100%;\n}\n\n// v v v IE11 FIXES -> TO BE DEPRECATED v v v\n// Flexbox / Bootstrap obvious overrides for IE/Vendors\n.d-flex {\n display: -webkit-box !important;\n display: -webkit-flex !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n// Like .col definition with IE fix\n.ux-col {\n // A preferred size of 0 must have a unit to avoid being interpreted as a flexibility.\n // Defaults to 0% when omitted.\n // Source: MDN & MSDN\n flex: 1 0 auto;\n}\n","// TODO v15 transfer to styles base ?\n\n// HEADINGS\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6,\n.h7,\n.h8,\n.h9 {\n @include eui-font-family();\n color: inherit;\n}\n\nh1,\n.h1 {\n @include eui-font(4xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh2,\n.h2 {\n @include eui-font(3xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh3,\n.h3 {\n @include eui-font(2xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh4,\n.h4 {\n @include eui-font(xl, ui);\n line-height: v(eui-base-line-height);\n}\n\nh5,\n.h5 {\n @include eui-font(l, ui);\n line-height: v(eui-base-line-height);\n}\n\nh6,\n.h6 {\n @include eui-font(m, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h7,\n.small {\n @include eui-font(s, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h8,\n.smaller {\n @include eui-font(xs, ui);\n line-height: v(eui-base-line-height);\n}\n\n.h9,\n.smallest,\n.tiny {\n @include eui-font(2xs, ui);\n line-height: v(eui-base-line-height);\n}\n\n\na,\na:not([href]):not([tabindex]) {\n color: v(eui-base-color-link);\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: v(eui-base-color-link);\n text-decoration: underline;\n }\n}\n\na {\n background-color: transparent;\n text-decoration: none;\n}\n\na:focus {\n text-decoration: underline;\n}\n\nabbr[title] {\n text-decoration: none; // TODO: underline dotted is the default and recommended usage\n}\n\n.label, abbr, blockquote, del, label, mark, p {\n font-size: v(eui-base-font-size);\n}\n","/** Common weight name mapping\n @See the OpenType specification:\n https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass\n The numerical values 100 to 900 roughly correspond to the following common weight names:\n 100 Thin (Hairline)\n 200\t Extra Light (Ultra Light)\n 300\t Light\n 400\t Normal\n 500\t Medium\n 600\t Semi Bold (Demi Bold)\n 700\t Bold\n 800\t Extra Bold (Ultra Bold)\n 900\t Black (Heavy)\n**/\n@mixin eui-font-family() {\n font-family: v(eui-base-font-family);\n font-size: v(eui-base-font-size);\n font-style: normal;\n font-weight: 400;\n}\n@mixin eui-font-family-light() {\n font-style: normal;\n font-weight: 300;\n}\n@mixin eui-font-family-normal() {\n font-style: normal;\n font-weight: 400;\n}\n@mixin eui-font-family-italic() {\n font-style: italic;\n font-weight: 400;\n}\n@mixin eui-font-family-bold() {\n font-style: normal;\n font-weight: 700;\n}\n@mixin eui-font-family-bold-italic() {\n font-style: italic;\n font-weight: 700;\n}\n\n@mixin eui-font-family-monospace() {\n font-family: v(eui-base-font-family-monospace);\n font-style: normal;\n font-weight: 400;\n}\n","@mixin eui-font($size: m, $family: ui) {\n $selected-family: map-get($eui-base-tokens-fonts, $family);\n $selected-font-definition: map-get($selected-family, $size);\n\n font: $selected-font-definition;\n}\n","// eUI 13+ only\n.eui-input-maxlength-wrapper {\n position: relative;\n width: 100%;\n\n .eui-input-maxlength {\n @include eui-font(xs, ui);\n background-color: v(eui-base-color-grey-10);\n border: 1px solid v(eui-base-color-grey-50);\n border-radius: v(eui-base-border-radius);\n color: v(eui-base-color-black);\n padding: 0 v(eui-base-spacing-2xs);\n position: absolute;\n right: calc(-1 * #{v(eui-base-spacing-xs)});\n top: calc(-1 * #{v(eui-base-spacing-xs)});\n z-index: v(eui-base-z-index-input-maxlength);\n\n &--invalid {\n background-color: v(eui-base-color-danger-100);\n border-color: v(eui-base-color-danger-100);\n color: v(eui-base-color-white);\n }\n }\n}\n","html {\n // Exposed CSS vars\n --eui-html-font-size: var(--eui-base-font-size);\n --eui-html-line-height: var(--eui-base-line-height);\n\n display: block;\n height: 100%;\n font-size: v(eui-html-font-size);\n line-height: v(eui-html-line-height);\n}\n","body {\n // Exposed CSS vars\n --eui-body-bg-color: var(--eui-app-body-bg-color);\n --eui-body-color: var(--eui-base-color);\n --eui-body-font-family: var(--eui-base-font-family);\n --eui-body-font-size: var(--eui-base-font-size);\n --eui-body-line-height: var(--eui-base-line-height);\n\n background-color: v(eui-body-bg-color);\n color: v(eui-body-color);\n font-family: v(eui-body-font-family);\n font-feature-settings: 'liga';\n font-size: v(eui-body-font-size);\n -moz-font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n font-style: normal;\n font-weight: normal;\n height: 100%;\n line-height: v(eui-body-line-height);\n margin: 0;\n text-align: left;\n text-rendering: optimizeLegibility;\n}\n","// Make viewport responsive\n//\n// @viewport is needed because IE 10+ doesn't honor <meta name=\"viewport\"> in\n// some cases. See https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/.\n// Eventually @viewport will replace <meta name=\"viewport\">.\n//\n// However, `device-width` is broken on IE 10 on Windows (Phone) 8,\n// (see https://timkadlec.com/2013/01/windows-phone-8-and-device-width/ and https://github.com/twbs/bootstrap/issues/10497)\n// and the fix for that involves a snippet of JavaScript to sniff the user agent\n// and apply some conditional CSS.\n//\n// See https://getbootstrap.com/getting-started/#support-ie10-width for the relevant hack.\n//\n// Wrap `@viewport` with `@at-root` for when folks do a nested import (e.g.,\n// `.class-name { @import \"bootstrap\"; }`).\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n/* ==========================================================================\n #BOX-SIZING\n ========================================================================== */\n\n/**\n * More sensible default box-sizing:\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n* {\n &,\n &::before,\n &::after {\n box-sizing: inherit;\n }\n}\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n// * http://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n[hidden] {\n display: none !important;\n}\n\np,\nlabel,\n.label,\nblockquote,\nabbr,\nmark,\ndel {\n font-size: v(eui-base-font-size);\n}\n\nem {\n //font-family: v(eui-font-family-italic); // do NOT use mixin here!\n font-style: italic;\n}\n\noptgroup,\nstrong,\nb {\n font-weight: bold;\n\n & i,\n & em {\n font-style: italic;\n }\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-size: v(eui-base-font-size);\n @include eui-font-family-monospace;\n}\n\ncode {\n color: #cc367b; // WCAG2 AA contrast ratio compliant: 4.59\n font-size: 95%;\n word-wrap: break-word;\n}\n\nsmall {\n font-size: 80%;\n}\n\nkbd {\n background-color: v(eui-base-color-grey-75); // WCAG2 AA compliant\n border-radius: v(eui-base-border-radius);\n color: v(eui-base-color-white);\n font-size: v(eui-base-font-size-s);\n padding: 1px v(eui-base-spacing-2xs);\n}\n\npre {\n color: v(eui-base-color);\n display: block;\n font-size: 87.5%;\n margin-bottom: v(eui-base-spacing-m);\n margin-top: 0;\n overflow: auto;\n}\n\nblockquote {\n padding: v(eui-base-spacing-xs) v(eui-base-spacing-m);\n}\n\nmark,\n.mark {\n background-color: v(eui-base-color-accent-25);\n padding: v(eui-base-spacing-2xs);\n}\n","// stylelint-disable no-descending-specificity\ntable.eui-table-default {\n background-color: transparent;\n border-collapse: collapse;\n border-spacing: 0;\n color: v(eui-base-color-font);\n max-width: 100%;\n overflow: auto;\n position: relative;\n\n // Overall settings (default)\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n vertical-align: top;\n }\n\n tr > th,\n tr > td {\n padding: v(eui-base-spacing-s);\n }\n\n thead {\n th {\n border-bottom: 1px solid v(eui-base-color-grey-10);\n color: v(eui-base-color-grey-75);\n font-size: v(eui-base-font-size);\n padding: v(eui-base-spacing-m) v(eui-base-spacing-s);\n vertical-align: middle;\n @include eui-font-family-bold;\n }\n\n tr {\n background: v(eui-base-color-grey-5);\n border-top: 0;\n }\n }\n\n // Striped & hovered tables by default (UX)\n tbody {\n -webkit-overflow-scrolling: touch; // optional - enable iOS momentum scrolling\n\n tr:nth-of-type(odd) {\n background-color: v(eui-base-color-white);\n\n &:hover {\n background-color: v(eui-base-color-grey-5);\n }\n }\n\n tr:nth-of-type(even) {\n background-color: v(eui-base-color-grey-5);\n\n &:hover {\n background-color: v(eui-base-color-white);\n }\n }\n }\n\n tr {\n border-bottom: 1px solid v(eui-base-color-grey-20);\n display: table-row;\n }\n\n // Compact table\n &--compact {\n thead {\n th {\n padding: v(eui-base-spacing-xs) v(eui-base-spacing-s);\n }\n }\n\n tr > td {\n padding: v(eui-base-spacing-2xs) v(eui-base-spacing-s);\n }\n }\n\n // Responsive table\n &--responsive {\n display: block;\n width: 100%;\n\n &--bordered {\n border: 0; // Prevent double border on horizontal scroll due to use of `display: block;`\n }\n }\n\n // Bordered table\n &--bordered {\n th,\n td {\n border: 1px solid v(eui-base-color-grey-20);\n }\n }\n\n // Shadowed table\n &--shadowed {\n box-shadow: v(eui-base-base-shadow-1);\n }\n\n // NoWrap table content (also disables ellipsis)\n &--nowrap {\n white-space: nowrap;\n\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n white-space: nowrap;\n }\n }\n\n // Centered table\n &--centered {\n display: table;\n margin: 0 auto;\n width: auto;\n }\n\n // Middle aligned cells content\n &--align-middle {\n thead > tr > th,\n tbody > tr > td,\n tfoot > tr > td {\n vertical-align: middle;\n }\n }\n}\n\n// // RESPONSIVE LAYOUT (PROTO)\n// @include media($eui-bkp-mobile) {\n// table.ux-table {\n// display: block;\n\n// &.ux-table--responsive {\n// display: contents;\n\n// &.ux-table--bordered {\n// tr {\n// border: 1px solid v(eui-base-color-grey-light);\n// }\n// }\n\n// &.ux-table--compact {\n// td {\n// padding-bottom: v(eui-base-spacing-3xs);\n// padding-top: v(eui-base-spacing-2xs);\n\n// &::before {\n// top: v(eui-base-spacing-2xs);\n// }\n// }\n// }\n\n// // Force table to be like cards\n// thead,\n// tbody,\n// th,\n// td,\n// tr {\n// display: block;\n// }\n\n// // Hide table headers but not display: none for accessibility\n// thead tr {\n// left: -9999px;\n// position: absolute;\n// top: -9999px;\n// }\n\n// tr {\n// height: auto;\n// }\n\n// th,\n// td {\n// // Behave like a \"row\"\n// border: none;\n// border-bottom: 1px solid v(eui-base-color-grey-lightest);\n// padding: v(eui-base-spacing-xs);\n// padding-left: 50%;\n// position: relative;\n// }\n\n// td::before {\n// color: v(eui-base-color-grey-dark);\n// content: attr(data-col); // Like a table header column\n// font-weight: bold;\n// left: v(eui-base-spacing-xs);\n// padding-right: v(eui-base-spacing-xs);\n// position: absolute;\n// // Mimic top & left paddings\n// top: v(eui-base-spacing-xs);\n// white-space: nowrap;\n// width: 45%;\n// }\n// }\n// }\n// }\n","// GLOBAL COMPACT THEME\n///////////////////////\nhtml.eui-t-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n}\n\n// FORM ELEMENTS\n/////////////////\nform.eui-t-form-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-input-group-spacing: var(--eui-base-spacing-xs); // Spacing between form groups elements\n // Internals\n // See: eui-styles-base\\src\\styles\\02-base\\mixins\\theming\\_compact-vars.scss\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n .eui-input-group {\n margin-bottom: var(--eui-input-group-spacing);\n\n label {\n margin-bottom: var(--eui-base-spacing-2xs);\n }\n }\n\n .eui-input-group-addon-item {\n min-height: calc(2.5 * #{v(eui-base-spacing)});\n min-width: calc(2.5 * #{v(eui-base-spacing)});\n padding: calc(#{v(eui-base-spacing-xs)} - 1px);\n }\n}\n\n// TABLE\n/////////////////\n.eui-table.eui-t-table-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-table-header-padding: var(--eui-base-spacing-s); // Table header spacer set to 0.75rem\n --eui-table-row-padding: var(--eui-base-spacing-2xs); // Table body row spacer set to 0.25rem\n --eui-table-footer-padding: var(--eui-base-spacing-s); // Table footer spacer set to 0.75rem\n // Internals\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n thead {\n tr {\n height: auto;\n\n th {\n padding: var(--eui-table-header-padding) var(--eui-base-spacing-s);\n }\n }\n }\n\n tbody {\n tr {\n height: auto;\n\n td {\n padding: var(--eui-table-row-padding) var(--eui-base-spacing-s);\n }\n }\n }\n\n tfoot {\n tr {\n height: auto;\n\n td {\n padding: var(--eui-table-footer-padding) var(--eui-base-spacing-s);\n }\n }\n }\n}\n\n// CARD\n/////////////////\n.eui-card.eui-t-card-compact {\n // Exposed CSS variables\n --eui-base-font-size: 14px; // Font size base for compact theme\n --eui-base-line-height: 1.25; // Unitless number value is multiplied by the element's font size\n --eui-card-title-size: var(--eui-base-font-size-m); // Card title font size\n --eui-card-subtitle-size: var(--eui-base-font-size-s); // Card subtitle font size\n // Internals\n @include eui-compact-get-tokens();\n // Setup\n font-size: var(--eui-base-font-size); // Applies the defined custom font size\n line-height: var(--eui-base-line-height); // Applies the defined custom line height ratio\n\n // Internals\n .eui-card {\n &-header {\n &__title-container {\n &-title,\n &-title .eui-label {\n font-size: var(--eui-card-title-size);\n }\n\n &-subtitle,\n &-subtitle .eui-label {\n font-size: var(--eui-card-subtitle-size);\n }\n }\n\n &__urgent-indicator {\n &::after {\n font-size: var(--eui-base-font-size-2xl);\n }\n }\n }\n }\n}\n","@mixin eui-compact-get-tokens($ratio: 0.875) {\n --eui-compact-ratio: #{$ratio};\n @each $spacing, $value in $eui-base-tokens-spacings {\n --eui-base-spacing-#{$spacing}: calc( #{var(--eui-compact-ratio)} * #{$value} );\n }\n}\n","// IE10+ SVG's aspect ratios and sizes fix\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n img[src$=\".svg\"] {\n width: 100%;\n }\n}\n@media screen {\n // IE Fix: Bicubic Scaling for Images & full width background (EC logo)\n img {\n background-repeat: no-repeat;\n background-size: 100%;\n -ms-interpolation-mode: bicubic;\n }\n}\n","// COOKIE CONSENT\n.cookie-consent-banner {\n display: block !important;\n min-width: 50% !important;\n position: absolute !important;\n right: 50% !important;\n top: v(eui-base-spacing-m) !important;\n transform: translateX(50%) !important;\n z-index: v(eui-base-z-index-max) !important;\n box-shadow: v(eui-base-shadow-24) !important;\n background: v(eui-base-color-primary) !important;\n color: var(eui-base-color-white) !important;\n}\n","#loader-wrapper {\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 1000;\n\n #loader {\n -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 5s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-warning-100);\n display: block;\n height: 200px;\n left: 50%;\n margin: -100px 0 0 -100px;\n position: relative;\n top: 50%;\n width: 200px;\n\n &::before {\n -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 4s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-danger-100);\n bottom: 5px;\n content: \"\";\n left: 5px;\n position: absolute;\n right: 5px;\n top: 5px;\n }\n\n &::after {\n -webkit-animation: spin 1s linear infinite; /* Chrome, Opera 15+, Safari 5+ */\n animation: spin 1s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */\n animation: hourglass 3s linear infinite;\n border: 10px solid transparent;\n border-radius: 50%;\n border-top-color: v(eui-base-color-primary-100);\n bottom: 20px;\n content: \"\";\n left: 20px;\n position: absolute;\n right: 20px;\n top: 20px;\n }\n }\n}\n\n/* stylelint-enable */\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n@keyframes hourglass {\n 0% {\n transform: rotate(0);\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n }\n 50% {\n transform: rotate(900deg);\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 100% {\n transform: rotate(1800deg);\n }\n}\n",".eui-u-color-black {\n color: var(--eui-base-color-black) !important;\n}\n\n.eui-u-bg-color-black {\n background-color: var(--eui-base-color-black) !important;\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-color-white {\n color: var(--eui-base-color-white) !important;\n}\n\n.eui-u-bg-color-white {\n background-color: var(--eui-base-color-white) !important;\n color: var(--eui-base-color-grey-100) !important;\n}\n@each $color, $shades in $eui-base-tokens-colors {\n @each $shade, $value in $shades {\n .eui-u-color-#{$color + '-' + $shade} {\n color: var(--eui-base-color-#{$color + '-' + $shade}) !important;\n };\n\n .eui-u-bg-color-#{$color + '-' + $shade} {\n background-color: var(--eui-base-color-#{$color + '-' + $shade}) !important;\n color: var(--eui-base-color-#{$color + '-' + $shade}-contrast) !important;\n }\n }\n}\n@each $color, $value in $eui-base-tokens-colors-100s {\n .eui-u-color-#{'' + $color} {\n color: var(--eui-base-color-#{'' + $color}-100) !important;\n };\n\n .eui-u-bg-color-#{'' + $color} {\n background-color: var(--eui-base-color-#{'' + $color}-100) !important;\n color: var(--eui-base-color-#{'' + $color}-100-constrast) !important;\n }\n}\n","// FONT-SIZES\n@each $font-size, $value in $eui-base-tokens-font-sizes {\n .eui-u-font-size-#{$font-size} {\n font-size: #{$value} !important;\n }\n}\n\n// FONTS (typographic ingredients like line-height, weight, stretching etc)\n@each $family, $sizes in $eui-base-tokens-fonts {\n $family-type: $family + '-';\n @if($family == ui) {\n $family-type: '';\n }\n\n @each $size, $definition in $sizes {\n .eui-u-font-#{$family-type}#{$size} {\n font: #{$definition} !important;\n }\n }\n}\n\n.eui-u-font-regular {\n font-style: normal !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-bold {\n font-style: normal !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-bold-italic {\n font-style: italic !important;\n font-weight: bold !important;\n}\n\n.eui-u-font-italic {\n font-style: italic !important;\n font-weight: normal !important;\n}\n\n.eui-u-font-light {\n font-style: normal !important;\n font-weight: 300 !important;\n}\n\n\n// Alignment\n.eui-u-text-left { text-align: left !important; }\n.eui-u-text-right { text-align: right !important; }\n.eui-u-text-center { text-align: center !important; }\n.eui-u-text-justify { text-align: justify !important; }\n.eui-u-text-nowrap { white-space: nowrap !important; }\n.eui-u-text-truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }\n\n// Decorations\n.eui-u-text-overline { text-decoration: overline !important; }\n.eui-u-text-underline { text-decoration: underline !important; }\n.eui-u-text-line-through { text-decoration: line-through !important; }\n\n// Transformation\n.eui-u-text-lowercase { text-transform: lowercase !important; }\n.eui-u-text-uppercase { text-transform: uppercase !important; }\n.eui-u-text-capitalize { text-transform: capitalize !important; }\n\n// Extra\n.eui-u-text-small { font-size: 80%; }\n.eui-u-text-monospace { @include eui-font-family-monospace; }\n\n.eui-u-text-link {\n color: v(eui-base-color-link) !important;\n cursor: pointer !important;\n text-decoration: none;\n\n &:focus,\n &:hover {\n text-decoration: underline !important;\n }\n\n &:focus {\n @include eui-accessible-focus-outline(2px);\n }\n}\n.eui-u-text-link-external {\n color: v(eui-base-color-link) !important;\n cursor: pointer !important;\n position: relative;\n text-decoration: none;\n\n &:focus,\n &:hover {\n text-decoration: underline !important;\n }\n\n &:focus {\n @include eui-accessible-focus-outline(2px);\n }\n\n &::after {\n @include euiSvgExternalLink();\n }\n}\n.eui-u-text-highlight {\n padding: v(eui-base-spacing-2xs) !important;\n background-color: v(eui-base-color-accent-10) !important;\n}\n","// Bordered focus accessibility visual (default: buttons, input fields, etc.)\n@mixin eui-accessible-focus() {\n border-color: v(eui-base-color-accessible-focus) !important; // Must\n box-shadow: inset 0 0 0 1px v(eui-base-color-accessible-focus), inset 0 0 0 2px v(eui-base-color-grey-5);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n// Outlined focus accessibility visual (checkboxes, radios)\n@mixin eui-accessible-focus-outline($offset: -2px, $outline-size: 2px) {\n outline: $outline-size solid v(eui-base-color-accessible-focus);\n outline-offset: $offset;\n -moz-outline-radius: v(eui-base-border-radius);\n transition: outline 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n@mixin eui-accessible-focus-border-inline($display: '', $zIndex: auto) {\n @if $display != '' {\n display: $display;\n }\n z-index: $zIndex;\n @include eui-accessible-focus();\n}\n// This is the main mixin to call/include\n@mixin eui-accessible-focus-border($display: '', $zIndex: auto, $inline: false) {\n @if $inline {\n @include eui-accessible-focus-border-inline($display, $zIndex);\n }\n @else {\n &:active:not([readonly]),\n &:focus:not([readonly]) {\n @include eui-accessible-focus-border-inline($display, $zIndex);\n }\n }\n}\n@mixin eui-accessible-focus-border-rounded() {\n border: 2px solid v(eui-base-color-accessible-focus);\n outline: none;\n transition: border 0.15s ease-in-out;\n}\n","@mixin euiSvgCheckmarkWhite() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3ECheckmark%3C/title%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='64' d='M416 128L192 384l-96-96'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgCheckmark() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3ECheckmark%3C/title%3E%3Cpath fill='none' stroke='%23004494' stroke-linecap='round' stroke-linejoin='round' stroke-width='64' d='M416 128L192 384l-96-96'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgRadio() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23004494' stroke='%23004494' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgRadioWhite() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='currentColor' stroke='%23fff' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgRadioInvalid() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EEllipse%3C/title%3E%3Cpath fill='%23da2131' stroke='%23da2131' d='M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgChevronForward() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgChevronDown() {\n height: 1rem;\n width: 1rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Down%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E\");\n}\n\n@mixin euiSvgExternalLink() {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Ctitle%3EExternal Link%3C/title%3E%3Cpath d='M14 2v4H6v36h36v-8h4v12H2V2h12zm32 0v20h-4V8.667l-.201.404-16.97 16.97L22 23.214l16.97-16.97.484-.243H26V2h20z'/%3E%3C/svg%3E\");\n background-color: transparent;\n background-position: bottom;\n background-repeat: no-repeat;\n background-size: 75% 75%;\n content: \"\";\n display: inline-block;\n height: v(eui-base-spacing-m);\n margin-left: v(eui-base-spacing-2xs);\n width: v(eui-base-spacing-m);\n}\n","@each $spacing, $value in $eui-base-tokens-spacings {\n .eui-u-pt-#{$spacing} {\n padding-top: #{$value} !important;\n }\n .eui-u-pb-#{$spacing} {\n padding-bottom: #{$value} !important;\n }\n .eui-u-pl-#{$spacing} {\n padding-left: #{$value} !important;\n }\n .eui-u-pr-#{$spacing} {\n padding-right: #{$value} !important;\n }\n\n .eui-u-p-#{$spacing} {\n padding: #{$value} !important;\n }\n .eui-u-pv-#{$spacing} {\n padding-top: #{$value} !important;\n padding-bottom: #{$value} !important;\n }\n .eui-u-ph-#{$spacing} {\n padding-left: #{$value} !important;\n padding-right: #{$value} !important;\n } \n \n .eui-u-spacing-#{$spacing} {\n min-width: #{$value} !important;\n width: #{$value} !important;\n }\n}\n ","@each $spacing, $value in $eui-base-tokens-spacings {\n .eui-u-mt-#{$spacing} {\n margin-top: #{$value} !important;\n }\n .eui-u-mb-#{$spacing} {\n margin-bottom: #{$value} !important;\n }\n .eui-u-ml-#{$spacing} {\n margin-left: #{$value} !important;\n }\n .eui-u-mr-#{$spacing} {\n margin-right: #{$value} !important;\n }\n .eui-u-m-#{$spacing} {\n margin: #{$value} !important;\n }\n .eui-u-mv-#{$spacing} {\n margin-top: #{$value} !important;\n margin-bottom: #{$value} !important;\n }\n .eui-u-mh-#{$spacing} {\n margin-left: #{$value} !important;\n margin-right: #{$value} !important;\n }\n }\n \n.eui-u-ml-auto {\n margin-left: auto !important;\n}\n.eui-u-mr-auto {\n margin-right: auto !important;\n}\n.eui-u-mt-auto {\n margin-top: auto !important;\n}\n.eui-u-mb-auto {\n margin-bottom: auto !important;\n}","// DEPRECATIONS WILL OCCUR IN NEXT eUI 15 RELEASE\n// CONTAINERS\n.eui-u-flex {\n align-items: center !important;\n display: flex !important;\n width: 100% !important;\n}\n\n// Replacement of d-flex\n.eui-u-display-flex {\n display: flex !important;\n}\n\n.eui-u-display-inline-flex {\n display: inline-flex !important;\n}\n\n// JUSTIFY content\n.eui-u-flex-start, // DEPRECATED\n.eui-u-flex-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.eui-u-flex-end, // DEPRECATED\n.eui-u-flex-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.eui-u-flex-justify-content-center {\n justify-content: center !important;\n}\n\n.eui-u-flex-justify-content-around {\n justify-content: space-around !important;\n}\n\n.eui-u-flex-between, // DEPRECATED\n.eui-u-flex-justify-content-between {\n justify-content: space-between !important;\n}\n\n.eui-u-flex-evenly, // DEPRECATED\n.eui-u-flex-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n// ITEMS alignements\n.eui-u-flex-align-left, // DEPRECATED\n.eui-u-flex-align-items-start {\n align-items: flex-start !important;\n}\n\n.eui-u-flex-align-center, // DEPRECATED\n.eui-u-flex-align-items-center {\n align-items: center !important;\n}\n.eui-u-flex-align-right, // DEPRECATED\n.eui-u-flex-align-items-end {\n align-items: flex-end !important;\n}\n\n// DIRECTION layout\n.eui-u-flex-row {\n flex-direction: row !important;\n}\n\n.eui-u-flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.eui-u-flex-column {\n flex-direction: column !important;\n\n .eui-u-flex-align-center, // DEPRECATED\n .eui-u-flex-align-items-center {\n align-items: flex-start !important;\n }\n}\n\n.eui-u-flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n// VARIOUS\n.eui-u-flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.eui-u-flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.eui-u-flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.eui-u-flex-col {\n flex: 1 0 0% !important;\n}\n\n.eui-u-flex-grow {\n display: initial !important;\n flex-grow: 1 !important;\n}\n\n.eui-u-flex-shrink {\n display: initial !important;\n flex-shrink: 1 !important;\n}\n",".eui-u-display-hidden {\n display: none !important;\n}\n\n.eui-u-display-visible {\n visibility: visible !important;\n}\n\n.eui-u-display-block {\n display: block !important;\n}\n\n.eui-u-display-inline {\n display: inline !important;\n}\n\n.eui-u-display-inline-block {\n display: inline-block !important;\n}\n\n.eui-u-display-print-only {\n display: none !important;\n}\n\n.eui-u-display-hidden-desktop-down {\n display: initial;\n}\n\n@include media($eui-bkp-desktop-down) {\n .eui-u-display-hidden-desktop-down {\n display: none !important;\n }\n}\n",".eui-u-width-auto {\n width: auto !important;\n}\n\n.eui-u-width-100 {\n width: 100% !important;\n}\n\n.eui-u-width-1 {\n max-width: v(eui-base-spacing-m);\n min-width: v(eui-base-spacing-m);\n width: v(eui-base-spacing-m) !important;\n}\n\n.eui-u-width-2 {\n max-width: calc(2 * #{v(eui-base-spacing-m)});\n min-width: calc(2 * #{v(eui-base-spacing-m)});\n width: calc(2 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-3 {\n max-width: calc(3 * #{v(eui-base-spacing-m)});\n min-width: calc(3 * #{v(eui-base-spacing-m)});\n width: calc(3 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-4 {\n max-width: calc(4 * #{v(eui-base-spacing-m)});\n min-width: calc(4 * #{v(eui-base-spacing-m)});\n width: calc(4 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-5 {\n max-width: calc(5 * #{v(eui-base-spacing-m)});\n min-width: calc(5 * #{v(eui-base-spacing-m)});\n width: calc(5 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-6 {\n max-width: calc(6 * #{v(eui-base-spacing-m)});\n min-width: calc(6 * #{v(eui-base-spacing-m)});\n width: calc(6 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-7 {\n max-width: calc(7 * #{v(eui-base-spacing-m)});\n min-width: calc(7 * #{v(eui-base-spacing-m)});\n width: calc(7 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-8 {\n max-width: calc(8 * #{v(eui-base-spacing-m)});\n min-width: calc(8 * #{v(eui-base-spacing-m)});\n width: calc(8 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-9 {\n max-width: calc(9 * #{v(eui-base-spacing-m)});\n min-width: calc(9 * #{v(eui-base-spacing-m)});\n width: calc(9 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-10 {\n max-width: calc(10 * #{v(eui-base-spacing-m)});\n min-width: calc(10 * #{v(eui-base-spacing-m)});\n width: calc(10 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-11 {\n max-width: calc(11 * #{v(eui-base-spacing-m)});\n min-width: calc(11 * #{v(eui-base-spacing-m)});\n width: calc(11 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-12 {\n max-width: calc(12 * #{v(eui-base-spacing-m)});\n min-width: calc(12 * #{v(eui-base-spacing-m)});\n width: calc(12 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-13 {\n max-width: calc(13 * #{v(eui-base-spacing-m)});\n min-width: calc(13 * #{v(eui-base-spacing-m)});\n width: calc(13 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-14 {\n max-width: calc(14 * #{v(eui-base-spacing-m)});\n min-width: calc(14 * #{v(eui-base-spacing-m)});\n width: calc(14 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-15 {\n max-width: calc(15 * #{v(eui-base-spacing-m)});\n min-width: calc(15 * #{v(eui-base-spacing-m)});\n width: calc(15 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-16 {\n max-width: calc(16 * #{v(eui-base-spacing-m)});\n min-width: calc(16 * #{v(eui-base-spacing-m)});\n width: calc(16 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-17 {\n max-width: calc(17 * #{v(eui-base-spacing-m)});\n min-width: calc(17 * #{v(eui-base-spacing-m)});\n width: calc(17 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-18 {\n max-width: calc(18 * #{v(eui-base-spacing-m)});\n min-width: calc(18 * #{v(eui-base-spacing-m)});\n width: calc(18 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-19 {\n max-width: calc(19 * #{v(eui-base-spacing-m)});\n min-width: calc(19 * #{v(eui-base-spacing-m)});\n width: calc(19 * #{v(eui-base-spacing-m)}) !important;\n}\n\n.eui-u-width-20 {\n max-width: calc(20 * #{v(eui-base-spacing-m)});\n min-width: calc(20 * #{v(eui-base-spacing-m)});\n width: calc(20 * #{v(eui-base-spacing-m)}) !important;\n}\n"]}