Browse Source

Redesign page headers (#1412)

* First pass on page headers redesign

* Headers on all threads lists

* WIP thread header redesign

* Add thread options to headerss

* Thread headers

* Update page headers on legal pages

* Error pages

* Update more pages headers

* Update page header on user options page

* Update users lists page header

* Add styles for pills

* Update site search headers

* WIP user profile header

* Redesign user profile header
Rafał Pitoń 2 years ago
parent
commit
4a67413fe0
143 changed files with 2348 additions and 2534 deletions
  1. 8 0
      frontend/src/components/Breadcrumbs/Breadcrumbs.jsx
  2. 31 0
      frontend/src/components/Breadcrumbs/BreadcrumbsCategory.jsx
  3. 17 0
      frontend/src/components/Breadcrumbs/BreadcrumbsRootCategory.jsx
  4. 5 0
      frontend/src/components/Breadcrumbs/index.js
  5. 8 0
      frontend/src/components/FlexRow/FlexRow.jsx
  6. 14 0
      frontend/src/components/FlexRow/FlexRowCol.jsx
  7. 16 0
      frontend/src/components/FlexRow/FlexRowSection.jsx
  8. 5 0
      frontend/src/components/FlexRow/index.js
  9. 7 0
      frontend/src/components/PageContainer.jsx
  10. 21 0
      frontend/src/components/PageHeader/PageHeader.jsx
  11. 18 0
      frontend/src/components/PageHeader/PageHeaderBanner.jsx
  12. 7 0
      frontend/src/components/PageHeader/PageHeaderContainer.jsx
  13. 8 0
      frontend/src/components/PageHeader/PageHeaderDetails.jsx
  14. 11 0
      frontend/src/components/PageHeader/PageHeaderHTMLMessage.jsx
  15. 8 0
      frontend/src/components/PageHeader/PageHeaderMessage.jsx
  16. 20 0
      frontend/src/components/PageHeader/PageHeaderPlain.jsx
  17. 17 0
      frontend/src/components/PageHeader/index.js
  18. 10 13
      frontend/src/components/ThreadFlags.jsx
  19. 3 3
      frontend/src/components/ThreadReplies.jsx
  20. 49 0
      frontend/src/components/ThreadStarterCard.jsx
  21. 4 4
      frontend/src/components/ThreadsList/ThreadsListItem.jsx
  22. 1 5
      frontend/src/components/options/navs.js
  23. 70 28
      frontend/src/components/options/root.js
  24. 1 1
      frontend/src/components/post-feed/post/post-side/index.js
  25. 1 1
      frontend/src/components/posts-list/post/controls/move.js
  26. 66 0
      frontend/src/components/profile/ProfileDataList.jsx
  27. 120 0
      frontend/src/components/profile/ProfileHeader.jsx
  28. 96 0
      frontend/src/components/profile/ProfileHeaderCard.jsx
  29. 1 1
      frontend/src/components/profile/details/header.js
  30. 0 267
      frontend/src/components/profile/header.js
  31. 39 64
      frontend/src/components/profile/moderation/nav.js
  32. 32 15
      frontend/src/components/profile/root.js
  33. 50 44
      frontend/src/components/search/form.js
  34. 3 2
      frontend/src/components/search/page.js
  35. 11 5
      frontend/src/components/search/threads/index.js
  36. 16 6
      frontend/src/components/search/users/index.js
  37. 75 0
      frontend/src/components/thread/ThreadHeader/ThreadHeader.jsx
  38. 20 0
      frontend/src/components/thread/ThreadHeader/ThreadHeaderBreadcrumbs.jsx
  39. 3 0
      frontend/src/components/thread/ThreadHeader/index.js
  40. 25 0
      frontend/src/components/thread/ThreadModeration.jsx
  41. 0 8
      frontend/src/components/thread/ThreadToolbarTop.jsx
  42. 0 35
      frontend/src/components/thread/header/breadcrumbs.js
  43. 0 232
      frontend/src/components/thread/header/index.js
  44. 0 153
      frontend/src/components/thread/header/stats.js
  45. 1 1
      frontend/src/components/thread/moderation/posts/move.js
  46. 136 0
      frontend/src/components/thread/moderation/thread/ThreadChangeTitleModal.jsx
  47. 129 172
      frontend/src/components/thread/moderation/thread/controls.js
  48. 2 3
      frontend/src/components/thread/moderation/thread/index.js
  49. 0 13
      frontend/src/components/thread/moderation/thread/is-visible.js
  50. 1 1
      frontend/src/components/thread/moderation/thread/merge.js
  51. 1 1
      frontend/src/components/thread/moderation/thread/move.js
  52. 0 148
      frontend/src/components/thread/paginator.js
  53. 81 13
      frontend/src/components/thread/route.js
  54. 3 1
      frontend/src/components/threads/ThreadsToolbar.jsx
  55. 3 30
      frontend/src/components/threads/container.js
  56. 0 64
      frontend/src/components/threads/header.js
  57. 11 11
      frontend/src/components/threads/moderation/controls.js
  58. 52 14
      frontend/src/components/threads/route.js
  59. 3 2
      frontend/src/components/users/active-posters/list-empty.js
  60. 3 2
      frontend/src/components/users/active-posters/list-preview.js
  61. 3 2
      frontend/src/components/users/active-posters/list-ready.js
  62. 0 1
      frontend/src/components/users/nav.js
  63. 12 8
      frontend/src/components/users/rank/RankUsersLeft.jsx
  64. 2 8
      frontend/src/components/users/rank/RankUsersList.js
  65. 1 3
      frontend/src/components/users/rank/RankUsersListLoader.js
  66. 1 4
      frontend/src/components/users/rank/RankUsersToolbar.jsx
  67. 7 6
      frontend/src/components/users/rank/root.js
  68. 18 16
      frontend/src/components/users/root.js
  69. 0 167
      frontend/src/style/flavor/page-header.less
  70. 0 0
      frontend/src/style/flavor/threads-list.less
  71. 0 35
      frontend/src/style/flavor/user-profile.less
  72. 0 57
      frontend/src/style/flavor/variables.less
  73. 6 3
      frontend/src/style/index.less
  74. 44 0
      frontend/src/style/misago/breadcrumbs.less
  75. 1 1
      frontend/src/style/misago/dropdowns.less
  76. 50 0
      frontend/src/style/misago/flex-row.less
  77. 30 0
      frontend/src/style/misago/navs.less
  78. 5 0
      frontend/src/style/misago/page-container.less
  79. 10 210
      frontend/src/style/misago/page-header.less
  80. 67 0
      frontend/src/style/misago/thread-flags.less
  81. 13 0
      frontend/src/style/misago/thread-replies.less
  82. 21 0
      frontend/src/style/misago/thread-user-card.less
  83. 2 78
      frontend/src/style/misago/threads-lists.less
  84. 43 89
      frontend/src/style/misago/user-profile.less
  85. 29 1
      frontend/src/style/misago/variables.less
  86. 3 1
      misago/categories/api.py
  87. 16 1
      misago/categories/serializers.py
  88. 3 1
      misago/categories/views.py
  89. 17 6
      misago/conf/admin/forms/general.py
  90. 17 0
      misago/conf/migrations/0006_add_index_message.py
  91. 5 2
      misago/search/views.py
  92. 1 1
      misago/static/misago/css/misago.css
  93. 1 1
      misago/static/misago/css/misago.css.map
  94. 1 1
      misago/static/misago/js/misago.js
  95. 0 0
      misago/static/misago/js/misago.js.map
  96. 1 2
      misago/templates/misago/activation/done.html
  97. 1 2
      misago/templates/misago/activation/error.html
  98. 14 7
      misago/templates/misago/activation/request.html
  99. 1 2
      misago/templates/misago/activation/stopped.html
  100. 2 1
      misago/templates/misago/admin/conf/general_settings.html
  101. 1 1
      misago/templates/misago/categories/base.html
  102. 40 9
      misago/templates/misago/categories/header.html
  103. 1 2
      misago/templates/misago/errorpages/403.html
  104. 1 2
      misago/templates/misago/errorpages/404.html
  105. 1 2
      misago/templates/misago/errorpages/405.html
  106. 1 1
      misago/templates/misago/errorpages/ban_message.html
  107. 1 2
      misago/templates/misago/errorpages/banned.html
  108. 1 2
      misago/templates/misago/errorpages/csrf_failure.html
  109. 1 2
      misago/templates/misago/errorpages/csrf_failure_authenticated.html
  110. 1 2
      misago/templates/misago/errorpages/social.html
  111. 1 2
      misago/templates/misago/forgottenpassword/error.html
  112. 18 10
      misago/templates/misago/forgottenpassword/form.html
  113. 18 10
      misago/templates/misago/forgottenpassword/request.html
  114. 1 2
      misago/templates/misago/options/credentials_changed.html
  115. 1 2
      misago/templates/misago/options/credentials_error.html
  116. 1 2
      misago/templates/misago/options/noscript.html
  117. 14 6
      misago/templates/misago/privacy_policy.html
  118. 3 7
      misago/templates/misago/profile/base.html
  119. 109 48
      misago/templates/misago/profile/header.html
  120. 0 4
      misago/templates/misago/profile/nav.html
  121. 28 19
      misago/templates/misago/search.html
  122. 1 2
      misago/templates/misago/socialauth.html
  123. 14 6
      misago/templates/misago/terms_of_service.html
  124. 20 18
      misago/templates/misago/thread/breadcrumbs.html
  125. 76 0
      misago/templates/misago/thread/header.html
  126. 2 12
      misago/templates/misago/thread/private_thread.html
  127. 0 89
      misago/templates/misago/thread/stats.html
  128. 2 12
      misago/templates/misago/thread/thread.html
  129. 0 10
      misago/templates/misago/thread/toolbar_top.html
  130. 52 0
      misago/templates/misago/thread_flags.html
  131. 11 0
      misago/templates/misago/thread_replies.html
  132. 4 7
      misago/templates/misago/threadslist/base.html
  133. 17 28
      misago/templates/misago/threadslist/category.html
  134. 15 13
      misago/templates/misago/threadslist/private_threads.html
  135. 2 59
      misago/templates/misago/threadslist/thread.html
  136. 35 10
      misago/templates/misago/threadslist/threads.html
  137. 4 5
      misago/templates/misago/userslists/active_posters.html
  138. 24 18
      misago/templates/misago/userslists/base.html
  139. 3 5
      misago/templates/misago/userslists/rank.html
  140. 1 1
      misago/threads/api/threadendpoints/patch.py
  141. 23 21
      misago/threads/serializers/thread.py
  142. 7 1
      misago/threads/viewmodels/category.py
  143. 1 0
      misago/users/apps.py

+ 8 - 0
frontend/src/components/Breadcrumbs/Breadcrumbs.jsx

@@ -0,0 +1,8 @@
+import classnames from "classnames"
+import React from "react"
+
+const Breadcrumbs = ({ children, className }) => (
+  <ul className={classnames("breadcrumbs", className)}>{children}</ul>
+)
+
+export default Breadcrumbs

+ 31 - 0
frontend/src/components/Breadcrumbs/BreadcrumbsCategory.jsx

@@ -0,0 +1,31 @@
+import classnames from "classnames"
+import React from "react"
+
+const BreadcrumbsCategory = ({ category, className }) => (
+  <li className={classnames("breadcrumbs-item", className)}>
+    <a href={category.url.index}>
+      <span
+        className="material-icon"
+        style={{ color: category.color || "inherit" }}
+      >
+        label
+      </span>
+      {!!category.short_name && (
+        <span
+          className="breadcrumbs-item-name hidden-sm hidden-md hidden-lg"
+          title={category.name}
+        >
+          {category.short_name}
+        </span>
+      )}
+      {!!category.short_name && (
+        <span className="breadcrumbs-item-name hidden-xs">{category.name}</span>
+      )}
+      {!category.short_name && (
+        <span className="breadcrumbs-item-name">{category.name}</span>
+      )}
+    </a>
+  </li>
+)
+
+export default BreadcrumbsCategory

+ 17 - 0
frontend/src/components/Breadcrumbs/BreadcrumbsRootCategory.jsx

@@ -0,0 +1,17 @@
+import classnames from "classnames"
+import React from "react"
+
+const BreadcrumbsRootCategory = ({ category, className }) => (
+  <li className={classnames("breadcrumbs-item", className)}>
+    <a href={category.url.index}>
+      <span className="material-icon">chevron_right</span>
+      <span className="breadcrumbs-item-name">
+        {category.special_role === "root_category"
+          ? gettext("Threads")
+          : gettext("Private threads")}
+      </span>
+    </a>
+  </li>
+)
+
+export default BreadcrumbsRootCategory

+ 5 - 0
frontend/src/components/Breadcrumbs/index.js

@@ -0,0 +1,5 @@
+import Breadcrumbs from "./Breadcrumbs"
+import BreadcrumbsCategory from "./BreadcrumbsCategory"
+import BreadcrumbsRootCategory from "./BreadcrumbsRootCategory"
+
+export { Breadcrumbs, BreadcrumbsCategory, BreadcrumbsRootCategory }

+ 8 - 0
frontend/src/components/FlexRow/FlexRow.jsx

@@ -0,0 +1,8 @@
+import classnames from "classnames"
+import React from "react"
+
+const FlexRow = ({ children, className }) => (
+  <div className={classnames("flex-row", className)}>{children}</div>
+)
+
+export default FlexRow

+ 14 - 0
frontend/src/components/FlexRow/FlexRowCol.jsx

@@ -0,0 +1,14 @@
+import classnames from "classnames"
+import React from "react"
+
+const FlexRowCol = ({ children, className, shrink }) => (
+  <div
+    className={classnames("flex-row-col", className, {
+      "flex-row-col-shrink": shrink,
+    })}
+  >
+    {children}
+  </div>
+)
+
+export default FlexRowCol

+ 16 - 0
frontend/src/components/FlexRow/FlexRowSection.jsx

@@ -0,0 +1,16 @@
+import classnames from "classnames"
+import React from "react"
+
+const FlexRowSection = ({ auto, children, className }) => (
+  <div
+    className={classnames(
+      "flex-row-section",
+      { "flex-row-section-auto": auto },
+      className
+    )}
+  >
+    {children}
+  </div>
+)
+
+export default FlexRowSection

+ 5 - 0
frontend/src/components/FlexRow/index.js

@@ -0,0 +1,5 @@
+import FlexRow from "./FlexRow"
+import FlexRowCol from "./FlexRowCol"
+import FlexRowSection from "./FlexRowSection"
+
+export { FlexRow, FlexRowCol, FlexRowSection }

+ 7 - 0
frontend/src/components/PageContainer.jsx

@@ -0,0 +1,7 @@
+import React from "react"
+
+const PageContainer = ({ children }) => (
+  <div className="container page-container">{children}</div>
+)
+
+export default PageContainer

+ 21 - 0
frontend/src/components/PageHeader/PageHeader.jsx

@@ -0,0 +1,21 @@
+import classnames from "classnames"
+import React from "react"
+
+const PageHeader = ({ children, className, styleName }) => (
+  <div
+    className={classnames(
+      "page-header",
+      className,
+      styleName && "page-header-" + styleName
+    )}
+  >
+    <div className="page-header-bg-image">
+      <div className="page-header-bg-overlay">
+        <div className="page-header-image" />
+        {children}
+      </div>
+    </div>
+  </div>
+)
+
+export default PageHeader

+ 18 - 0
frontend/src/components/PageHeader/PageHeaderBanner.jsx

@@ -0,0 +1,18 @@
+import classnames from "classnames"
+import React from "react"
+
+const PageHeaderBanner = ({ children, className, styleName }) => (
+  <div
+    className={classnames(
+      "page-header-banner",
+      className,
+      styleName && "page-header-banner-" + styleName
+    )}
+  >
+    <div className="page-header-banner-bg-image">
+      <div className="page-header-banner-bg-overlay">{children}</div>
+    </div>
+  </div>
+)
+
+export default PageHeaderBanner

+ 7 - 0
frontend/src/components/PageHeader/PageHeaderContainer.jsx

@@ -0,0 +1,7 @@
+import React from "react"
+
+const PageHeaderContainer = ({ children }) => (
+  <div className="container page-header-container">{children}</div>
+)
+
+export default PageHeaderContainer

+ 8 - 0
frontend/src/components/PageHeader/PageHeaderDetails.jsx

@@ -0,0 +1,8 @@
+import classnames from "classnames"
+import React from "react"
+
+const PageHeaderDetails = ({ children, className }) => (
+  <div className={classnames("page-header-details", className)}>{children}</div>
+)
+
+export default PageHeaderDetails

+ 11 - 0
frontend/src/components/PageHeader/PageHeaderHTMLMessage.jsx

@@ -0,0 +1,11 @@
+import classnames from "classnames"
+import React from "react"
+
+const PageHeaderHTMLMessage = ({ className, message }) => (
+  <div
+    className={classnames("page-header-message", className)}
+    dangerouslySetInnerHTML={{ __html: message }}
+  />
+)
+
+export default PageHeaderHTMLMessage

+ 8 - 0
frontend/src/components/PageHeader/PageHeaderMessage.jsx

@@ -0,0 +1,8 @@
+import classnames from "classnames"
+import React from "react"
+
+const PageHeaderMessage = ({ children, className }) => (
+  <div className={classnames("page-header-message", className)}>{children}</div>
+)
+
+export default PageHeaderMessage

+ 20 - 0
frontend/src/components/PageHeader/PageHeaderPlain.jsx

@@ -0,0 +1,20 @@
+import React from "react"
+import PageHeader from "./PageHeader"
+import PageHeaderBanner from "./PageHeaderBanner"
+import PageHeaderContainer from "./PageHeaderContainer"
+import PageHeaderDetails from "./PageHeaderDetails"
+
+const PageHeaderPlain = ({ styleName, header, message }) => (
+  <PageHeaderContainer>
+    <PageHeader styleName={styleName}>
+      <PageHeaderBanner styleName={styleName}>
+        <h1>{header}</h1>
+      </PageHeaderBanner>
+      {message && (
+        <PageHeaderDetails styleName={styleName}>{message}</PageHeaderDetails>
+      )}
+    </PageHeader>
+  </PageHeaderContainer>
+)
+
+export default PageHeaderPlain

+ 17 - 0
frontend/src/components/PageHeader/index.js

@@ -0,0 +1,17 @@
+import PageHeader from "./PageHeader"
+import PageHeaderBanner from "./PageHeaderBanner"
+import PageHeaderContainer from "./PageHeaderContainer"
+import PageHeaderDetails from "./PageHeaderDetails"
+import PageHeaderHTMLMessage from "./PageHeaderHTMLMessage"
+import PageHeaderMessage from "./PageHeaderMessage"
+import PageHeaderPlain from "./PageHeaderPlain"
+
+export {
+  PageHeader,
+  PageHeaderBanner,
+  PageHeaderContainer,
+  PageHeaderDetails,
+  PageHeaderHTMLMessage,
+  PageHeaderMessage,
+  PageHeaderPlain,
+}

+ 10 - 13
frontend/src/components/ThreadsList/ThreadsListItemFlags.jsx → frontend/src/components/ThreadFlags.jsx

@@ -1,10 +1,10 @@
 import React from "react"
 
-const ThreadsListItemFlags = ({ thread }) => (
-  <ul className="threads-list-item-flags">
+const ThreadFlags = ({ thread }) => (
+  <ul className="thread-flags">
     {thread.weight == 2 && (
       <li
-        className="threads-list-item-flag-pinned-globally"
+        className="thread-flag-pinned-globally"
         title={gettext("Pinned globally")}
       >
         <span className="material-icon">bookmark</span>
@@ -12,28 +12,25 @@ const ThreadsListItemFlags = ({ thread }) => (
     )}
     {thread.weight == 1 && (
       <li
-        className="threads-list-item-flag-pinned-locally"
+        className="thread-flag-pinned-locally"
         title={gettext("Pinned in category")}
       >
         <span className="material-icon">bookmark_outline</span>
       </li>
     )}
     {thread.best_answer && (
-      <li
-        className="threads-list-item-flag-answered"
-        title={gettext("Answered")}
-      >
+      <li className="thread-flag-answered" title={gettext("Answered")}>
         <span className="material-icon">check_circle</span>
       </li>
     )}
     {thread.has_poll && (
-      <li className="threads-list-item-flag-poll" title={gettext("Poll")}>
+      <li className="thread-flag-poll" title={gettext("Poll")}>
         <span className="material-icon">poll</span>
       </li>
     )}
     {(thread.is_unapproved || thread.has_unapproved_posts) && (
       <li
-        className="threads-list-item-flag-unapproved"
+        className="thread-flag-unapproved"
         title={
           thread.is_unapproved
             ? gettext("Awaiting approval")
@@ -44,16 +41,16 @@ const ThreadsListItemFlags = ({ thread }) => (
       </li>
     )}
     {thread.is_closed && (
-      <li className="threads-list-item-flag-closed" title={gettext("Closed")}>
+      <li className="thread-flag-closed" title={gettext("Closed")}>
         <span className="material-icon">lock</span>
       </li>
     )}
     {thread.is_hidden && (
-      <li className="threads-list-item-flag-hidden" title={gettext("Hidden")}>
+      <li className="thread-flag-hidden" title={gettext("Hidden")}>
         <span className="material-icon">visibility_off</span>
       </li>
     )}
   </ul>
 )
 
-export default ThreadsListItemFlags
+export default ThreadFlags

+ 3 - 3
frontend/src/components/ThreadsList/ThreadsListItemReplies.jsx → frontend/src/components/ThreadReplies.jsx

@@ -1,8 +1,8 @@
 import React from "react"
 
-const ThreadsListItemReplies = ({ thread }) => (
+const ThreadReplies = ({ thread }) => (
   <span
-    className="threads-list-item-replies"
+    className="threads-replies"
     title={interpolate(
       ngettext("%(replies)s reply", "%(replies)s replies", thread.replies),
       { replies: thread.replies },
@@ -16,4 +16,4 @@ const ThreadsListItemReplies = ({ thread }) => (
   </span>
 )
 
-export default ThreadsListItemReplies
+export default ThreadReplies

+ 49 - 0
frontend/src/components/ThreadStarterCard.jsx

@@ -0,0 +1,49 @@
+import React from "react"
+import Avatar from "./avatar"
+
+const ThreadStarterCard = ({ thread }) => (
+  <div className="thread-user-card">
+    <div className="thread-user-card-media">
+      {thread.starter ? (
+        <a href={thread.url.starter}>
+          <Avatar size={40} user={thread.starter} />
+        </a>
+      ) : (
+        <Avatar size={40} />
+      )}
+    </div>
+    <div className="thread-user-card-body">
+      <div className="thread-user-card-header">
+        {thread.starter ? (
+          <a
+            className="item-title"
+            href={thread.url.starter}
+            title={gettext("Thread author")}
+          >
+            {thread.starter.username}
+          </a>
+        ) : (
+          <span className="item-title" title={gettext("Thread author")}>
+            {thread.starter_name}
+          </span>
+        )}
+      </div>
+      <div>
+        <span
+          className="text-muted"
+          title={interpolate(
+            gettext("Started on: %(timestamp)s"),
+            {
+              timestamp: thread.started_on.format("LLL"),
+            },
+            true
+          )}
+        >
+          {thread.started_on.fromNow()}
+        </span>
+      </div>
+    </div>
+  </div>
+)
+
+export default ThreadStarterCard

+ 4 - 4
frontend/src/components/ThreadsList/ThreadsListItem.jsx

@@ -1,11 +1,11 @@
 import React from "react"
+import ThreadFlags from "../ThreadFlags"
+import ThreadReplies from "../ThreadReplies"
 import ThreadsListItemActivity from "./ThreadsListItemActivity"
 import ThreadsListItemCategory from "./ThreadsListItemCategory"
 import ThreadsListItemCheckbox from "./ThreadsListItemCheckbox"
-import ThreadsListItemFlags from "./ThreadsListItemFlags"
 import ThreadsListItemIcon from "./ThreadsListItemIcon"
 import ThreadsListItemLastPoster from "./ThreadsListItemLastPoster"
-import ThreadsListItemReplies from "./ThreadsListItemReplies"
 import ThreadsListItemSubscription from "./ThreadsListItemSubscription"
 
 const ThreadsListItem = ({
@@ -84,7 +84,7 @@ const ThreadsListItem = ({
       <div className="threads-list-item-bottom-row">
         {hasFlags && (
           <div className="threads-list-item-col-flags">
-            <ThreadsListItemFlags thread={thread} />
+            <ThreadFlags thread={thread} />
           </div>
         )}
         {!!category && (
@@ -93,7 +93,7 @@ const ThreadsListItem = ({
           </div>
         )}
         <div className="threads-list-item-col-replies">
-          <ThreadsListItemReplies thread={thread} />
+          <ThreadReplies thread={thread} />
         </div>
         <div className="threads-list-item-col-last-poster">
           <ThreadsListItemLastPoster thread={thread} />

+ 1 - 5
frontend/src/components/options/navs.js

@@ -1,7 +1,6 @@
 import React from "react"
 import { Link } from "react-router"
 import Li from "misago/components/li"
-import misago from "misago/index"
 
 export function SideNav(props) {
   return (
@@ -25,10 +24,7 @@ export function SideNav(props) {
 
 export function CompactNav(props) {
   return (
-    <ul
-      className={props.className || "dropdown-menu stick-to-bottom"}
-      role="menu"
-    >
+    <ul className={props.className || "dropdown-menu"} role="menu">
       {props.options.map((option) => {
         return (
           <Li

+ 70 - 28
frontend/src/components/options/root.js

@@ -1,6 +1,5 @@
 import React from "react"
 import { connect } from "react-redux"
-import DropdownToggle from "misago/components/dropdown-toggle"
 import { SideNav, CompactNav } from "misago/components/options/navs"
 import DeleteAccount from "misago/components/options/delete-account"
 import EditDetails from "misago/components/options/edit-details"
@@ -10,28 +9,72 @@ import ChangeUsername from "misago/components/options/change-username/root"
 import ChangeSignInCredentials from "misago/components/options/sign-in-credentials/root"
 import WithDropdown from "misago/components/with-dropdown"
 import misago from "misago/index"
+import { FlexRow, FlexRowCol, FlexRowSection } from "../FlexRow"
+import PageContainer from "../PageContainer"
+import {
+  PageHeader,
+  PageHeaderBanner,
+  PageHeaderContainer,
+} from "../PageHeader"
 
 export default class extends WithDropdown {
   render() {
     return (
       <div className="page page-options">
-        <div className="page-header-bg">
-          <div className="page-header">
-            <div className="container">
-              <h1>{gettext("Change your options")}</h1>
-            </div>
-            <div className="page-tabs visible-xs-block visible-sm-block">
-              <div className="container">
-                <CompactNav
-                  className="nav nav-pills"
-                  baseUrl={misago.get("USERCP_URL")}
-                  options={misago.get("USER_OPTIONS")}
-                />
-              </div>
-            </div>
-          </div>
-        </div>
-        <div className="container">
+        <PageHeaderContainer>
+          <PageHeader styleName="options">
+            <PageHeaderBanner styleName="options">
+              <FlexRow>
+                <FlexRowSection auto>
+                  <FlexRowCol auto>
+                    <h1>{gettext("Change your options")}</h1>
+                  </FlexRowCol>
+                  <FlexRowCol className="hidden-xs hidden-md hidden-lg" shrink>
+                    <div className="dropdown">
+                      <button
+                        type="button"
+                        className="btn btn-default btn-outline btn-icon dropdown-toggle"
+                        title={gettext("Menu")}
+                        data-toggle="dropdown"
+                        aria-haspopup="true"
+                        aria-expanded="false"
+                      >
+                        <span className="material-icon">menu</span>
+                      </button>
+                      <CompactNav
+                        className="dropdown-menu dropdown-menu-right"
+                        baseUrl={misago.get("USERCP_URL")}
+                        options={misago.get("USER_OPTIONS")}
+                      />
+                    </div>
+                  </FlexRowCol>
+                </FlexRowSection>
+                <FlexRowSection className="hidden-sm hidden-md hidden-lg">
+                  <FlexRowCol>
+                    <div className="dropdown">
+                      <button
+                        type="button"
+                        className="btn btn-default btn-outline btn-block dropdown-toggle"
+                        data-toggle="dropdown"
+                        aria-haspopup="true"
+                        aria-expanded="false"
+                      >
+                        <span className="material-icon">menu</span>
+                        {gettext("Menu")}
+                      </button>
+                      <CompactNav
+                        className="dropdown-menu"
+                        baseUrl={misago.get("USERCP_URL")}
+                        options={misago.get("USER_OPTIONS")}
+                      />
+                    </div>
+                  </FlexRowCol>
+                </FlexRowSection>
+              </FlexRow>
+            </PageHeaderBanner>
+          </PageHeader>
+        </PageHeaderContainer>
+        <PageContainer>
           <div className="row">
             <div className="col-md-3 hidden-xs hidden-sm">
               <SideNav
@@ -41,7 +84,7 @@ export default class extends WithDropdown {
             </div>
             <div className="col-md-9">{this.props.children}</div>
           </div>
-        </div>
+        </PageContainer>
       </div>
     )
   }
@@ -65,17 +108,16 @@ export function paths() {
       path: misago.get("USERCP_URL") + "edit-details/",
       component: connect(select)(EditDetails),
     },
+    {
+      path: misago.get("USERCP_URL") + "change-username/",
+      component: connect(select)(ChangeUsername),
+    },
+    {
+      path: misago.get("USERCP_URL") + "sign-in-credentials/",
+      component: connect(select)(ChangeSignInCredentials),
+    },
   ]
 
-  paths.push({
-    path: misago.get("USERCP_URL") + "change-username/",
-    component: connect(select)(ChangeUsername),
-  })
-  paths.push({
-    path: misago.get("USERCP_URL") + "sign-in-credentials/",
-    component: connect(select)(ChangeSignInCredentials),
-  })
-
   if (misago.get("ENABLE_DOWNLOAD_OWN_DATA")) {
     paths.push({
       path: misago.get("USERCP_URL") + "download-data/",

+ 1 - 1
frontend/src/components/post-feed/post/post-side/index.js

@@ -3,7 +3,7 @@ import Anonymous from "./anonymous"
 import Registered from "./registered"
 
 export default function ({ post, poster }) {
-  if (poster.id) {
+  if (poster && poster.id) {
     return <Registered post={post} poster={poster} />
   }
 

+ 1 - 1
frontend/src/components/posts-list/post/controls/move.js

@@ -87,7 +87,7 @@ export default class extends Form {
             <div className="modal-footer">
               <button
                 className="btn btn-primary"
-                loading={this.state.isLoading}
+                disabled={this.state.isLoading}
               >
                 {gettext("Move post")}
               </button>

+ 66 - 0
frontend/src/components/profile/ProfileDataList.jsx

@@ -0,0 +1,66 @@
+import React from "react"
+import Status, { StatusIcon, StatusLabel } from "../user-status"
+
+const ProfileDataList = ({ profile }) => (
+  <ul className="profile-data-list">
+    {profile.is_active === false && (
+      <li className="user-account-disabled">
+        <abbr title={gettext("This user's account has been disabled by administrator.")}>
+          {gettext("Account disabled")}
+        </abbr>
+      </li>
+    )}
+    <li className="user-status-display">
+      <Status user={profile} status={profile.status}>
+        <StatusIcon user={profile} status={profile.status} />
+        <StatusLabel
+          user={profile}
+          status={profile.status}
+          className="status-label"
+        />
+      </Status>
+    </li>
+    {profile.rank.is_tab ? (
+      <li className="user-rank">
+        <a href={profile.rank.url} className="item-title">
+          {profile.rank.name}
+        </a>
+      </li>
+    ) : (
+      <li className="user-rank">
+        <span className="item-title">{profile.rank.name}</span>
+      </li>
+    )}
+    {(profile.title || profile.rank.title) && (
+      <li className="user-title">{profile.title || profile.rank.title}</li>
+    )}
+    <li className="user-joined-on">
+      <abbr
+        title={interpolate(
+          gettext("Joined on %(joined_on)s"),
+          {
+            joined_on: profile.joined_on.format("LL, LT"),
+          },
+          true
+        )}
+      >
+        {interpolate(
+          gettext("Joined %(joined_on)s"),
+          {
+            joined_on: profile.joined_on.fromNow(),
+          },
+          true
+        )}
+      </abbr>
+    </li>
+    {profile.email && (
+      <li className="user-email">
+        <a href={"mailto:" + profile.email} className="item-title">
+          {profile.email}
+        </a>
+      </li>
+    )}
+  </ul>
+)
+
+export default ProfileDataList

+ 120 - 0
frontend/src/components/profile/ProfileHeader.jsx

@@ -0,0 +1,120 @@
+import React from "react"
+import Avatar from "../avatar"
+import { FlexRow, FlexRowCol, FlexRowSection } from "../FlexRow"
+import { PageHeader, PageHeaderBanner, PageHeaderContainer, PageHeaderDetails } from "../PageHeader"
+import FollowButton from "./follow-button"
+import MessageButton from "./message-button"
+import ModerationOptions from "./moderation/nav"
+import ProfileDataList from "./ProfileDataList"
+
+const ProfileHeader = ({ profile, user, moderation, message, follow }) => (
+  <PageHeaderContainer>
+    <PageHeader styleName={profile.rank.css_class ? "rank-" + profile.rank.css_class : "profile"}>
+      <PageHeaderBanner styleName={profile.rank.css_class ? "rank-" + profile.rank.css_class : "profile"}>
+        <div className="profile-page-header">
+          <div className="profile-page-header-avatar">
+            <Avatar className="user-avatar hidden-sm hidden-md hidden-lg" user={profile} size={200} size2x={400} />
+            <Avatar className="user-avatar hidden-xs hidden-md hidden-lg" user={profile} size={64} size2x={128} />
+            <Avatar className="user-avatar hidden-xs hidden-sm" user={profile} size={128} size2x={256} />
+          </div>
+          <h1>{profile.username}</h1>
+        </div>
+      </PageHeaderBanner>
+      <PageHeaderDetails className="profile-page-header-details">
+        <FlexRow>
+          <FlexRowSection auto>
+            <FlexRowCol>
+              <ProfileDataList profile={profile} />
+            </FlexRowCol>
+          </FlexRowSection>
+          {message && (
+            <FlexRowSection>
+              <FlexRowCol>
+                <MessageButton
+                  className="btn btn-default btn-block btn-outline"
+                  profile={profile}
+                  user={user}
+                />
+              </FlexRowCol>
+              {moderation.available && !follow && (
+                <FlexRowCol shrink>
+                  <div className="dropdown">
+                    <ProfileModerationButton />
+                    <ModerationOptions
+                      profile={profile}
+                      moderation={moderation}
+                    />
+                  </div>
+                </FlexRowCol>
+              )}
+            </FlexRowSection>
+          )}
+          {follow && (
+            <FlexRowSection>
+              <FlexRowCol>
+                <FollowButton
+                  className="btn btn-block btn-outline"
+                  profile={profile}
+                />
+              </FlexRowCol>
+              {moderation.available && (
+                <FlexRowCol shrink>
+                  <div className="dropdown">
+                    <ProfileModerationButton />
+                    <ModerationOptions
+                      profile={profile}
+                      moderation={moderation}
+                    />
+                  </div>
+                </FlexRowCol>
+              )}
+            </FlexRowSection>
+          )}
+          {moderation.available && !follow && !message && (
+            <FlexRowSection>
+              <FlexRowCol className="hidden-xs" shrink>
+                <div className="dropdown">
+                  <ProfileModerationButton />
+                  <ModerationOptions
+                    profile={profile}
+                    moderation={moderation}
+                  />
+                </div>
+              </FlexRowCol>
+              <FlexRowCol className="hidden-sm hidden-md hidden-lg">
+                <div className="dropdown">
+                  <button
+                    className="btn btn-default btn-block btn-outline dropdown-toggle"
+                    type="button"
+                    data-toggle="dropdown"
+                    aria-haspopup="true"
+                    aria-expanded="false"
+                  >
+                    <span className="material-icon">settings</span>
+                    {gettext("Options")}
+                  </button>
+                  <ModerationOptions profile={profile} moderation={moderation} />
+                </div>
+              </FlexRowCol>
+            </FlexRowSection>
+          )}
+        </FlexRow>
+      </PageHeaderDetails>
+    </PageHeader>
+  </PageHeaderContainer>
+)
+
+const ProfileModerationButton = () => (
+  <button
+    className="btn btn-default btn-icon btn-outline dropdown-toggle"
+    type="button"
+    title={gettext("Options")}
+    data-toggle="dropdown"
+    aria-haspopup="true"
+    aria-expanded="false"
+  >
+    <span className="material-icon">settings</span>
+  </button>
+)
+
+export default ProfileHeader

+ 96 - 0
frontend/src/components/profile/ProfileHeaderCard.jsx

@@ -0,0 +1,96 @@
+import React from "react"
+import Avatar from "../avatar"
+import { FlexRow, FlexRowCol, FlexRowSection } from "../FlexRow"
+import FollowButton from "./follow-button"
+import MessageButton from "./message-button"
+import ModerationOptions from "./moderation/nav"
+import ProfileDataList from "./ProfileDataList"
+
+const ProfileHeader = ({ profile, user, moderation, message, follow }) => (
+  <div className="profile-header-card">
+    <div className="profile-header-card-avatar">
+      <Avatar user={profile} size="400" />
+    </div>
+    <div className="profile-header-card-body">
+      <h1>{profile.username}</h1>
+      <ProfileDataList profile={profile} />
+      {message && (
+        <FlexRow>
+          <FlexRowSection auto>
+            <FlexRowCol>
+              <MessageButton
+                className="btn btn-default btn-block btn-outline"
+                profile={profile}
+                user={user}
+              />
+            </FlexRowCol>
+            {moderation.available && !follow && (
+              <FlexRowCol shrink>
+                <div className="dropdown">
+                  <ProfileModerationButton />
+                  <ModerationOptions
+                    profile={profile}
+                    moderation={moderation}
+                  />
+                </div>
+              </FlexRowCol>
+            )}
+          </FlexRowSection>
+        </FlexRow>
+      )}
+      {follow && (
+        <FlexRow>
+          <FlexRowSection auto>
+            <FlexRowCol>
+              <FollowButton
+                className="btn btn-block btn-outline"
+                profile={profile}
+              />
+            </FlexRowCol>
+            {moderation.available && (
+              <FlexRowCol shrink>
+                <div className="dropdown">
+                  <ProfileModerationButton />
+                  <ModerationOptions
+                    profile={profile}
+                    moderation={moderation}
+                  />
+                </div>
+              </FlexRowCol>
+            )}
+          </FlexRowSection>
+        </FlexRow>
+      )}
+      {moderation.available && !follow && !message && (
+        <div className="dropdown">
+          <button
+            className="btn btn-default btn-block btn-outline dropdown-toggle"
+            type="button"
+            data-toggle="dropdown"
+            aria-haspopup="true"
+            aria-expanded="false"
+          >
+            <span className="material-icon">settings</span>
+            {gettext("Options")}
+          </button>
+          <ModerationOptions profile={profile} moderation={moderation} />
+        </div>
+      )}
+    </div>
+  </div>
+)
+
+const ProfileModerationButton = () => (
+  <button
+    className="btn btn-default btn-icon btn-outline dropdown-toggle"
+    type="button"
+    title={gettext("Options")}
+    data-toggle="dropdown"
+    aria-haspopup="true"
+    aria-expanded="false"
+  >
+    <span className="material-icon">settings</span>
+  </button>
+)
+
+export default ProfileHeader

+ 1 - 1
frontend/src/components/profile/details/header.js

@@ -24,4 +24,4 @@ const ProfileDetailsHeader = ({ onEdit, showEditButton }) => (
   </Toolbar>
 )
 
-export default ProfileDetailsHeader
+export default ProfileDetailsHeader

+ 0 - 267
frontend/src/components/profile/header.js

@@ -1,267 +0,0 @@
-import React from "react"
-import Avatar from "misago/components/avatar"
-import DropdownToggle from "misago/components/dropdown-toggle"
-import FollowButton from "./follow-button"
-import MessageButton from "./message-button"
-import ModerationNav from "./moderation/nav"
-import { CompactNav } from "./navs"
-import Status, { StatusIcon, StatusLabel } from "misago/components/user-status"
-
-export default class extends React.Component {
-  getUserStatus() {
-    return (
-      <li className="user-status-display">
-        <Status user={this.props.profile} status={this.props.profile.status}>
-          <StatusIcon
-            user={this.props.profile}
-            status={this.props.profile.status}
-          />
-          <StatusLabel
-            user={this.props.profile}
-            status={this.props.profile.status}
-            className="status-label"
-          />
-        </Status>
-      </li>
-    )
-  }
-
-  getUserRank() {
-    if (this.props.profile.rank.is_tab) {
-      return (
-        <li className="user-rank">
-          <a href={this.props.profile.rank.url} className="item-title">
-            {this.props.profile.rank.name}
-          </a>
-        </li>
-      )
-    } else {
-      return (
-        <li className="user-rank">
-          <span className="item-title">{this.props.profile.rank.name}</span>
-        </li>
-      )
-    }
-  }
-
-  getUserTitle() {
-    if (this.props.profile.title) {
-      return <li className="user-title">{this.props.profile.title}</li>
-    } else if (this.props.profile.rank.title) {
-      return <li className="user-title">{this.props.profile.rank.title}</li>
-    } else {
-      return null
-    }
-  }
-
-  getJoinedOn() {
-    let title = interpolate(
-      gettext("Joined on %(joined_on)s"),
-      {
-        joined_on: this.props.profile.joined_on.format("LL, LT"),
-      },
-      true
-    )
-
-    let age = interpolate(
-      gettext("Joined %(joined_on)s"),
-      {
-        joined_on: this.props.profile.joined_on.fromNow(),
-      },
-      true
-    )
-
-    return (
-      <li className="user-joined-on">
-        <abbr title={title}>{age}</abbr>
-      </li>
-    )
-  }
-
-  getEmail() {
-    if (this.props.profile.email) {
-      return (
-        <li className="user-email">
-          <a href={"mailto:" + this.props.profile.email} className="item-title">
-            {this.props.profile.email}
-          </a>
-        </li>
-      )
-    } else {
-      return null
-    }
-  }
-
-  getFollowButton() {
-    if (this.props.profile.acl.can_follow) {
-      return (
-        <FollowButton
-          className="btn btn-block btn-outline"
-          profile={this.props.profile}
-        />
-      )
-    } else {
-      return null
-    }
-  }
-
-  getModerationButton() {
-    if (this.props.profile.acl.can_moderate) {
-      return (
-        <div className="btn-group btn-group-justified">
-          <div className="btn-group">
-            <button
-              className="btn btn-default btn-moderate btn-outline dropdown-toggle"
-              type="button"
-              data-toggle="dropdown"
-              aria-haspopup="true"
-              aria-expanded="false"
-            >
-              <span className="material-icon">tonality</span>
-              {gettext("Moderation")}
-            </button>
-            <ModerationNav profile={this.props.profile} />
-          </div>
-        </div>
-      )
-    } else {
-      return null
-    }
-  }
-
-  render() {
-    const canFollow = this.props.profile.acl.can_follow
-    const canModerate = this.props.profile.acl.can_moderate
-
-    const isProfileOwner = this.props.user.id === this.props.profile.id
-    const canMessage =
-      !isProfileOwner && this.props.user.acl.can_start_private_threads
-
-    let cols = 0
-    if (canFollow) cols += 1
-    if (canModerate) cols += 1
-    if (canMessage) cols += 1
-
-    const colsWidth = cols ? 2 * cols + 1 : 0
-
-    let headerClassName = "page-header"
-    if (this.props.profile.rank.css_class) {
-      headerClassName +=
-        " page-header-rank-" + this.props.profile.rank.css_class
-    }
-
-    return (
-      <div className="page-header-bg">
-        <div className={headerClassName}>
-          <div className="container">
-            <IsDisabledMessage
-              isActive={this.props.profile.is_active}
-              isDeletingAccount={this.props.profile.is_deleting_account}
-            />
-
-            <div className="row">
-              <div className="col-md-9 col-md-offset-3">
-                <div className="row">
-                  <div className={"col-sm-" + (12 - colsWidth)}>
-                    <Avatar
-                      className="user-avatar user-avatar-sm"
-                      user={this.props.profile}
-                      size="100"
-                      size2x="200"
-                    />
-                    <h1>{this.props.profile.username}</h1>
-                  </div>
-                  {!!cols && (
-                    <div className={"col-sm-" + colsWidth}>
-                      <div className="row xs-margin-top sm-margin-top">
-                        {!!canMessage && (
-                          <div className={getColStyle(cols, 0)}>
-                            <MessageButton
-                              className="btn btn-default btn-block btn-outline"
-                              profile={this.props.profile}
-                              user={this.props.user}
-                            />
-                          </div>
-                        )}
-                        {!!canFollow && (
-                          <div className={getColStyle(cols, 1)}>
-                            {this.getFollowButton()}
-                          </div>
-                        )}
-                        {!!canModerate && (
-                          <div className={getColStyle(cols, 2)}>
-                            {this.getModerationButton()}
-                          </div>
-                        )}
-                      </div>
-                    </div>
-                  )}
-                </div>
-              </div>
-            </div>
-          </div>
-          <div className="header-stats">
-            <div className="container">
-              <div className="row">
-                <div className="col-md-9 col-md-offset-3">
-                  <ul className="list-inline">
-                    {this.getUserStatus()}
-                    {this.getUserRank()}
-                    {this.getUserTitle()}
-                    {this.getJoinedOn()}
-                    {this.getEmail()}
-                  </ul>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <CompactNav
-            baseUrl={this.props.baseUrl}
-            pages={this.props.pages}
-            profile={this.props.profile}
-          />
-        </div>
-      </div>
-    )
-  }
-}
-
-export function IsDisabledMessage({ isActive, isDeletingAccount }) {
-  if (isActive !== false && isDeletingAccount !== true) return null
-
-  let message = null
-  if (isDeletingAccount) {
-    message = gettext("This user is deleting their account.")
-  } else {
-    message = gettext("This user's account has been disabled by administrator.")
-  }
-
-  return (
-    <div className="alert alert-danger">
-      <p>{message}</p>
-    </div>
-  )
-}
-
-export function getColStyle(cols, col) {
-  let colStyle = ""
-
-  if (cols == 1) {
-    colStyle = "col-xs-12"
-  }
-
-  if (cols == 2) {
-    colStyle = "col-xs-6 col-sm-6"
-  }
-
-  if (cols == 3) {
-    if (col == 2) {
-      colStyle = "col-xs-12 col-sm-4 xs-margin-top"
-    } else {
-      colStyle += "col-xs-6 col-sm-4"
-    }
-  }
-
-  return colStyle
-}

+ 39 - 64
frontend/src/components/profile/moderation/nav.js

@@ -18,80 +18,55 @@ export default class extends React.Component {
     modal.show(connect(select)(AvatarControls))
   }
 
-  getAvatarButton() {
-    if (this.props.profile.acl.can_moderate_avatar) {
-      return (
-        <li>
-          <button
-            type="button"
-            className="btn btn-link"
-            onClick={this.showAvatarDialog}
-          >
-            <span className="material-icon">portrait</span>
-            {gettext("Avatar controls")}
-          </button>
-        </li>
-      )
-    } else {
-      return null
-    }
-  }
-
   showRenameDialog = () => {
     modal.show(connect(select)(ChangeUsername))
   }
 
-  getRenameButton() {
-    if (this.props.profile.acl.can_rename) {
-      return (
-        <li>
-          <button
-            type="button"
-            className="btn btn-link"
-            onClick={this.showRenameDialog}
-          >
-            <span className="material-icon">credit_card</span>
-            {gettext("Change username")}
-          </button>
-        </li>
-      )
-    } else {
-      return null
-    }
-  }
-
   showDeleteDialog = () => {
     modal.show(connect(select)(DeleteAccount))
   }
 
-  getDeleteButton() {
-    if (this.props.profile.acl.can_delete) {
-      return (
-        <li>
-          <button
-            type="button"
-            className="btn btn-link"
-            onClick={this.showDeleteDialog}
-          >
-            <span className="material-icon">clear</span>
-            {gettext("Delete account")}
-          </button>
-        </li>
-      )
-    } else {
-      return null
-    }
-  }
-
   render() {
+    const { moderation } = this.props
+
     return (
-      <ul
-        className="dropdown-menu dropdown-menu-right stick-to-bottom"
-        role="menu"
-      >
-        {this.getAvatarButton()}
-        {this.getRenameButton()}
-        {this.getDeleteButton()}
+      <ul className="dropdown-menu dropdown-menu-right" role="menu">
+        {!!moderation.avatar && (
+          <li>
+            <button
+              type="button"
+              className="btn btn-link"
+              onClick={this.showAvatarDialog}
+            >
+              <span className="material-icon">portrait</span>
+              {gettext("Avatar controls")}
+            </button>
+          </li>
+        )}
+        {!!moderation.rename && (
+          <li>
+            <button
+              type="button"
+              className="btn btn-link"
+              onClick={this.showRenameDialog}
+            >
+              <span className="material-icon">credit_card</span>
+              {gettext("Change username")}
+            </button>
+          </li>
+        )}
+        {!!moderation.delete && (
+          <li>
+            <button
+              type="button"
+              className="btn btn-link"
+              onClick={this.showDeleteDialog}
+            >
+              <span className="material-icon">clear</span>
+              {gettext("Delete account")}
+            </button>
+          </li>
+        )}
       </ul>
     )
   }

+ 32 - 15
frontend/src/components/profile/root.js

@@ -6,15 +6,14 @@ import { Posts, Threads } from "./feed"
 import Followers from "./followers"
 import Follows from "./follows"
 import UsernameHistory from "./username-history"
-import Header from "./header"
-import ModerationNav from "./moderation/nav"
 import { SideNav, CompactNav } from "./navs"
-import Avatar from "misago/components/avatar"
 import WithDropdown from "misago/components/with-dropdown"
 import misago from "misago"
 import { hydrate } from "misago/reducers/profile"
 import polls from "misago/services/polls"
 import store from "misago/services/store"
+import PageContainer from "../PageContainer"
+import ProfileHeader from "./ProfileHeader"
 
 export default class extends WithDropdown {
   constructor(props) {
@@ -39,24 +38,23 @@ export default class extends WithDropdown {
   render() {
     const baseUrl = misago.get("PROFILE").url
     const pages = misago.get("PROFILE_PAGES")
+    const { profile, user } = this.props
+    const moderation = getModeration(profile, user)
+    const message = user.acl.can_start_private_threads && profile.id !== user.id
+    const follow = profile.acl.can_follow && profile.id !== user.id
 
     return (
       <div className="page page-user-profile">
-        <Header
-          baseUrl={baseUrl}
-          pages={pages}
+        <ProfileHeader
           profile={this.props.profile}
-          toggleNav={this.toggleNav}
-          toggleModeration={this.toggleModeration}
           user={this.props.user}
+          moderation={moderation}
+          message={message}
+          follow={follow}
         />
-        <div className="container">
+        <PageContainer>
           <div className="row">
-            <div className="col-md-3 hidden-xs hidden-sm">
-              <div className="profile-side-avatar">
-                <Avatar user={this.props.profile} size="400" />
-              </div>
-
+            <div className="col-md-3 hidden-sm">
               <SideNav
                 baseUrl={baseUrl}
                 pages={pages}
@@ -65,12 +63,31 @@ export default class extends WithDropdown {
             </div>
             <div className="col-md-9">{this.props.children}</div>
           </div>
-        </div>
+        </PageContainer>
       </div>
     )
   }
 }
 
+const getModeration = (profile, user) => {
+  const moderation = {
+    available: false,
+    rename: false,
+    avatar: false,
+    delete: false,
+  }
+
+  if (user.is_anonumous) return moderation
+
+  moderation.rename = profile.acl.can_rename
+  moderation.avatar = profile.acl.can_moderate_avatar
+  moderation.delete = profile.acl.can_delete
+  moderation.available =
+    moderation.rename || moderation.avatar || moderation.delete
+
+  return moderation
+}
+
 export function select(store) {
   return {
     isAuthenticated: store.auth.user.id === store.profile.id,

+ 50 - 44
frontend/src/components/search/form.js

@@ -7,6 +7,13 @@ import { hydrate as updateUsers } from "misago/reducers/users"
 import ajax from "misago/services/ajax"
 import snackbar from "misago/services/snackbar"
 import store from "misago/services/store"
+import { FlexRow, FlexRowCol, FlexRowSection } from "../FlexRow"
+import {
+  PageHeader,
+  PageHeaderContainer,
+  PageHeaderBanner,
+  PageHeaderDetails,
+} from "../PageHeader"
 
 export default class extends Form {
   constructor(props) {
@@ -14,7 +21,6 @@ export default class extends Form {
 
     this.state = {
       isLoading: false,
-
       query: props.search.query,
     }
   }
@@ -45,9 +51,16 @@ export default class extends Form {
       })
     )
 
-    return ajax.get(misago.get("SEARCH_API"), {
-      q: this.state.query.trim(),
-    })
+    const query = this.state.query.trim()
+
+    let url = window.location.href
+    const urlQuery = url.indexOf("?q=")
+    if (urlQuery > 0) {
+      url = url.substring(0, urlQuery + 3)
+    }
+    window.history.pushState({}, "", url + encodeURIComponent(query))
+
+    return ajax.get(misago.get("SEARCH_API"), { q: query })
   }
 
   handleSuccess(providers) {
@@ -80,46 +93,39 @@ export default class extends Form {
 
   render() {
     return (
-      <div className="page-header-bg">
-        <div className="page-header page-search-form">
-          <form onSubmit={this.handleSubmit}>
-            <div className="container">
-              <div className="row">
-                <div className="col-xs-12 col-md-3">
-                  <h1>{gettext("Search")}</h1>
-                </div>
-                <div className="col-xs-12 col-md-9">
-                  <div className="row xs-margin-top sm-margin-top">
-                    <div className="col-xs-12 col-sm-8 col-md-9">
-                      <div className="form-group">
-                        <input
-                          className="form-control"
-                          disabled={
-                            this.props.search.isLoading || this.state.isLoading
-                          }
-                          onChange={this.onQueryChange}
-                          type="text"
-                          value={this.state.query}
-                        />
-                      </div>
-                    </div>
-                    <div className="col-xs-12 col-sm-4 col-md-3">
-                      <button
-                        className="btn btn-primary btn-block btn-outline"
-                        disabled={
-                          this.props.search.isLoading || this.state.isLoading
-                        }
-                      >
-                        {gettext("Search")}
-                      </button>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </form>
-        </div>
-      </div>
+      <form onSubmit={this.handleSubmit}>
+        <PageHeaderContainer>
+          <PageHeader styleName="site-search">
+            <PageHeaderBanner styleName="site-search">
+              <h1>{gettext("Search")}</h1>
+            </PageHeaderBanner>
+            <PageHeaderDetails className="page-header-search-form">
+              <FlexRow>
+                <FlexRowSection auto>
+                  <FlexRowCol>
+                    <input
+                      className="form-control"
+                      disabled={this.state.isLoading}
+                      type="text"
+                      value={this.state.query}
+                      placeholder={gettext("Search")}
+                      onChange={this.onQueryChange}
+                    />
+                  </FlexRowCol>
+                  <FlexRowCol shrink>
+                    <button
+                      className="btn btn-secondary btn-icon btn-outline"
+                      disabled={this.state.isLoading}
+                    >
+                      <span className="material-icon">search</span>
+                    </button>
+                  </FlexRowCol>
+                </FlexRowSection>
+              </FlexRow>
+            </PageHeaderDetails>
+          </PageHeader>
+        </PageHeaderContainer>
+      </form>
     )
   }
 }

+ 3 - 2
frontend/src/components/search/page.js

@@ -1,4 +1,5 @@
 import React from "react"
+import PageContainer from "../PageContainer"
 import SearchForm from "./form"
 import SideNav from "./sidenav"
 
@@ -6,7 +7,7 @@ export default function (props) {
   return (
     <div className="page page-search">
       <SearchForm provider={props.provider} search={props.search} />
-      <div className="container">
+      <PageContainer>
         <div className="row">
           <div className="col-md-3">
             <SideNav providers={props.search.providers} />
@@ -16,7 +17,7 @@ export default function (props) {
             <SearchTime provider={props.provider} search={props.search} />
           </div>
         </div>
-      </div>
+      </PageContainer>
     </div>
   )
 }

+ 11 - 5
frontend/src/components/search/threads/index.js

@@ -5,7 +5,11 @@ import Results from "./results"
 export default function (props) {
   return (
     <SearchPage provider={props.route.provider} search={props.search}>
-      <Blankslate query={props.search.query} posts={props.posts}>
+      <Blankslate
+        loading={props.search.isLoading}
+        query={props.search.query}
+        posts={props.posts}
+      >
         <Results
           provider={props.route.provider}
           query={props.search.query}
@@ -16,13 +20,15 @@ export default function (props) {
   )
 }
 
-export function Blankslate(props) {
-  if (props.posts && props.posts.count) return props.children
+export function Blankslate({ children, loading, posts, query }) {
+  if (posts && posts.count) return children
 
-  if (props.query.length) {
+  if (query.length) {
     return (
       <p className="lead">
-        {gettext("No threads matching search query have been found.")}
+        {loading
+          ? gettext("Loading results...")
+          : gettext("No threads matching search query have been found.")}
       </p>
     )
   }

+ 16 - 6
frontend/src/components/search/users/index.js

@@ -5,20 +5,30 @@ import UsersList from "misago/components/users-list"
 export default function (props) {
   return (
     <SearchPage provider={props.route.provider} search={props.search}>
-      <Blankslate query={props.search.query} users={props.users}>
-        <UsersList cols={3} isReady={true} users={props.users} />
+      <Blankslate
+        loading={props.search.isLoading}
+        query={props.search.query}
+        users={props.users}
+      >
+        <UsersList
+          cols={3}
+          isReady={!props.search.isLoading}
+          users={props.users}
+        />
       </Blankslate>
     </SearchPage>
   )
 }
 
-export function Blankslate(props) {
-  if (props.users.length) return props.children
+export function Blankslate({ children, loading, query, users }) {
+  if (users.length) return children
 
-  if (props.query.length) {
+  if (query.length) {
     return (
       <p className="lead">
-        {gettext("No users matching search query have been found.")}
+        {loading
+          ? gettext("Loading results...")
+          : gettext("No users matching search query have been found.")}
       </p>
     )
   }

+ 75 - 0
frontend/src/components/thread/ThreadHeader/ThreadHeader.jsx

@@ -0,0 +1,75 @@
+import React from "react"
+import { FlexRow, FlexRowCol, FlexRowSection } from "../../FlexRow"
+import ThreadFlags from "../../ThreadFlags"
+import ThreadReplies from "../../ThreadReplies"
+import ThreadStarterCard from "../../ThreadStarterCard"
+import {
+  PageHeader,
+  PageHeaderBanner,
+  PageHeaderContainer,
+  PageHeaderDetails,
+} from "../../PageHeader"
+import ThreadModeration from "../ThreadModeration"
+import ThreadSubscriptionButton from "../ThreadSubscriptionButton"
+import ThreadHeaderBreadcrumbs from "./ThreadHeaderBreadcrumbs"
+
+const ThreadHeader = ({ styleName, thread, posts, user, moderation }) => (
+  <PageHeaderContainer>
+    <PageHeader styleName={styleName}>
+      <PageHeaderBanner styleName={styleName}>
+        <ThreadHeaderBreadcrumbs breadcrumbs={thread.path} />
+        <h1>{thread.title}</h1>
+      </PageHeaderBanner>
+      <PageHeaderDetails className="page-header-thread-details">
+        <FlexRow>
+          <FlexRowSection auto>
+            <FlexRowCol shrink>
+              <ThreadStarterCard thread={thread} />
+            </FlexRowCol>
+            <FlexRowCol auto />
+            {thread.replies > 0 && (
+              <FlexRowCol shrink>
+                <ThreadReplies thread={thread} />
+              </FlexRowCol>
+            )}
+            {hasFlags(thread) && (
+              <FlexRowCol shrink>
+                <ThreadFlags thread={thread} />
+              </FlexRowCol>
+            )}
+          </FlexRowSection>
+          {user.is_authenticated && (
+            <FlexRowSection>
+              <FlexRowCol>
+                <ThreadSubscriptionButton thread={thread} />
+              </FlexRowCol>
+              {moderation.enabled && (
+                <FlexRowCol shrink>
+                  <ThreadModeration
+                    thread={thread}
+                    posts={posts}
+                    moderation={moderation}
+                  />
+                </FlexRowCol>
+              )}
+            </FlexRowSection>
+          )}
+        </FlexRow>
+      </PageHeaderDetails>
+    </PageHeader>
+  </PageHeaderContainer>
+)
+
+const hasFlags = (thread) => {
+  return (
+    thread.is_closed ||
+    thread.is_hidden ||
+    thread.is_unapproved ||
+    thread.weight > 0 ||
+    thread.best_answer ||
+    thread.has_poll ||
+    thread.has_unapproved_posts
+  )
+}
+
+export default ThreadHeader

+ 20 - 0
frontend/src/components/thread/ThreadHeader/ThreadHeaderBreadcrumbs.jsx

@@ -0,0 +1,20 @@
+import React from "react"
+import {
+  Breadcrumbs,
+  BreadcrumbsCategory,
+  BreadcrumbsRootCategory,
+} from "../../Breadcrumbs"
+
+const ThreadHeaderBreadcrumbs = ({ breadcrumbs }) => (
+  <Breadcrumbs>
+    {breadcrumbs.map((category) =>
+      category.special_role ? (
+        <BreadcrumbsRootCategory key={category.id} category={category} />
+      ) : (
+        <BreadcrumbsCategory key={category.id} category={category} />
+      )
+    )}
+  </Breadcrumbs>
+)
+
+export default ThreadHeaderBreadcrumbs

+ 3 - 0
frontend/src/components/thread/ThreadHeader/index.js

@@ -0,0 +1,3 @@
+import ThreadHeader from "./ThreadHeader"
+
+export default ThreadHeader

+ 25 - 0
frontend/src/components/thread/ThreadModeration.jsx

@@ -0,0 +1,25 @@
+import React from "react"
+import ThreadModerationOptions from "./moderation/thread"
+
+const ThreadModeration = ({ thread, posts, moderation }) => (
+  <div className="dropdown">
+    <button
+      type="button"
+      className="btn btn-default btn-outline btn-icon dropdown-toggle"
+      title={gettext("Thread options")}
+      data-toggle="dropdown"
+      aria-haspopup="true"
+      aria-expanded="false"
+      disabled={thread.isBusy}
+    >
+      <span className="material-icon">settings</span>
+    </button>
+    <ThreadModerationOptions
+      thread={thread}
+      posts={posts}
+      moderation={moderation}
+    />
+  </div>
+)
+
+export default ThreadModeration

+ 0 - 8
frontend/src/components/thread/ThreadToolbarTop.jsx

@@ -5,7 +5,6 @@ import ThreadPollButton from "./ThreadPollButton"
 import ThreadPostsModeration from "./ThreadPostsModeration"
 import ThreadReplyButton from "./ThreadReplyButton"
 import ThreadShortcutsButton from "./ThreadShortcutsButton"
-import ThreadSubscriptionButton from "./ThreadSubscriptionButton"
 
 const ThreadToolbarTop = ({
   thread,
@@ -26,13 +25,6 @@ const ThreadToolbarTop = ({
       </ToolbarItem>
     </ToolbarSection>
     <ToolbarSpacer />
-    {user.is_authenticated && (
-      <ToolbarSection>
-        <ToolbarItem>
-          <ThreadSubscriptionButton thread={thread} />
-        </ToolbarItem>
-      </ToolbarSection>
-    )}
     {thread.acl.can_start_poll && !thread.poll && (
       <ToolbarSection className="hidden-xs">
         <ToolbarItem>

+ 0 - 35
frontend/src/components/thread/header/breadcrumbs.js

@@ -1,35 +0,0 @@
-import React from "react"
-
-export default function (props) {
-  return (
-    <div className="page-breadcrumbs">
-      <div className="container">
-        <ol className="breadcrumb hidden-xs">
-          {props.path.map((item) => {
-            return <Breadcrumb key={item.id} node={item} />
-          })}
-        </ol>
-        <GoBack {...props} />
-      </div>
-    </div>
-  )
-}
-
-export function Breadcrumb(props) {
-  return (
-    <li>
-      <a href={props.node.url.index}>{props.node.name}</a>
-    </li>
-  )
-}
-
-export function GoBack(props) {
-  const lastItem = props.path[props.path.length - 1]
-
-  return (
-    <a href={lastItem.url.index} className="go-back-sm visible-xs-block">
-      <span className="material-icon">chevron_left</span>
-      {lastItem.name}
-    </a>
-  )
-}

+ 0 - 232
frontend/src/components/thread/header/index.js

@@ -1,232 +0,0 @@
-import React from "react"
-import Breadcrumbs from "./breadcrumbs"
-import { isModerationVisible, ModerationControls } from "../moderation/thread"
-import Stats from "./stats"
-import Form from "misago/components/form"
-import { getTitleValidators } from "misago/components/posting/utils/validators"
-import ajax from "misago/services/ajax"
-import snackbar from "misago/services/snackbar"
-import store from "misago/services/store"
-import * as thread from "misago/reducers/thread"
-
-export default class extends Form {
-  constructor(props) {
-    super(props)
-
-    this.state = {
-      isEditing: false,
-      isLoading: false,
-
-      title: props.thread.title,
-
-      validators: {
-        title: getTitleValidators(),
-      },
-      errors: {},
-    }
-  }
-
-  onChange = (event) => {
-    this.changeValue("title", event.target.value)
-  }
-
-  onEdit = () => {
-    this.setState({
-      isEditing: true,
-    })
-  }
-
-  onCancel = () => {
-    this.setState({
-      title: this.props.thread.title,
-
-      isEditing: false,
-    })
-  }
-
-  clean() {
-    if (!this.state.title.trim().length) {
-      snackbar.error(gettext("You have to enter thread title."))
-      return false
-    }
-
-    const errors = this.validate()
-
-    if (errors.title) {
-      snackbar.error(errors.title[0])
-      return false
-    }
-
-    return true
-  }
-
-  send() {
-    return ajax.patch(this.props.thread.api.index, [
-      { op: "replace", path: "title", value: this.state.title },
-    ])
-  }
-
-  handleSuccess(data) {
-    store.dispatch(thread.update(data))
-
-    this.setState({
-      isEditing: false,
-    })
-  }
-
-  handleError(rejection) {
-    if (rejection.status === 400) {
-      snackbar.error(rejection.detail[0])
-    } else {
-      snackbar.apiError(rejection)
-    }
-  }
-
-  render() {
-    const { thread, user } = this.props
-    const showModeration = !!user.id && isModerationVisible(thread)
-
-    if (this.state.isEditing) {
-      return (
-        <div className="page-header">
-          <Breadcrumbs path={thread.path} />
-          <div className="container">
-            <div className="row xs-margin-top title-edit-form">
-              <form onSubmit={this.handleSubmit}>
-                <div className="col-sm-6 col-md-6">
-                  <input
-                    className="form-control"
-                    type="text"
-                    value={this.state.title}
-                    onChange={this.onChange}
-                  />
-                </div>
-                <div className="col-sm-6 col-md-4">
-                  <div className="row xs-margin-top-half sm-margin-top-no md-margin-top-no">
-                    <div className="col-xs-6">
-                      <button
-                        className="btn btn-primary btn-block btn-outline"
-                        disabled={this.state.isLoading}
-                        title={gettext("Change title")}
-                      >
-                        {gettext("Save changes")}
-                      </button>
-                    </div>
-                    <div className="col-xs-6">
-                      <button
-                        className="btn btn-default btn-block btn-outline"
-                        disabled={this.state.isLoading}
-                        onClick={this.onCancel}
-                        title={gettext("Cancel")}
-                        type="button"
-                      >
-                        {gettext("Cancel")}
-                      </button>
-                    </div>
-                  </div>
-                </div>
-              </form>
-            </div>
-          </div>
-          <Stats thread={thread} />
-        </div>
-      )
-    } else if (user.id && thread.acl.can_edit) {
-      return (
-        <div className="page-header">
-          <Breadcrumbs path={thread.path} />
-          <div className="container">
-            <div className="row">
-              <div
-                className={
-                  showModeration ? "col-sm-9 col-md-8" : "col-sm-10 col-md-10"
-                }
-              >
-                <h1>{thread.title}</h1>
-              </div>
-              <div
-                className={
-                  showModeration ? "col-sm-3 col-md-4" : "col-sm-3 col-md-2"
-                }
-              >
-                <div className="row xs-margin-top md-margin-top-no">
-                  <div className={showModeration ? "col-xs-6" : "col-xs-12"}>
-                    <button
-                      className="btn btn-default btn-block btn-outline"
-                      onClick={this.onEdit}
-                      title={gettext("Edit title")}
-                      type="button"
-                    >
-                      <span className="material-icon">edit</span>
-                      <span className="hidden-sm">{gettext("Edit")}</span>
-                    </button>
-                  </div>
-                  {showModeration && <Moderation {...this.props} />}
-                </div>
-              </div>
-            </div>
-          </div>
-          <Stats thread={thread} />
-        </div>
-      )
-    } else if (showModeration) {
-      return (
-        <div className="page-header">
-          <Breadcrumbs path={thread.path} />
-          <div className="container">
-            <div className="row">
-              <div className="col-sm-9 col-md-10">
-                <h1>{thread.title}</h1>
-              </div>
-              <div className="col-sm-3 col-md-2">
-                <div className="row xs-margin-top md-margin-top-no">
-                  <Moderation isSingle={true} {...this.props} />
-                </div>
-              </div>
-            </div>
-          </div>
-          <Stats thread={thread} />
-        </div>
-      )
-    }
-
-    return (
-      <div className="page-header">
-        <Breadcrumbs path={thread.path} />
-        <div className="container">
-          <h1>{thread.title}</h1>
-        </div>
-        <Stats thread={thread} />
-      </div>
-    )
-  }
-}
-
-export function Moderation(props) {
-  return (
-    <div className={props.isSingle ? "col-xs-12" : "col-xs-6"}>
-      <div className="btn-group btn-group-justified">
-        <div className="btn-group">
-          <button
-            aria-expanded="false"
-            aria-haspopup="true"
-            className="btn btn-default btn-outline dropdown-toggle"
-            data-toggle="dropdown"
-            disabled={props.thread.isBusy}
-            type="button"
-          >
-            <span className="material-icon">settings</span>
-            <span className={props.isSingle ? "" : "hidden-sm"}>
-              {gettext("Moderation")}
-            </span>
-          </button>
-          <ModerationControls
-            posts={props.posts}
-            thread={props.thread}
-            user={props.user}
-          />
-        </div>
-      </div>
-    </div>
-  )
-}

+ 0 - 153
frontend/src/components/thread/header/stats.js

@@ -1,153 +0,0 @@
-import React from "react"
-import escapeHtml from "misago/utils/escape-html"
-
-const LAST_POSTER_URL = '<a href="%(url)s" class="poster-title">%(user)s</a>'
-const LAST_POSTER_SPAN = '<span class="poster-title">%(user)s</span>'
-const LAST_REPLY =
-  '<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'
-
-export function Weight(props) {
-  if (props.thread.weight == 2) {
-    return (
-      <li className="thread-pinned-globally">
-        <span className="material-icon">bookmark</span>
-        <span className="icon-legend">{gettext("Pinned globally")}</span>
-      </li>
-    )
-  } else if (props.thread.weight == 1) {
-    return (
-      <li className="thread-pinned-locally">
-        <span className="material-icon">bookmark_border</span>
-        <span className="icon-legend">{gettext("Pinned locally")}</span>
-      </li>
-    )
-  } else {
-    return null
-  }
-}
-
-export function Unapproved(props) {
-  if (props.thread.is_unapproved) {
-    return (
-      <li className="thread-unapproved">
-        <span className="material-icon">remove_circle</span>
-        <span className="icon-legend">{gettext("Unapproved")}</span>
-      </li>
-    )
-  } else if (props.thread.has_unapproved_posts) {
-    return (
-      <li className="thread-unapproved-posts">
-        <span className="material-icon">remove_circle_outline</span>
-        <span className="icon-legend">{gettext("Unapproved posts")}</span>
-      </li>
-    )
-  } else {
-    return null
-  }
-}
-
-export function IsHidden(props) {
-  if (props.thread.is_hidden) {
-    return (
-      <li className="thread-hidden">
-        <span className="material-icon">visibility_off</span>
-        <span className="icon-legend">{gettext("Hidden")}</span>
-      </li>
-    )
-  } else {
-    return null
-  }
-}
-
-export function IsClosed(props) {
-  if (props.thread.is_closed) {
-    return (
-      <li className="thread-closed">
-        <span className="material-icon">lock_outline</span>
-        <span className="icon-legend">{gettext("Closed")}</span>
-      </li>
-    )
-  } else {
-    return null
-  }
-}
-
-export function Replies(props) {
-  const message = ngettext(
-    "%(replies)s reply",
-    "%(replies)s replies",
-    props.thread.replies
-  )
-  const legend = interpolate(message, { replies: props.thread.replies }, true)
-
-  return (
-    <li className="thread-replies">
-      <span className="material-icon">forum</span>
-      <span className="icon-legend">{legend}</span>
-    </li>
-  )
-}
-
-export function LastReply(props) {
-  let user = null
-  if (props.thread.url.last_poster) {
-    user = interpolate(
-      LAST_POSTER_URL,
-      {
-        url: escapeHtml(props.thread.url.last_poster),
-        user: escapeHtml(props.thread.last_poster_name),
-      },
-      true
-    )
-  } else {
-    user = interpolate(
-      LAST_POSTER_SPAN,
-      {
-        user: escapeHtml(props.thread.last_poster_name),
-      },
-      true
-    )
-  }
-
-  const date = interpolate(
-    LAST_REPLY,
-    {
-      absolute: escapeHtml(props.thread.last_post_on.format("LLL")),
-      relative: escapeHtml(props.thread.last_post_on.fromNow()),
-    },
-    true
-  )
-
-  const message = interpolate(
-    escapeHtml(gettext("last reply by %(user)s %(date)s")),
-    {
-      date,
-      user,
-    },
-    true
-  )
-
-  return (
-    <li
-      className="thread-last-reply"
-      dangerouslySetInnerHTML={{ __html: message }}
-    />
-  )
-}
-
-export default function (props) {
-  return (
-    <div className="header-stats">
-      <div className="container">
-        <ul className="list-inline">
-          <Weight thread={props.thread} />
-          <Unapproved thread={props.thread} />
-          <IsHidden thread={props.thread} />
-          <IsClosed thread={props.thread} />
-          <Replies thread={props.thread} />
-          <LastReply thread={props.thread} />
-        </ul>
-      </div>
-    </div>
-  )
-}

+ 1 - 1
frontend/src/components/thread/moderation/posts/move.js

@@ -97,7 +97,7 @@ export default class extends Form {
               </button>
               <button
                 className="btn btn-primary"
-                loading={this.state.isLoading}
+                disabled={this.state.isLoading}
               >
                 {gettext("Move posts")}
               </button>

+ 136 - 0
frontend/src/components/thread/moderation/thread/ThreadChangeTitleModal.jsx

@@ -0,0 +1,136 @@
+import React from "react"
+import Form from "misago/components/form"
+import FormGroup from "misago/components/form-group"
+import { getTitleValidators } from "misago/components/posting/utils/validators"
+import * as thread from "misago/reducers/thread"
+import ajax from "misago/services/ajax"
+import modal from "misago/services/modal"
+import snackbar from "misago/services/snackbar"
+import store from "misago/services/store"
+
+export default class extends Form {
+  constructor(props) {
+    super(props)
+
+    this.state = {
+      isLoading: false,
+
+      title: props.thread.title,
+
+      validators: {
+        title: getTitleValidators(),
+      },
+      errors: {},
+    }
+  }
+
+  clean() {
+    if (!this.state.title.trim().length) {
+      snackbar.error(gettext("You have to enter thread title."))
+      return false
+    }
+
+    const errors = this.validate()
+
+    if (errors.title) {
+      snackbar.error(errors.title[0])
+      return false
+    }
+
+    return true
+  }
+
+  send() {
+    // freeze thread
+    store.dispatch(thread.busy())
+
+    return ajax.patch(this.props.thread.api.index, [
+      { op: "replace", path: "title", value: this.state.title },
+    ])
+  }
+
+  handleSuccess = (data) => {
+    this.handleSuccessUnmounted(data)
+
+    // keep form loading
+    this.setState({
+      isLoading: true,
+    })
+
+    modal.hide()
+  }
+
+  handleSuccessUnmounted = (data) => {
+    store.dispatch(thread.release())
+    store.dispatch(thread.update(data))
+  }
+
+  handleError = (rejection) => {
+    store.dispatch(thread.release())
+
+    if (rejection.status === 400) {
+      snackbar.error(rejection.detail[0])
+    } else {
+      snackbar.apiError(rejection)
+    }
+  }
+
+  onChange = (event) => {
+    this.changeValue("title", event.target.value)
+  }
+
+  render() {
+    return (
+      <div className="modal-dialog" role="document">
+        <form onSubmit={this.handleSubmit}>
+          <div className="modal-content">
+            <ModalHeader />
+            <div className="modal-body">
+              <FormGroup for="id_modal_title" label={gettext("Thread title")}>
+                <input
+                  className="form-control"
+                  disabled={this.state.isLoading || this.props.thread.isBusy}
+                  id="id_modal_title"
+                  onChange={this.onChange}
+                  value={this.state.title}
+                />
+              </FormGroup>
+            </div>
+            <div className="modal-footer">
+              <button
+                className="btn btn-default"
+                data-dismiss="modal"
+                disabled={this.state.isLoading}
+                type="button"
+              >
+                {gettext("Cancel")}
+              </button>
+              <button
+                className="btn btn-primary"
+                disabled={this.state.isLoading || this.props.thread.isBusy}
+              >
+                {gettext("Change title")}
+              </button>
+            </div>
+          </div>
+        </form>
+      </div>
+    )
+  }
+}
+
+export function ModalHeader(props) {
+  return (
+    <div className="modal-header">
+      <button
+        aria-label={gettext("Close")}
+        className="close"
+        data-dismiss="modal"
+        type="button"
+      >
+        <span aria-hidden="true">&times;</span>
+      </button>
+      <h4 className="modal-title">{gettext("Change title")}</h4>
+    </div>
+  )
+}

+ 129 - 172
frontend/src/components/thread/moderation/thread/controls.js

@@ -1,11 +1,12 @@
 import React from "react"
-import MergeModal from "./merge"
-import MoveModal from "./move"
 import * as thread from "misago/reducers/thread"
 import ajax from "misago/services/ajax"
 import modal from "misago/services/modal"
 import snackbar from "misago/services/snackbar"
 import store from "misago/services/store"
+import ThreadChangeTitleModal from "./ThreadChangeTitleModal"
+import MergeModal from "./merge"
+import MoveModal from "./move"
 
 export default class extends React.Component {
   callApi = (ops, successMessage) => {
@@ -31,6 +32,10 @@ export default class extends React.Component {
     )
   }
 
+  changeTitle = () => {
+    modal.show(<ThreadChangeTitleModal thread={this.props.thread} />)
+  }
+
   pinGlobally = () => {
     this.callApi(
       [
@@ -166,179 +171,131 @@ export default class extends React.Component {
     )
   }
 
-  getPinGloballyButton() {
-    if (this.props.thread.weight === 2) return null
-    if (!this.props.thread.acl.can_pin_globally) return null
-
-    return (
-      <li>
-        <button
-          className="btn btn-link"
-          onClick={this.pinGlobally}
-          type="button"
-        >
-          <span className="material-icon">bookmark</span>
-          {gettext("Pin globally")}
-        </button>
-      </li>
-    )
-  }
-
-  getPinLocallyButton() {
-    if (this.props.thread.weight === 1) return null
-    if (!this.props.thread.acl.can_pin) return null
-
-    return (
-      <li>
-        <button
-          className="btn btn-link"
-          onClick={this.pinLocally}
-          type="button"
-        >
-          <span className="material-icon">bookmark_border</span>
-          {gettext("Pin locally")}
-        </button>
-      </li>
-    )
-  }
-
-  getUnpinButton() {
-    if (this.props.thread.weight === 0) return null
-    if (!this.props.thread.acl.can_pin) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.unpin} type="button">
-          <span className="material-icon">panorama_fish_eye</span>
-          {gettext("Unpin")}
-        </button>
-      </li>
-    )
-  }
-
-  getMoveButton() {
-    if (!this.props.thread.acl.can_move) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.move} type="button">
-          <span className="material-icon">arrow_forward</span>
-          {gettext("Move")}
-        </button>
-      </li>
-    )
-  }
-
-  getMergeButton() {
-    if (!this.props.thread.acl.can_merge) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.merge} type="button">
-          <span className="material-icon">call_merge</span>
-          {gettext("Merge")}
-        </button>
-      </li>
-    )
-  }
-
-  getApproveButton() {
-    if (!this.props.thread.is_unapproved) return null
-    if (!this.props.thread.acl.can_approve) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.approve} type="button">
-          <span className="material-icon">done</span>
-          {gettext("Approve")}
-        </button>
-      </li>
-    )
-  }
-
-  getOpenButton() {
-    if (!this.props.thread.is_closed) return null
-    if (!this.props.thread.acl.can_close) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.open} type="button">
-          <span className="material-icon">lock_open</span>
-          {gettext("Open")}
-        </button>
-      </li>
-    )
-  }
-
-  getCloseButton() {
-    if (this.props.thread.is_closed) return null
-    if (!this.props.thread.acl.can_close) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.close} type="button">
-          <span className="material-icon">lock_outline</span>
-          {gettext("Close")}
-        </button>
-      </li>
-    )
-  }
-
-  getUnhideButton() {
-    if (!this.props.thread.is_hidden) return null
-    if (!this.props.thread.acl.can_unhide) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.unhide} type="button">
-          <span className="material-icon">visibility</span>
-          {gettext("Unhide")}
-        </button>
-      </li>
-    )
-  }
-
-  getHideButton() {
-    if (this.props.thread.is_hidden) return null
-    if (!this.props.thread.acl.can_hide) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.hide} type="button">
-          <span className="material-icon">visibility_off</span>
-          {gettext("Hide")}
-        </button>
-      </li>
-    )
-  }
-
-  getDeleteButton() {
-    if (!this.props.thread.acl.can_delete) return null
-
-    return (
-      <li>
-        <button className="btn btn-link" onClick={this.delete} type="button">
-          <span className="material-icon">clear</span>
-          {gettext("Delete")}
-        </button>
-      </li>
-    )
-  }
-
   render() {
+    const { moderation } = this.props
+
     return (
       <ul className="dropdown-menu dropdown-menu-right stick-to-bottom">
-        {this.getPinGloballyButton()}
-        {this.getPinLocallyButton()}
-        {this.getUnpinButton()}
-        {this.getMoveButton()}
-        {this.getMergeButton()}
-        {this.getApproveButton()}
-        {this.getOpenButton()}
-        {this.getCloseButton()}
-        {this.getUnhideButton()}
-        {this.getHideButton()}
-        {this.getDeleteButton()}
+        {!!moderation.edit && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.changeTitle}
+              type="button"
+            >
+              <span className="material-icon">edit</span>
+              {gettext("Change title")}
+            </button>
+          </li>
+        )}
+        {!!moderation.pinGlobally && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.pinGlobally}
+              type="button"
+            >
+              <span className="material-icon">bookmark</span>
+              {gettext("Pin globally")}
+            </button>
+          </li>
+        )}
+        {!!moderation.pinLocally && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.pinLocally}
+              type="button"
+            >
+              <span className="material-icon">bookmark_border</span>
+              {gettext("Pin locally")}
+            </button>
+          </li>
+        )}
+        {!!moderation.unpin && (
+          <li>
+            <button className="btn btn-link" onClick={this.unpin} type="button">
+              <span className="material-icon">panorama_fish_eye</span>
+              {gettext("Unpin")}
+            </button>
+          </li>
+        )}
+        {!!moderation.move && (
+          <li>
+            <button className="btn btn-link" onClick={this.move} type="button">
+              <span className="material-icon">arrow_forward</span>
+              {gettext("Move")}
+            </button>
+          </li>
+        )}
+        {!!moderation.merge && (
+          <li>
+            <button className="btn btn-link" onClick={this.merge} type="button">
+              <span className="material-icon">call_merge</span>
+              {gettext("Merge")}
+            </button>
+          </li>
+        )}
+        {!!moderation.approve && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.approve}
+              type="button"
+            >
+              <span className="material-icon">done</span>
+              {gettext("Approve")}
+            </button>
+          </li>
+        )}
+        {!!moderation.open && (
+          <li>
+            <button className="btn btn-link" onClick={this.open} type="button">
+              <span className="material-icon">lock_open</span>
+              {gettext("Open")}
+            </button>
+          </li>
+        )}
+        {!!moderation.close && (
+          <li>
+            <button className="btn btn-link" onClick={this.close} type="button">
+              <span className="material-icon">lock_outline</span>
+              {gettext("Close")}
+            </button>
+          </li>
+        )}
+        {!!moderation.unhide && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.unhide}
+              type="button"
+            >
+              <span className="material-icon">visibility</span>
+              {gettext("Unhide")}
+            </button>
+          </li>
+        )}
+        {!!moderation.hide && (
+          <li>
+            <button className="btn btn-link" onClick={this.hide} type="button">
+              <span className="material-icon">visibility_off</span>
+              {gettext("Hide")}
+            </button>
+          </li>
+        )}
+        {!!moderation.delete && (
+          <li>
+            <button
+              className="btn btn-link"
+              onClick={this.delete}
+              type="button"
+            >
+              <span className="material-icon">clear</span>
+              {gettext("Delete")}
+            </button>
+          </li>
+        )}
       </ul>
     )
   }

+ 2 - 3
frontend/src/components/thread/moderation/thread/index.js

@@ -1,4 +1,3 @@
-import ModerationControls from "./controls"
-import isModerationVisible from "./is-visible"
+import ThreadModerationOptions from "./controls"
 
-export { ModerationControls, isModerationVisible }
+export default ThreadModerationOptions

+ 0 - 13
frontend/src/components/thread/moderation/thread/is-visible.js

@@ -1,13 +0,0 @@
-export default function (thread) {
-  return !!(
-    (thread.acl.can_approve && thread.is_unapproved) ||
-    thread.acl.can_close ||
-    thread.acl.can_delete ||
-    thread.acl.can_hide ||
-    thread.acl.can_move ||
-    thread.acl.can_merge ||
-    thread.acl.can_pin ||
-    (thread.acl.can_pin_globally && thread.weight !== 2) ||
-    (thread.acl.can_unhide && thread.is_hidden)
-  )
-}

+ 1 - 1
frontend/src/components/thread/moderation/thread/merge.js

@@ -121,7 +121,7 @@ export default class extends Form {
               </button>
               <button
                 className="btn btn-primary"
-                loading={this.state.isLoading || this.props.thread.isBusy}
+                disabled={this.state.isLoading || this.props.thread.isBusy}
               >
                 {gettext("Merge thread")}
               </button>

+ 1 - 1
frontend/src/components/thread/moderation/thread/move.js

@@ -129,7 +129,7 @@ export default class extends Form {
                 </button>
                 <button
                   className="btn btn-primary"
-                  loading={this.state.isLoading || this.props.thread.isBusy}
+                  disabled={this.state.isLoading || this.props.thread.isBusy}
                 >
                   {gettext("Move thread")}
                 </button>

+ 0 - 148
frontend/src/components/thread/paginator.js

@@ -1,148 +0,0 @@
-import React from "react"
-import { Link } from "react-router"
-
-export default function (props) {
-  return (
-    <nav className="misago-pagination pull-left">
-      <Pager {...props} />
-      <More more={props.posts.more} />
-    </nav>
-  )
-}
-
-export function Pager(props) {
-  return (
-    <div className="row row-paginator">
-      <div className="col-xs-3">
-        <FirstPage {...props} />
-      </div>
-      <div className="col-xs-3">
-        <PreviousPage {...props} />
-      </div>
-      <div className="col-xs-3">
-        <NextPage {...props} />
-      </div>
-      <div className="col-xs-3">
-        <LastPage {...props} />
-      </div>
-    </div>
-  )
-}
-
-export function FirstPage(props) {
-  if (props.posts.isLoaded && props.posts.first) {
-    return (
-      <Link
-        className="btn btn-default btn-block btn-outline btn-icon"
-        to={props.thread.url.index}
-        title={gettext("Go to first page")}
-      >
-        <span className="material-icon">first_page</span>
-      </Link>
-    )
-  } else {
-    return (
-      <span
-        className="btn btn-default btn-block btn-outline btn-icon disabled"
-        title={gettext("Go to first page")}
-      >
-        <span className="material-icon">first_page</span>
-      </span>
-    )
-  }
-}
-
-export function PreviousPage(props) {
-  if (props.posts.isLoaded && props.posts.page > 1) {
-    let previousUrl = ""
-    if (props.posts.previous) {
-      previousUrl = props.posts.previous + "/"
-    }
-
-    return (
-      <Link
-        className="btn btn-default btn-block btn-outline btn-icon"
-        to={props.thread.url.index + previousUrl}
-        title={gettext("Go to previous page")}
-      >
-        <span className="material-icon">chevron_left</span>
-      </Link>
-    )
-  } else {
-    return (
-      <span
-        className="btn btn-default btn-block btn-outline btn-icon disabled"
-        title={gettext("Go to previous page")}
-      >
-        <span className="material-icon">chevron_left</span>
-      </span>
-    )
-  }
-}
-
-export function NextPage(props) {
-  if (props.posts.isLoaded && props.posts.more) {
-    let nextUrl = ""
-    if (props.posts.next) {
-      nextUrl = props.posts.next + "/"
-    }
-
-    return (
-      <Link
-        className="btn btn-default btn-block btn-outline btn-icon"
-        to={props.thread.url.index + nextUrl}
-        title={gettext("Go to next page")}
-      >
-        <span className="material-icon">chevron_right</span>
-      </Link>
-    )
-  } else {
-    return (
-      <span
-        className="btn btn-default btn-block btn-outline btn-icon disabled"
-        title={gettext("Go to next page")}
-      >
-        <span className="material-icon">chevron_right</span>
-      </span>
-    )
-  }
-}
-
-export function LastPage(props) {
-  if (props.posts.isLoaded && props.posts.last) {
-    return (
-      <Link
-        className="btn btn-default btn-block btn-outline btn-icon"
-        to={props.thread.url.index + props.posts.last + "/"}
-        title={gettext("Go to last page")}
-      >
-        <span className="material-icon">last_page</span>
-      </Link>
-    )
-  } else {
-    return (
-      <span
-        className="btn btn-default btn-block btn-outline btn-icon disabled"
-        title={gettext("Go to last page")}
-      >
-        <span className="material-icon">last_page</span>
-      </span>
-    )
-  }
-}
-
-export function More(props) {
-  let message = null
-  if (props.more) {
-    message = ngettext(
-      "There is %(more)s more post in this thread.",
-      "There are %(more)s more posts in this thread.",
-      props.more
-    )
-    message = interpolate(message, { more: props.more }, true)
-  } else {
-    message = gettext("There are no more posts in this thread.")
-  }
-
-  return <p>{message}</p>
-}

+ 81 - 13
frontend/src/components/thread/route.js

@@ -2,7 +2,6 @@ import React from "react"
 import Participants from "misago/components/participants"
 import { Poll } from "misago/components/poll"
 import PostsList from "misago/components/posts-list"
-import Header from "./header"
 import * as participants from "misago/reducers/participants"
 import * as poll from "misago/reducers/poll"
 import * as posts from "misago/reducers/posts"
@@ -13,6 +12,8 @@ import snackbar from "misago/services/snackbar"
 import posting from "misago/services/posting"
 import store from "misago/services/store"
 import title from "misago/services/page-title"
+import PageContainer from "../PageContainer"
+import ThreadHeader from "./ThreadHeader"
 import ThreadToolbarBottom from "./ThreadToolbarBottom"
 import ThreadToolbarTop from "./ThreadToolbarTop"
 
@@ -130,11 +131,23 @@ export default class extends React.Component {
   }
 
   render() {
+    const category = this.props.thread.category
+
     let className = "page page-thread"
-    if (this.props.thread.category.css_class) {
-      className += " page-thread-" + this.props.thread.category.css_class
+    if (category.css_class) {
+      className += " page-thread-" + category.css_class
     }
 
+    const styleName =
+      category.special_role === "private_threads"
+        ? "private-threads"
+        : category.css_class || "category-threads"
+
+    const threadModeration = getThreadModeration(
+      this.props.thread,
+      this.props.user
+    )
+
     const postsModeration = getPostsModeration(
       this.props.posts.results,
       this.props.user
@@ -143,10 +156,19 @@ export default class extends React.Component {
 
     return (
       <div className={className}>
-        <div className="page-header-bg">
-          <Header {...this.props} />
-        </div>
-        <div className="container">
+        <ThreadHeader
+          styleName={styleName}
+          thread={this.props.thread}
+          posts={this.props.posts}
+          user={this.props.user}
+          moderation={threadModeration}
+        />
+        <PageContainer>
+          <Participants
+            participants={this.props.participants}
+            thread={this.props.thread}
+            user={this.props.user}
+          />
           <ThreadToolbarTop
             thread={this.props.thread}
             posts={this.props.posts}
@@ -161,11 +183,6 @@ export default class extends React.Component {
             thread={this.props.thread}
             user={this.props.user}
           />
-          <Participants
-            participants={this.props.participants}
-            thread={this.props.thread}
-            user={this.props.user}
-          />
           <PostsList {...this.props} />
           <ThreadToolbarBottom
             thread={this.props.thread}
@@ -175,12 +192,63 @@ export default class extends React.Component {
             moderation={postsModeration}
             onReply={this.openReplyForm}
           />
-        </div>
+        </PageContainer>
       </div>
     )
   }
 }
 
+const getThreadModeration = (thread, user) => {
+  const moderation = {
+    enabled: false,
+    edit: false,
+    approve: false,
+    close: false,
+    open: false,
+    hide: false,
+    unhide: false,
+    move: false,
+    merge: false,
+    pinGlobally: false,
+    pinLocally: false,
+    unpin: false,
+    delete: false,
+  }
+
+  if (!user.is_authenticated) return moderation
+
+  moderation.edit = thread.acl.can_edit
+  moderation.approve = thread.acl.can_approve && thread.is_unapproved
+  moderation.close = thread.acl.can_close && !thread.is_closed
+  moderation.open = thread.acl.can_close && thread.is_closed
+  moderation.hide = thread.acl.can_hide && !thread.is_hidden
+  moderation.unhide = thread.acl.can_unhide && thread.is_hidden
+  moderation.move = thread.acl.can_move
+  moderation.merge = thread.acl.can_merge
+  moderation.pinGlobally = thread.acl.can_pin_globally && thread.weight < 2
+  moderation.pinLocally = thread.acl.can_pin && thread.weight !== 1
+  moderation.unpin =
+    (thread.acl.can_pin && thread.weight === 1) ||
+    (thread.acl.can_pin_globally && thread.weight === 2)
+  moderation.delete = thread.acl.can_delete
+
+  moderation.enabled =
+    moderation.edit ||
+    moderation.approve ||
+    moderation.close ||
+    moderation.open ||
+    moderation.hide ||
+    moderation.unhide ||
+    moderation.move ||
+    moderation.merge ||
+    moderation.pinGlobally ||
+    moderation.pinLocally ||
+    moderation.unpin ||
+    moderation.delete
+
+  return moderation
+}
+
 const getPostsModeration = (posts, user) => {
   const moderation = {
     enabled: false,

+ 3 - 1
frontend/src/components/threads/ThreadsToolbar.jsx

@@ -92,7 +92,9 @@ const ThreadsToolbar = ({
               api={api}
               categories={categories}
               categoriesMap={categoriesMap}
-              threads={threads}
+              threads={threads.filter(
+                (thread) => selection.indexOf(thread.id) !== -1
+              )}
               addThreads={addThreads}
               freezeThread={freezeThread}
               updateThread={updateThread}

+ 3 - 30
frontend/src/components/threads/container.js

@@ -1,42 +1,15 @@
 import React from "react"
-import PageLead from "misago/components/page-lead"
+import PageContainer from "../PageContainer"
 import ThreadsToolbar from "./ThreadsToolbar"
 
 export default class extends React.Component {
-  getCategoryDescription() {
-    if (this.props.pageLead) {
-      return (
-        <div className="category-description">
-          <div className="page-lead lead">
-            <p>{this.props.pageLead}</p>
-          </div>
-        </div>
-      )
-    } else if (this.props.route.category.description) {
-      return (
-        <div className="category-description">
-          <PageLead copy={this.props.route.category.description.html} />
-        </div>
-      )
-    } else {
-      return null
-    }
-  }
-
-  getDisableToolbar() {
-    return (
-      !this.props.isLoaded || this.props.isBusy || this.props.busyThreads.length
-    )
-  }
-
   render() {
     const { root } = this.props
     const { category, categories, categoriesMap } = this.props.route
     const topCategory = getTopCategory(root, category, categoriesMap)
 
     return (
-      <div className="container">
-        {this.getCategoryDescription()}
+      <PageContainer>
         <ThreadsToolbar
           api={this.props.api}
           baseUrl={category.url.index}
@@ -71,7 +44,7 @@ export default class extends React.Component {
           }
         />
         {this.props.children}
-      </div>
+      </PageContainer>
     )
   }
 }

+ 0 - 64
frontend/src/components/threads/header.js

@@ -1,64 +0,0 @@
-import React from "react"
-import { Link } from "react-router"
-
-export default class extends React.Component {
-  hasGoBackButton() {
-    return !!this.props.route.category.parent
-  }
-
-  getGoBackButton() {
-    if (!this.props.route.category.parent) return null
-
-    const parent = this.props.categories[this.props.route.category.parent]
-
-    return (
-      <div className="hidden-xs col-sm-2 col-lg-1">
-        <Link
-          className="btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline"
-          to={parent.url.index + this.props.route.list.path}
-        >
-          <span className="material-icon">keyboard_arrow_left</span>
-        </Link>
-      </div>
-    )
-  }
-
-  render() {
-    let headerClassName = "col-xs-12"
-    if (this.hasGoBackButton()) {
-      headerClassName += " col-sm-10 col-lg-11 sm-align-row-buttons"
-    }
-
-    return (
-      <div className="page-header-bg">
-        <div className="page-header">
-          <div className="container">
-            <div className="row">
-              {this.getGoBackButton()}
-              <div className={headerClassName}>
-                <ParentCategory
-                  categories={this.props.categories}
-                  category={this.props.route.category.parent}
-                />
-                <h1>{this.props.title}</h1>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    )
-  }
-}
-
-export function ParentCategory({ categories, category }) {
-  if (!category) return null
-
-  const parent = categories[category]
-
-  return (
-    <Link className="go-back-sm visible-xs-block" to={parent.url.index}>
-      <span className="material-icon">chevron_left</span>
-      {parent.parent ? parent.name : gettext("Threads")}
-    </Link>
-  )
-}

+ 11 - 11
frontend/src/components/threads/moderation/controls.js

@@ -293,7 +293,7 @@ export default class extends React.Component {
           </button>
         </li>
         <li role="separator" className="divider" />
-        {moderation.can_pin_globally && (
+        {!!moderation.can_pin_globally && (
           <li>
             <button
               className="btn btn-link"
@@ -306,7 +306,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_pin && (
+        {!!moderation.can_pin && (
           <li>
             <button
               className="btn btn-link"
@@ -319,7 +319,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_pin && (
+        {!!moderation.can_pin && (
           <li>
             <button
               className="btn btn-link"
@@ -332,7 +332,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_move && (
+        {!!moderation.can_move && (
           <li>
             <button
               className="btn btn-link"
@@ -345,7 +345,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_merge && (
+        {!!moderation.can_merge && (
           <li>
             <button
               className="btn btn-link"
@@ -358,7 +358,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_approve && (
+        {!!moderation.can_approve && (
           <li>
             <button
               className="btn btn-link"
@@ -371,7 +371,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_close && (
+        {!!moderation.can_close && (
           <li>
             <button
               className="btn btn-link"
@@ -384,7 +384,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_close && (
+        {!!moderation.can_close && (
           <li>
             <button
               className="btn btn-link"
@@ -397,7 +397,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_unhide && (
+        {!!moderation.can_unhide && (
           <li>
             <button
               className="btn btn-link"
@@ -410,7 +410,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_hide && (
+        {!!moderation.can_hide && (
           <li>
             <button
               className="btn btn-link"
@@ -423,7 +423,7 @@ export default class extends React.Component {
             </button>
           </li>
         )}
-        {moderation.can_delete && (
+        {!!moderation.can_delete && (
           <li>
             <button
               className="btn btn-link"

+ 52 - 14
frontend/src/components/threads/route.js

@@ -5,7 +5,6 @@ import {
   compareWeight,
 } from "misago/components/threads/compare"
 import Container from "misago/components/threads/container"
-import Header from "misago/components/threads/header"
 import {
   diffThreads,
   getModerationActions,
@@ -23,6 +22,11 @@ import snackbar from "misago/services/snackbar"
 import store from "misago/services/store"
 import title from "misago/services/page-title"
 import * as sets from "misago/utils/sets"
+import {
+  PageHeaderHTMLMessage,
+  PageHeaderMessage,
+  PageHeaderPlain,
+} from "../PageHeader"
 
 export default class extends WithDropdown {
   constructor(props) {
@@ -268,21 +272,55 @@ export default class extends WithDropdown {
   }
 
   render() {
+    const root = this.props.route.categories[0]
+    const { category, list } = this.props.route
+    const specialRole = category.special_role
+
     return (
       <div className={this.getClassName()}>
-        <Header
-          categories={this.props.route.categoriesMap}
-          disabled={!this.state.isLoaded}
-          startThread={this.props.options.startThread}
-          threads={this.props.threads}
-          title={this.getTitle()}
-          toggleNav={this.toggleNav}
-          route={this.props.route}
-          user={this.props.user}
-        />
+        {specialRole == "root_category" &&
+          misago.get("THREADS_ON_INDEX") &&
+          misago.get("SETTINGS").index_header && (
+            <PageHeaderPlain
+              header={misago.get("SETTINGS").index_header}
+              message={
+                category.description && (
+                  <PageHeaderHTMLMessage message={category.description.html} />
+                )
+              }
+              styleName="forum-index"
+            />
+          )}
+        {specialRole == "root_category" && !misago.get("THREADS_ON_INDEX") && (
+          <PageHeaderPlain header={gettext("Threads")} styleName="threads" />
+        )}
+        {specialRole == "private_threads" && (
+          <PageHeaderPlain
+            header={this.props.options.title}
+            message={
+              this.props.options.pageLead && (
+                <PageHeaderMessage>
+                  <p>{this.props.options.pageLead}</p>
+                </PageHeaderMessage>
+              )
+            }
+            styleName="private-threads"
+          />
+        )}
+        {!specialRole && (
+          <PageHeaderPlain
+            header={category.name}
+            message={
+              category.description && (
+                <PageHeaderHTMLMessage message={category.description.html} />
+              )
+            }
+            styleName={category.css_class || "category-threads"}
+          />
+        )}
         <Container
           api={this.props.options.api}
-          root={this.props.route.categories[0]}
+          root={root}
           route={this.props.route}
           user={this.props.user}
           pageLead={this.props.options.pageLead}
@@ -300,9 +338,9 @@ export default class extends WithDropdown {
           isBusy={this.state.isBusy}
         >
           <ThreadsList
-            category={this.props.route.category}
+            category={category}
             categories={this.props.route.categoriesMap}
-            list={this.props.route.list}
+            list={list}
             selection={this.props.selection}
             threads={this.props.threads}
             updatedThreads={this.state.diff.results.length}

+ 3 - 2
frontend/src/components/users/active-posters/list-empty.js

@@ -1,4 +1,5 @@
 import React from "react"
+import PageContainer from "../../PageContainer"
 
 export default class extends React.Component {
   getEmptyMessage() {
@@ -14,9 +15,9 @@ export default class extends React.Component {
   render() {
     return (
       <div className="active-posters-list">
-        <div className="container">
+        <PageContainer>
           <p className="lead">{this.getEmptyMessage()}</p>
-        </div>
+        </PageContainer>
       </div>
     )
   }

+ 3 - 2
frontend/src/components/users/active-posters/list-preview.js

@@ -1,6 +1,7 @@
 import React from "react"
 import ItemPreview from "misago/components/users/active-posters/list-item-preview"
 import * as random from "misago/utils/random"
+import PageContainer from "../../PageContainer"
 
 export default class extends React.Component {
   shouldComponentUpdate() {
@@ -10,7 +11,7 @@ export default class extends React.Component {
   render() {
     return (
       <div className="active-posters-list">
-        <div className="container">
+        <PageContainer>
           <p className="lead ui-preview">
             <span
               className="ui-preview-text"
@@ -27,7 +28,7 @@ export default class extends React.Component {
               })}
             </ul>
           </div>
-        </div>
+        </PageContainer>
       </div>
     )
   }

+ 3 - 2
frontend/src/components/users/active-posters/list-ready.js

@@ -1,5 +1,6 @@
 import React from "react"
 import ListItem from "misago/components/users/active-posters/list-item"
+import PageContainer from "../../PageContainer"
 
 export default class extends React.Component {
   getLeadMessage() {
@@ -22,7 +23,7 @@ export default class extends React.Component {
   render() {
     return (
       <div className="active-posters-list">
-        <div className="container">
+        <PageContainer>
           <p className="lead">{this.getLeadMessage()}</p>
 
           <div className="active-posters ui-ready">
@@ -39,7 +40,7 @@ export default class extends React.Component {
               })}
             </ul>
           </div>
-        </div>
+        </PageContainer>
       </div>
     )
   }

+ 0 - 1
frontend/src/components/users/nav.js

@@ -1,7 +1,6 @@
 import React from "react"
 import { Link } from "react-router"
 import Li from "misago/components/li"
-import misago from "misago/index"
 
 export default function ({ baseUrl, lists }) {
   return (

+ 12 - 8
frontend/src/components/users/rank/RankUsersLeft.jsx

@@ -3,17 +3,21 @@ import React from "react"
 const RankUsersLeft = ({ users }) => {
   if (users.more) {
     return (
-      <p>{
-        interpolate(ngettext(
-          "There is %(more)s more member with this role.",
-          "There are %(more)s more members with this role.",
-          users.more
-        ), { more: users.more }, true)
-        }</p>
+      <p>
+        {interpolate(
+          ngettext(
+            "There is %(more)s more member with this role.",
+            "There are %(more)s more members with this role.",
+            users.more
+          ),
+          { more: users.more },
+          true
+        )}
+      </p>
     )
   }
 
   return <p>{gettext("There are no more members with this role.")}</p>
 }
 
-export default RankUsersLeft
+export default RankUsersLeft

+ 2 - 8
frontend/src/components/users/rank/RankUsersList.js

@@ -2,13 +2,7 @@ import React from "react"
 import UsersList from "../../users-list"
 
 const RankUsersList = ({ users }) => (
-  <UsersList
-    cols={4}
-    isReady={true}
-    showStatus={true}
-    users={users}
-  />
+  <UsersList cols={4} isReady={true} showStatus={true} users={users} />
 )
 
-
-export default RankUsersList
+export default RankUsersList

+ 1 - 3
frontend/src/components/users/rank/RankUsersListLoader.js

@@ -6,9 +6,7 @@ class RankUsersListLoader extends React.Component {
     return false
   }
 
-  render = () => (
-    <UsersList cols={4} isReady={false} />
-  )
+  render = () => <UsersList cols={4} isReady={false} />
 }
 
 export default RankUsersListLoader

+ 1 - 4
frontend/src/components/users/rank/RankUsersToolbar.jsx

@@ -3,10 +3,7 @@ import { Toolbar, ToolbarItem, ToolbarSection } from "../../Toolbar"
 import RankUsersLeft from "./RankUsersLeft"
 import RankUsersPagination from "./RankUsersPagination"
 
-const RankUsersToolbar = ({
-  baseUrl,
-  users
-}) => (
+const RankUsersToolbar = ({ baseUrl, users }) => (
   <Toolbar>
     <ToolbarSection>
       <ToolbarItem>

+ 7 - 6
frontend/src/components/users/rank/root.js

@@ -5,6 +5,7 @@ import { hydrate } from "misago/reducers/users"
 import polls from "misago/services/polls"
 import store from "misago/services/store"
 import title from "misago/services/page-title"
+import PageContainer from "../../PageContainer"
 import RankUsersList from "./RankUsersList"
 import RankUsersListLoader from "./RankUsersListLoader"
 import RankUsersToolbar from "./RankUsersToolbar"
@@ -107,9 +108,7 @@ export default class extends React.Component {
   getComponent() {
     if (this.state.isLoaded) {
       if (this.state.count > 0) {
-        return (
-          <RankUsersList users={this.props.users} />
-        )
+        return <RankUsersList users={this.props.users} />
       } else {
         return (
           <p className="lead">
@@ -125,14 +124,16 @@ export default class extends React.Component {
   render() {
     return (
       <div className={this.getClassName()}>
-        <div className="container">
+        <PageContainer>
           {this.getRankDescription()}
           {this.getComponent()}
           <RankUsersToolbar
-            baseUrl={misago.get("USERS_LIST_URL") + this.props.route.rank.slug + "/"}
+            baseUrl={
+              misago.get("USERS_LIST_URL") + this.props.route.rank.slug + "/"
+            }
             users={this.state}
           />
-        </div>
+        </PageContainer>
       </div>
     )
   }

+ 18 - 16
frontend/src/components/users/root.js

@@ -1,32 +1,34 @@
 import React from "react"
 import { connect } from "react-redux"
-import DropdownToggle from "misago/components/dropdown-toggle"
 import Nav from "misago/components/users/nav"
 import ActivePosters from "misago/components/users/active-posters/root"
 import Rank from "misago/components/users/rank/root"
 import WithDropdown from "misago/components/with-dropdown"
 import misago from "misago/index"
+import {
+  PageHeader,
+  PageHeaderBanner,
+  PageHeaderContainer,
+  PageHeaderDetails,
+} from "../PageHeader"
 
 export default class extends WithDropdown {
   render() {
     return (
       <div className="page page-users-lists">
-        <div className="page-header-bg">
-          <div className="page-header">
-            <div className="container">
+        <PageHeaderContainer>
+          <PageHeader styleName="users-lists">
+            <PageHeaderBanner styleName="users-lists">
               <h1>{gettext("Users")}</h1>
-            </div>
-            <div className="page-tabs">
-              <div className="container">
-                <Nav
-                  lists={misago.get("USERS_LISTS")}
-                  baseUrl={misago.get("USERS_LIST_URL")}
-                />
-              </div>
-            </div>
-          </div>
-        </div>
-
+            </PageHeaderBanner>
+            <PageHeaderDetails className="page-header-details-tabs">
+              <Nav
+                lists={misago.get("USERS_LISTS")}
+                baseUrl={misago.get("USERS_LIST_URL")}
+              />
+            </PageHeaderDetails>
+          </PageHeader>
+        </PageHeaderContainer>
         {this.props.children}
       </div>
     )

+ 0 - 167
frontend/src/style/flavor/page-header.less

@@ -1,167 +0,0 @@
-//
-// Flavor Header
-// --------------------------------------------------
-
-// Graphic background
-.page-header {
-  background: none; // we'll use header handler for that
-  border-bottom: none;
-}
-
-.page-header-bg {
-  background: @page-header-bg;
-  background-size: cover;
-
-  @media screen and (min-width: @screen-md-min) {
-    margin-bottom: @line-height-computed * 2;
-  }
-}
-
-// Min-height the line on headless pages
-.page-header-bg {
-  min-height: @page-header-min-height;
-}
-
-// Item colors
-.page-header {
-  h1 {
-    color: @page-header-color;
-    font-weight: 400;
-  }
-}
-
-// Buttons
-.page-header .btn-outline {
-  &.btn-default {
-    .misago-btn(
-      @page-header-btn-default-color,
-      @page-header-btn-default-bg,
-
-      @page-header-btn-default-hover-color,
-      @page-header-btn-default-hover-bg,
-
-      @page-header-btn-default-active-color,
-      @page-header-btn-default-active-bg
-    );
-  }
-
-  &.btn-primary {
-    .misago-btn(
-      @page-header-btn-primary-color,
-      @page-header-btn-primary-bg,
-
-      @page-header-btn-primary-hover-color,
-      @page-header-btn-primary-hover-bg,
-
-      @page-header-btn-primary-active-color,
-      @page-header-btn-primary-active-bg
-    );
-  }
-}
-
-// Stats
-.header-stats {
-  color: @page-header-text-color;
-
-  li {
-    a,
-    a:link,
-    a:visited {
-      color: @page-header-link-color;
-    }
-
-    a:hover,
-    a:focus,
-    a:active {
-      color: @page-header-link-hover-color;
-    }
-
-    .user-status.user-offline {
-      .status-icon {
-        color: @page-header-text-color;
-      }
-    }
-  }
-}
-
-// Go back
-.page-header .go-back-sm {
-  &,
-  &:link,
-  &:visited {
-    color: @page-header-text-color;
-  }
-
-  &:hover,
-  &:focus,
-  &:active {
-    color: @page-header-link-hover-color;
-  }
-}
-
-// Breadcrumbs
-.page-header .breadcrumb {
-  color: @page-header-text-color;
-
-  a,
-  a:link,
-  a:visited {
-    color: @page-header-text-color;
-  }
-
-  a:hover,
-  a:focus,
-  a:active {
-    color: @page-header-link-color;
-  }
-
-  li:before {
-    color: @page-header-text-color;
-  }
-}
-
-// Header tabs
-.page-header .page-tabs {
-  background-color: @page-tabs-bg;
-  margin-top: @line-height-computed * 1.66;
-
-  li a {
-    font-weight: bold;
-
-    &,
-    &:link,
-    &:visited {
-      background-color: @page-tabs-link-bg;
-      border-radius: @border-radius-small @border-radius-small 0 0;
-
-      color: @page-tabs-link-color;
-    }
-
-    &:hover,
-    &:focus {
-      background-color: @page-tabs-link-hover-bg;
-
-      color: @page-tabs-link-hover-color;
-
-      @media screen and (max-width: @screen-sm-max) {
-        // sticky hover on touch devices is confusing, so don.t add it
-        background-color: @page-tabs-link-bg;
-
-        color: @page-tabs-link-color;
-      }
-    }
-  }
-
-  li.active a {
-    &,
-    &:link,
-    &:active,
-    &:visited,
-    &:hover,
-    &:focus {
-      background-color: @page-tabs-link-active-bg;
-
-      color: @page-tabs-link-active-color;
-    }
-  }
-}

+ 0 - 0
frontend/src/style/flavor/threads-list.less


+ 0 - 35
frontend/src/style/flavor/user-profile.less

@@ -1,35 +0,0 @@
-//
-// User Profile Flavor
-// --------------------------------------------------
-
-// Text align disabled account node
-.page-user-profile .page-header .alert {
-  text-align: center;
-}
-
-// Style user's avatar
-.page-user-profile .page-header {
-  img {
-    background-color: #fff;
-    border: 3px solid #fff;
-    border-radius: @border-radius-large;
-    .shadow-2dp();
-  }
-
-  .user-status .status-icon {
-    width: 14px;
-    height: 14px;
-
-    font-size: 14px;
-    line-height: 14px;
-  }
-}
-
-.page-user-profile .profile-side-avatar {
-  img {
-    background-color: #fff;
-    border: 3px solid #fff;
-    border-radius: @border-radius-large;
-    .shadow-4dp();
-  }
-}

+ 0 - 57
frontend/src/style/flavor/variables.less

@@ -169,63 +169,6 @@
 
 @navbar-btn-register-radius: 4px;
 
-//== Page header
-//
-//##
-
-// Basics
-//** Background
-@page-header-bg: #f4f5f7;
-
-//** Heading color
-@page-header-color: #172b4d;
-
-//** Other text color
-@page-header-text-color: @gray;
-//** Link color
-@page-header-link-color: @gray;
-//** Text color
-@page-header-link-hover-color: @gray-dark;
-
-//** Heading min height
-@page-header-min-height: 8px;
-
-// Buttons
-//** Default
-@page-header-btn-default-color: #fff;
-@page-header-btn-default-bg: #8993a4;
-
-@page-header-btn-default-hover-color: #fff;
-@page-header-btn-default-hover-bg: #6b778c;
-
-@page-header-btn-default-active-color: #fff;
-@page-header-btn-default-active-bg: #505f79;
-
-//** Primary
-@page-header-btn-primary-color: #fff;
-@page-header-btn-primary-bg: #6554c0;
-
-@page-header-btn-primary-hover-color: #fff;
-@page-header-btn-primary-hover-bg: #8777d9;
-
-@page-header-btn-primary-active-color: #fff;
-@page-header-btn-primary-active-bg: #403294;
-
-// Tabs
-@page-tabs-bg: transparent;
-
-@page-tabs-link-color: #a5adba;
-@page-tabs-link-bg: transparent;
-
-@page-tabs-link-hover-color: @text-color;
-@page-tabs-link-hover-bg: transparent;
-
-@page-tabs-link-focus-color: @text-color;
-@page-tabs-link-focus-bg: transparent;
-
-@page-tabs-link-active-color: @text-color;
-@page-tabs-link-active-bg: @body-bg;
-
 //== Footer
 //
 //##

+ 6 - 3
frontend/src/style/index.less

@@ -64,6 +64,7 @@
 
 // Core CSS
 @import "misago/scaffolding.less";
+@import "misago/flex-row.less";
 
 // Components
 @import "misago/auth-message.less";
@@ -72,6 +73,7 @@
 @import "misago/loaders.less";
 @import "misago/navbar.less";
 @import "misago/navs.less";
+@import "misago/breadcrumbs.less";
 @import "misago/material-icons.less";
 @import "misago/modals.less";
 @import "misago/forms.less";
@@ -79,8 +81,12 @@
 @import "misago/buttons.less";
 @import "misago/dropdowns.less";
 @import "misago/category-label.less";
+@import "misago/thread-flags.less";
+@import "misago/thread-replies.less";
+@import "misago/thread-user-card.less";
 @import "misago/search-dropdown.less";
 @import "misago/page-header.less";
+@import "misago/page-container.less";
 @import "misago/panels.less";
 @import "misago/footer.less";
 @import "misago/ui-preview.less";
@@ -135,10 +141,8 @@
 @import "flavor/dropdowns.less";
 @import "flavor/navbar.less";
 @import "flavor/search-dropdown.less";
-@import "flavor/page-header.less";
 @import "flavor/page-footer.less";
 @import "flavor/list-group.less";
-@import "flavor/threads-list.less";
 @import "flavor/navs.less";
 @import "flavor/username-history.less";
 @import "flavor/panels.less";
@@ -160,7 +164,6 @@
 @import "flavor/active-posters.less";
 @import "flavor/message-pages.less";
 @import "flavor/user-options.less";
-@import "flavor/user-profile.less";
 @import "flavor/profile-details.less";
 
 // Flavors

+ 44 - 0
frontend/src/style/misago/breadcrumbs.less

@@ -0,0 +1,44 @@
+// Breadcrumbs component
+
+.breadcrumbs {
+  display: block;
+
+  padding: 0;
+  margin-bottom: @line-height-computed / 2;
+}
+
+.breadcrumbs-item {
+  display: inline-block;
+  margin-right: @breadcrumbs-gutter;
+  margin-bottom: @line-height-computed / 2;
+  padding: 0;
+  list-style: none;
+}
+
+.breadcrumbs-item a {
+  display: flex;
+  align-items: center;
+  text-decoration: none;
+
+  &,
+  &:visited {
+    color: @breadcrumbs-color;
+  }
+
+  &:hover,
+  &:focus {
+    color: @breadcrumbs-color-hover;
+
+    .breadcrumbs-item-name {
+      text-decoration: underline;
+    }
+  }
+
+  &:active {
+    color: @breadcrumbs-color-active;
+  }
+}
+
+.breadcrumbs-item .material-icon {
+  margin-right: 4px;
+}

+ 1 - 1
frontend/src/style/misago/dropdowns.less

@@ -73,7 +73,7 @@
 
 // Bump min dropdown width to 210px
 .dropdown-menu {
-  width: 210px;
+  min-width: 210px;
 }
 
 // Dropdown footer

+ 50 - 0
frontend/src/style/misago/flex-row.less

@@ -0,0 +1,50 @@
+//
+// Simple flex row util, inspired by toolbar
+// --------------------------------------------------
+
+.flex-row {
+  display: block;
+  margin: 0 floor(@grid-gutter-width * -0.5);
+}
+
+.flex-row-section {
+  align-items: center;
+  display: flex;
+  flex: 1;
+}
+
+.flex-row-section + .flex-row-section {
+  margin-top: @line-height-computed;
+}
+
+.flex-row-col {
+  flex: 1;
+  padding: 0 floor(@grid-gutter-width * 0.5);
+}
+
+@media screen and (min-width: @screen-sm-min) {
+  .flex-row {
+    display: flex;
+    align-items: center;
+  }
+
+  .flex-row-section + .flex-row-section {
+    margin: 0;
+  }
+
+  .flex-row-section,
+  .flex-row-col {
+    flex: 0;
+
+    align-items: center;
+  }
+
+  .flex-row-section.flex-row-section-auto,
+  .flex-row-section.flex-row-section-auto > .flex-row-col {
+    flex: 1;
+  }
+}
+
+.flex-row-col-shrink {
+  flex: 0 !important;
+}

+ 30 - 0
frontend/src/style/misago/navs.less

@@ -22,3 +22,33 @@
     top: 1px;
   }
 }
+
+.nav-pills > li > a {
+  padding: @nav-pills-padding-vertical @nav-pills-padding-horizontal;
+
+  &,
+  &:link,
+  &:visited {
+    background-color: @nav-pills-bg;
+    color: @nav-pills-color;
+  }
+
+  &:focus,
+  &:hover,
+  &:active {
+    background-color: @nav-pills-hover-bg;
+    color: @nav-pills-hover-color;
+  }
+}
+
+.nav-pills > li.active > a {
+  &,
+  &:link,
+  &:visited,
+  &:focus,
+  &:hover,
+  &:active {
+    background-color: @nav-pills-active-bg;
+    color: @nav-pills-active-color;
+  }
+}

+ 5 - 0
frontend/src/style/misago/page-container.less

@@ -0,0 +1,5 @@
+// Page container is .container element for page content (excluding header)
+
+.page-container {
+  padding-top: @line-height-computed;
+}

+ 10 - 210
frontend/src/style/misago/page-header.less

@@ -2,220 +2,20 @@
 // Page Header
 // --------------------------------------------------
 
-// Common styles
-.page-header-bg {
-  margin-bottom: @line-height-computed;
-}
-
+// Remove margins from header
 .page-header {
-  margin: 0px;
-  padding: @line-height-computed * 2 0px;
-
-  h1 {
-    margin: 0px;
-
-    word-wrap: break-word;
-  }
-
-  .btn-aligned {
-    float: right;
-    margin-left: 8px;
-
-    &.pull-left {
-      margin-left: 0px;
-      margin-right: 8px;
-    }
-  }
-
-  @media screen and (min-width: @screen-md-min) {
-    .container > .row {
-      h1 {
-        margin-top: -3px;
-      }
-
-      .row {
-        margin-top: @padding-small-vertical;
-      }
-    }
-  }
-}
-
-// Small displays
-@media screen and (max-width: @screen-sm-max) {
-  .container {
-    h1 {
-      font-size: @font-size-large * 1.25;
-    }
-
-    .btn-icon {
-      .material-icon {
-        width: 24px;
-        height: 24px;
-
-        margin: -3px 0px;
-
-        font-size: 24px;
-        line-height: 24px;
-      }
-    }
-  }
-}
-
-// Breadcrumbs
-.page-breadcrumbs {
-  margin-bottom: @line-height-computed;
-}
-
-.page-breadcrumbs .breadcrumb {
-  background: none;
-  margin: 0px;
-  margin-top: @line-height-computed * -1;
-  padding: 0px;
-  overflow: auto;
-}
-
-.page-breadcrumbs .breadcrumb li {
-  &,
-  &:before {
-    display: block;
-    float: left;
-  }
-
-  &:before {
-    margin-left: 4px;
-  }
-}
-
-// Small go back button
-.go-back-sm {
-  margin-top: @line-height-computed * -1;
-  margin-bottom: @line-height-computed;
-
-  .material-icon {
-    height: @font-size-large;
-    width: @font-size-large;
-
-    font-size: @font-size-large;
-    line-height: @font-size-large;
-
-    position: relative;
-    top: -1px;
-  }
+  margin: 0;
+  margin-top: floor(@line-height-computed * 0.5);
 }
 
-.page-breadcrumbs .go-back-sm {
-  margin-bottom: 0px;
+// Add padding to header's banner and message
+.page-header-banner-bg-overlay {
+  padding: @line-height-computed 0;
 }
 
-// Stats
-.header-stats {
-  margin-top: @line-height-computed;
-  margin-bottom: @line-height-computed * -1;
-}
-
-.header-stats .list-inline {
-  margin-bottom: 0px;
-}
-
-.header-stats .list-inline li {
-  margin-bottom: 0px;
-  margin-right: 8px;
-  overflow: auto;
-  vertical-align: top; // fix #834
-
-  .status-icon {
-    width: 18px;
-    height: 18px;
-
-    margin-right: 4px;
-
-    position: relative;
-    bottom: 1px;
-
-    font-size: 18px;
-    line-height: 18px;
-  }
-
-  & > .material-icon,
-  & > .icon-legend {
-    float: left;
-  }
-
-  & > .material-icon {
-    margin-right: 4px;
-
-    position: relative;
-    top: 3px;
-  }
-}
-
-@media screen and (max-width: @screen-sm-max) {
-  .header-stats .list-inline {
-    font-size: @font-size-small;
-
-    li > .material-icon {
-      top: 2px;
-    }
-  }
-}
-
-// Tabs
-.page-header .page-tabs {
-  margin-top: @line-height-computed;
-  margin-bottom: @line-height-computed * -2;
-}
-
-.page-header .page-tabs .nav {
-  & > li {
-    margin: 0px;
-
-    & > a {
-      border-radius: 0px;
-    }
-  }
-}
-
-.page-tabs {
-  ul {
-    display: block;
-    overflow-x: auto;
-
-    white-space: nowrap;
-
-    li,
-    a {
-      display: inline-block;
-      float: none;
-
-      white-space: nowrap;
-
-      .material-icon {
-        margin-right: @padding-base-horizontal / 2;
-      }
-    }
-  }
-
-  @media screen and (max-width: @screen-xs-max) {
-    .container {
-      padding-left: 0px;
-      padding-right: 0px;
-    }
-
-    li a {
-      padding-left: @line-height-computed * 1.33;
-      padding-right: @line-height-computed * 1.33;
-    }
-  }
-}
-
-// Insert blank space between tabs and details on smallest displays
-@media screen and (max-width: @screen-xs-max) {
-  .header-stats + .page-tabs {
-    margin-top: @line-height-computed * 1.5;
-  }
-}
+// Don't rely on header's margins for spacing, force word break
+.page-header h1 {
+  margin: 0;
 
-// Title edit form
-.title-edit-form {
-  margin-bottom: @line-height-computed / 2 + 2px;
+  overflow-wrap: break-word;
 }

+ 67 - 0
frontend/src/style/misago/thread-flags.less

@@ -0,0 +1,67 @@
+.thread-flags {
+  display: flex;
+  align-items: center;
+
+  opacity: @thread-flag-icon-opacity;
+
+  margin: 0;
+  padding: 0;
+
+  li {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+
+    width: @thread-flag-block-size;
+    height: @thread-flag-block-size;
+
+    border-radius: @border-radius-small;
+    list-style-type: none;
+
+    cursor: default;
+  }
+
+  li + li {
+    margin-left: @grid-gutter-width / 4;
+  }
+
+  .material-icon {
+    font-size: @thread-flag-icon-size;
+    line-height: @thread-flag-icon-size;
+  }
+}
+
+.thread-flag-pinned-globally {
+  color: @thread-flag-pinned-globally-color;
+  background: @thread-flag-pinned-globally-bg;
+}
+
+.thread-flag-pinned-locally {
+  color: @thread-flag-pinned-locally-color;
+  background: @thread-flag-pinned-locally-bg;
+}
+
+.thread-flag-answered {
+  color: @thread-flag-answered-color;
+  background: @thread-flag-answered-bg;
+}
+
+.thread-flag-poll {
+  color: @thread-flag-poll-color;
+  background: @thread-flag-poll-bg;
+}
+
+.thread-flag-unapproved {
+  color: @thread-flag-unapproved-color;
+  background: @thread-flag-unapproved-bg;
+}
+
+.thread-flag-closed {
+  color: @thread-flag-closed-color;
+  background: @thread-flag-closed-bg;
+}
+
+.thread-flag-hidden {
+  color: @thread-flag-hidden-color;
+  background: @thread-flag-hidden-bg;
+}

+ 13 - 0
frontend/src/style/misago/thread-replies.less

@@ -0,0 +1,13 @@
+.threads-replies {
+  display: flex;
+  align-items: center;
+
+  color: @thread-replies-color;
+  font-size: @thread-replies-size;
+  font-weight: bold;
+
+  .material-icon {
+    margin-right: @grid-gutter-width / 4;
+    transform: matrix(-1, 0, 0, 1, 0, 0);
+  }
+}

+ 21 - 0
frontend/src/style/misago/thread-user-card.less

@@ -0,0 +1,21 @@
+.thread-user-card {
+  display: flex;
+  align-items: center;
+}
+
+.thread-user-card-media {
+  flex: 0;
+  margin-right: floor(@grid-gutter-width * .5;);
+
+  img {
+    border-radius: @border-radius-small;
+  }
+}
+
+.thread-user-card-body {
+  flex: 1;
+
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}

+ 2 - 78
frontend/src/style/misago/threads-lists.less

@@ -114,79 +114,17 @@ a.threads-list-item-title-new {
   padding-left: @grid-gutter-width / 2;
 }
 
-.threads-list-item-flags {
-  display: flex;
-  align-items: center;
-
+.threads-list-item {
   opacity: @thread-flag-icon-opacity;
-
-  margin: 0;
-  padding: 0;
-
-  li {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-
-    width: @thread-flag-block-size;
-    height: @thread-flag-block-size;
-
-    border-radius: @border-radius-small;
-    list-style-type: none;
-  }
-
-  li + li {
-    margin-left: @grid-gutter-width / 4;
-  }
-
-  .material-icon {
-    font-size: @thread-flag-icon-size;
-    line-height: @thread-flag-icon-size;
-  }
 }
 
 .threads-list-item:hover,
 .threads-list-item:focus {
-  .threads-list-item-flags {
+  .thread-flags {
     opacity: @thread-flag-icon-opacity-hover;
   }
 }
 
-.threads-list-item-flag-pinned-globally {
-  color: @thread-flag-pinned-globally-color;
-  background: @thread-flag-pinned-globally-bg;
-}
-
-.threads-list-item-flag-pinned-locally {
-  color: @thread-flag-pinned-locally-color;
-  background: @thread-flag-pinned-locally-bg;
-}
-
-.threads-list-item-flag-answered {
-  color: @thread-flag-answered-color;
-  background: @thread-flag-answered-bg;
-}
-
-.threads-list-item-flag-poll {
-  color: @thread-flag-poll-color;
-  background: @thread-flag-poll-bg;
-}
-
-.threads-list-item-flag-unapproved {
-  color: @thread-flag-unapproved-color;
-  background: @thread-flag-unapproved-bg;
-}
-
-.threads-list-item-flag-closed {
-  color: @thread-flag-closed-color;
-  background: @thread-flag-closed-bg;
-}
-
-.threads-list-item-flag-hidden {
-  color: @thread-flag-hidden-color;
-  background: @thread-flag-hidden-bg;
-}
-
 // Thread category
 .threads-list-item-col-category {
   padding-left: @grid-gutter-width / 2;
@@ -241,20 +179,6 @@ a.threads-list-item-title-new {
   padding-left: @grid-gutter-width / 2;
 }
 
-.threads-list-item-replies {
-  display: flex;
-  align-items: center;
-
-  color: @thread-replies-color;
-  font-size: @thread-replies-size;
-  font-weight: bold;
-
-  .material-icon {
-    margin-right: @grid-gutter-width / 4;
-    transform: matrix(-1, 0, 0, 1, 0, 0);
-  }
-}
-
 // Last poster
 .threads-list-item-col-last-poster {
   padding-left: @grid-gutter-width / 2;

+ 43 - 89
frontend/src/style/misago/user-profile.less

@@ -1,114 +1,68 @@
 //
-// Forum Profile
+// User Profile
 // --------------------------------------------------
 
-.page-user-profile .page-header {
-  padding-top: @line-height-computed;
+.profile-page-header-avatar {
+  text-align: center;
+  margin: @line-height-computed 0;
 
-  .alert {
-    margin-bottom: @line-height-computed;
-  }
-
-  h1 {
-    margin-bottom: 0px;
-  }
-
-  .btn-aligned {
-    margin-top: 0px;
+  .user-avatar {
+    border-radius: @border-radius-base;
   }
 }
 
-// Small displays header
-@media screen and (max-width: @screen-xs-max) {
-  .page-user-profile .page-header {
-    text-align: center;
-
-    img {
-      clear: both;
-      margin-top: @line-height-computed;
-
-      width: 100px;
-      height: 100px;
-    }
-
-    h1 {
-      margin-top: @line-height-computed;
-
-      font-size: @font-size-base * 2;
-    }
+// Make profile data horizontal and insert space between elements
+.profile-data-list {
+  display: block;
+  padding: 0;
+  margin: 0 (@padding-base-horizontal * -1);
 
-    .header-stats ul {
-      text-align: center;
+  font-size: @font-size-small;
 
-      li {
-        display: inline-block;
+  li {
+    display: inline-block;
+    list-style: none;
+    padding: floor(@line-height-computed / 4) @padding-base-horizontal;
+  }
 
-        white-space: nowrap;
-      }
-    }
+  .status-icon {
+    margin-right: 3px;
+    position: relative;
+    bottom: 1px;
   }
 
-  .page-user-profile .profile-side-avatar {
-    display: none;
+  .user-account-disabled {
+    color: @brand-danger;
+    font-weight: bold;
   }
 }
 
-// Tablet displays
-@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
-  .page-user-profile .page-header {
-    img,
-    h1 {
-      float: left;
-    }
-
-    img {
-      margin-top: @line-height-computed;
-      margin-right: 24px;
-
-      width: 80px;
-      height: 80px;
-    }
-
-    h1 {
-      position: relative;
-      top: @line-height-computed * 1.25;
-    }
-
-    .header-stats {
-      margin-left: 80px + 32px;
-      margin-top: @line-height-computed * 1.25;
-      margin-bottom: @line-height-computed * -2.25;
+// On tablets and up make layout horizontal
+@media screen and (min-width: @screen-sm-min) {
+  .profile-page-header {
+    display: flex;
+    align-items: flex-end;
+  }
 
-      position: relative;
-      bottom: @line-height-computed * 2.5;
-    }
+  .profile-page-header-avatar {
+    margin: 0;
+    margin-right: @grid-gutter-width;
   }
 }
 
-// Dekstops header
+// On desktops make avatar overlap on details, make details larger
 @media screen and (min-width: @screen-md-min) {
-  .page-user-profile .page-header {
-    .user-avatar-sm {
-      display: none;
-    }
-
-    h1 {
-      position: relative;
-      top: 5px;
-    }
+  .profile-page-header-avatar {
+    position: relative;
+    top: @profile-header-avatar-offset;
+    margin-top: @profile-header-avatar-offset * -1;
+  }
 
-    .header-stats ul {
-      li {
-        display: block;
-        float: left;
-      }
-    }
+  .profile-page-header-details {
+    padding-left: 128px + @grid-gutter-width;
   }
 
-  .page-user-profile .profile-side-avatar img {
-    width: 100%;
-    height: auto;
-    margin-top: @line-height-computed * -7;
-    margin-bottom: @line-height-computed;
+  .profile-data-list {
+    font-size: @font-size-base;
   }
 }

+ 29 - 1
frontend/src/style/misago/variables.less

@@ -38,6 +38,29 @@
 
 @navbar-compact-item-size: 24px;
 
+//== Pills nav
+//
+@nav-pills-padding-vertical: @padding-small-vertical;
+@nav-pills-padding-horizontal: @padding-small-horizontal;
+
+@nav-pills-bg: @gray-lighter;
+@nav-pills-color: @gray-dark;
+
+@nav-pills-hover-bg: darken(@gray-lighter, 5%);
+@nav-pills-hover-color: @gray-dark;
+
+@nav-pills-active-bg: @gray-dark;
+@nav-pills-active-color: #fff;
+
+//== Breadcrumbs
+//
+@breadcrumbs-size: @font-size-base;
+@breadcrumbs-gutter: @grid-gutter-width / 2;
+
+@breadcrumbs-color: @gray;
+@breadcrumbs-color-hover: @text-color;
+@breadcrumbs-color-active: @text-color;
+
 //== Error pages
 //
 @message-page-icon-size: 80px;
@@ -59,7 +82,8 @@
 @category-new-color: @brand-success;
 
 //== Category label colors
-@category-label-bg: #333;
+//
+
 @category-label-color: #fff;
 
 @category-label-default-bg: @gray-lighter;
@@ -132,6 +156,10 @@
 
 @event-icon-size: 28px;
 
+//== User profile header
+
+@profile-header-avatar-offset: @line-height-computed + 34px;
+
 //-- Z-index master list
 //
 // Warning: Avoid customizing these values. They're used for a bird's eye view

+ 3 - 1
misago/categories/api.py

@@ -8,4 +8,6 @@ from .utils import get_categories_tree
 class CategoryViewSet(viewsets.ViewSet):
     def list(self, request):
         categories_tree = get_categories_tree(request, join_posters=True)
-        return Response(CategorySerializer(categories_tree, many=True).data)
+        return Response(
+            CategorySerializer(categories_tree, context=request, many=True).data
+        )

+ 16 - 1
misago/categories/serializers.py

@@ -69,6 +69,7 @@ class CategorySerializer(serializers.ModelSerializer, MutableFields):
         data = super().to_representation(instance)
         if instance.special_role:
             data["special_role"] = instance.special_role
+
         return data
 
     def get_description(self, obj):
@@ -78,6 +79,18 @@ class CategorySerializer(serializers.ModelSerializer, MutableFields):
                 "html": format_plaintext_for_html(obj.description),
             }
 
+        # Serve root category's description
+        if obj.special_role == "root_category" and self.context:
+            settings = self.context.settings
+            if settings.index_message:
+                return {
+                    "plain": settings.index_message,
+                    "html": format_plaintext_for_html(settings.index_message),
+                }
+
+    def get_css_class(self, obj):
+        return obj.css_class or None
+
     def get_is_read(self, obj):
         try:
             return obj.is_read
@@ -86,7 +99,9 @@ class CategorySerializer(serializers.ModelSerializer, MutableFields):
 
     def get_subcategories(self, obj):
         try:
-            return CategorySerializer(obj.subcategories, many=True).data
+            return CategorySerializer(
+                obj.subcategories, context=self.context, many=True
+            ).data
         except AttributeError:
             return []
 

+ 3 - 1
misago/categories/views.py

@@ -10,7 +10,9 @@ def categories(request):
 
     request.frontend_context.update(
         {
-            "CATEGORIES": CategorySerializer(categories_tree, many=True).data,
+            "CATEGORIES": CategorySerializer(
+                categories_tree, context=request, many=True
+            ).data,
             "CATEGORIES_API": reverse("misago:api:category-list"),
         }
     )

+ 17 - 6
misago/conf/admin/forms/general.py

@@ -11,6 +11,7 @@ class ChangeGeneralSettingsForm(ChangeSettingsForm):
         "forum_address",
         "index_header",
         "index_title",
+        "index_message",
         "index_meta_description",
         "logo",
         "logo_small",
@@ -25,12 +26,6 @@ class ChangeGeneralSettingsForm(ChangeSettingsForm):
     forum_name = forms.CharField(label=_("Forum name"), min_length=2, max_length=255)
     forum_address = forms.URLField(label=_("Forum address"), max_length=255)
 
-    index_header = forms.CharField(
-        label=_("Header text"),
-        help_text=_("This text will replace forum name in page header."),
-        max_length=255,
-        required=False,
-    )
     index_title = forms.CharField(label=_("Page title"), max_length=255, required=False)
     index_meta_description = forms.CharField(
         label=_("Meta Description"),
@@ -41,6 +36,22 @@ class ChangeGeneralSettingsForm(ChangeSettingsForm):
         max_length=255,
         required=False,
     )
+    index_header = forms.CharField(
+        label=_("Header text"),
+        help_text=_("This text will be displayed in page header on forum index."),
+        max_length=255,
+        required=False,
+    )
+    index_message = forms.CharField(
+        label=_("Header message"),
+        help_text=_(
+            "This message will be displayed in page header on forum index, "
+            "under the header text."
+        ),
+        max_length=2048,
+        widget=forms.Textarea(attrs={"rows": 3}),
+        required=False,
+    )
 
     logo = forms.ImageField(
         label=_("Logo"),

+ 17 - 0
misago/conf/migrations/0006_add_index_message.py

@@ -0,0 +1,17 @@
+# Generated by Django 3.2.15 on 2022-12-29 19:55
+
+from django.db import migrations
+
+
+def create_index_message_setting(apps, _):
+    Setting = apps.get_model("misago_conf", "Setting")
+    Setting.objects.create(setting="index_message", is_public=False)
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("misago_conf", "0005_add_sso_settings"),
+    ]
+
+    operations = [migrations.RunPython(create_index_message_setting)]

+ 5 - 2
misago/search/views.py

@@ -28,6 +28,9 @@ def search(request, search_provider):
         raise Http404()
 
     if "q" in request.GET:
-        request.frontend_context["SEARCH_QUERY"] = request.GET.get("q")
+        search_query = request.GET.get("q").strip()
+        request.frontend_context["SEARCH_QUERY"] = search_query
+    else:
+        search_query = ""
 
-    return render(request, "misago/search.html")
+    return render(request, "misago/search.html", {"search_query": search_query})

+ 1 - 1
misago/static/misago/css/misago.css

@@ -1,3 +1,3 @@
 /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}body{background-color:#fff;color:#172b4d;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0065ff;text-decoration:none}a:focus,a:hover{color:#0747a6;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{border:0;border-top:1px solid #ebecf0;margin-bottom:20px;margin-top:20px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#7a869a;font-weight:400;line-height:1}.h1,.h2,.h3,h1,h2,h3{margin-bottom:10px;margin-top:20px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-bottom:10px;margin-top:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#7a869a}.text-primary{color:#0052cc}a.text-primary:focus,a.text-primary:hover{color:#003d99}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{background-color:#0052cc;color:#fff}a.bg-primary:focus,a.bg-primary:hover{background-color:#003d99}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{border-bottom:1px solid #ebecf0;margin:40px 0 20px;padding-bottom:9px}ol,ul{margin-bottom:10px;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px;margin-top:0}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:700px){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{border-left:5px solid #ebecf0;font-size:17.5px;margin:0 0 20px;padding:10px 20px}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{color:#7a869a;display:block;font-size:80%;line-height:1.42857143}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{border-left:0;border-right:5px solid #ebecf0;padding-left:0;padding-right:15px;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{font-style:normal;line-height:1.42857143;margin-bottom:20px}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{background-color:#f9f2f4;border-radius:4px;color:#c7254e}code,kbd{font-size:90%;padding:2px 4px}kbd{background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff}kbd kbd{box-shadow:none;font-size:100%;font-weight:700;padding:0}pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#344563;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.row-no-gutters{margin-left:0;margin-right:0}.row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}caption{color:#7a869a;padding-bottom:8px;padding-top:8px}caption,th{text-align:left}.table{margin-bottom:20px;max-width:100%;width:100%}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{border:0;padding:0}legend{border-bottom:1px solid #e5e5e5;color:#344563;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;width:100%}label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input[type=search]{-webkit-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{color:#172b4d;display:block;font-size:14px;line-height:1.42857143}.form-control{background-color:#fff;background-image:none;border:1px solid #ced0da;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:34px;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ebecf0;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#3462af;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#172b4d;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#ebecf0;border-color:#ccc;color:#172b4d}.btn-default.focus,.btn-default:focus{background-color:#ced0da;border-color:#8c8c8c;color:#172b4d}.btn-default:hover{background-color:#ced0da;border-color:#adadad;color:#172b4d}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-color:#ced0da;background-image:none;border-color:#adadad;color:#172b4d}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#b9bdcb;border-color:#8c8c8c;color:#172b4d}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#ebecf0;border-color:#ccc}.btn-default .badge{background-color:#172b4d;color:#ebecf0}.btn-primary{background-color:#6554c0;border-color:#5643b7;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#4d3da4;border-color:#2a215a;color:#fff}.btn-primary:hover{background-color:#4d3da4;border-color:#41338a;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-color:#4d3da4;background-image:none;border-color:#41338a;color:#fff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#41338a;border-color:#2a215a;color:#fff}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#6554c0;border-color:#5643b7}.btn-primary .badge{background-color:#fff;color:#6554c0}.btn-success{background-color:#00c853;border-color:#00af48;color:#fff}.btn-success.focus,.btn-success:focus{background-color:#00953e;border-color:#002f14;color:#fff}.btn-success:hover{background-color:#00953e;border-color:#00712f;color:#fff}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-color:#00953e;background-image:none;border-color:#00712f;color:#fff}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{background-color:#00712f;border-color:#002f14;color:#fff}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00c853;border-color:#00af48}.btn-success .badge{background-color:#fff;color:#00c853}.btn-info{background-color:#3d5afe;border-color:#2444fe;color:#fff}.btn-info.focus,.btn-info:focus{background-color:#0a2ffe;border-color:#0119a1;color:#fff}.btn-info:hover{background-color:#0a2ffe;border-color:#0123e3;color:#fff}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-color:#0a2ffe;background-image:none;border-color:#0123e3;color:#fff}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{background-color:#0123e3;border-color:#0119a1;color:#fff}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#3d5afe;border-color:#2444fe}.btn-info .badge{background-color:#fff;color:#3d5afe}.btn-warning{background-color:#ffab00;border-color:#e69a00;color:#fff}.btn-warning.focus,.btn-warning:focus{background-color:#cc8900;border-color:#640;color:#fff}.btn-warning:hover{background-color:#cc8900;border-color:#a87100;color:#fff}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-color:#cc8900;background-image:none;border-color:#a87100;color:#fff}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{background-color:#a87100;border-color:#640;color:#fff}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffab00;border-color:#e69a00}.btn-warning .badge{background-color:#fff;color:#ffab00}.btn-danger{background-color:#ef5350;border-color:#ed3c39;color:#fff}.btn-danger.focus,.btn-danger:focus{background-color:#eb2521;border-color:#98110e;color:#fff}.btn-danger:hover{background-color:#eb2521;border-color:#d51713;color:#fff}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-color:#eb2521;background-image:none;border-color:#d51713;color:#fff}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{background-color:#d51713;border-color:#98110e;color:#fff}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ef5350;border-color:#ed3c39}.btn-danger .badge{background-color:#fff;color:#ef5350}.btn-link{border-radius:0;color:#0065ff;font-weight:400}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{background-color:transparent;color:#0747a6;text-decoration:underline}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#7a869a;text-decoration:none}.btn-group-lg>.btn,.btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.btn-group-sm>.btn,.btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.btn-group-xs>.btn,.btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#ebecf0;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a{clear:both;color:#172b4d;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#ebecf0;color:#172b4d;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#172b4d;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#7a869a}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#7a869a;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:700px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#ebecf0;text-decoration:none}.nav>li.disabled>a{color:#7a869a}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:transparent;color:#7a869a;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#ebecf0;border-color:#0065ff}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{border-color:#ebecf0 #ebecf0 #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#5e6c84;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#0065ff;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.navbar{border:1px solid transparent;margin-bottom:20px;min-height:54px;position:relative}@media (min-width:700px){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.navbar-collapse.in{overflow-y:auto}@media (min-width:700px){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:700px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:700px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:700px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;font-size:18px;height:54px;line-height:20px;padding:17px 15px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:700px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:10px;margin-right:15px;margin-top:10px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:700px){.navbar-toggle{display:none}}.navbar-nav{margin:8.5px -15px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:699px){.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:700px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:17px;padding-top:17px}}.navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:10px -15px;padding:10px 15px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:699px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:700px){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-btn{margin-bottom:10px;margin-top:10px}.navbar-btn.btn-sm{margin-bottom:12px;margin-top:12px}.navbar-btn.btn-xs{margin-bottom:16px;margin-top:16px}.navbar-text{margin-bottom:17px;margin-top:17px}@media (min-width:700px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#c1c7d0}.navbar-default .navbar-brand{color:#344563}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:transparent;color:#344563}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#8993a4}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#505f79}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:#dfe1e6;color:#6b778c}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#c1c7d0}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#dfe1e6;color:#6b778c}@media (max-width:699px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#8993a4}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#505f79}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#dfe1e6;color:#6b778c}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#c1c7d0}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#c1c7d0}.navbar-default .navbar-link{color:#8993a4}.navbar-default .navbar-link:hover{color:#505f79}.navbar-default .btn-link{color:#8993a4}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#505f79}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#c1c7d0}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#a5aebb}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#a5aebb}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:699px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#a5aebb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#a5aebb}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#a5aebb}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.breadcrumb>.active{color:#7a869a}.alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#00875a;border-color:#00875a;color:#fff}.alert-success hr{border-top-color:#006e49}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#448aff;border-color:#448aff;color:#fff}.alert-info hr{border-top-color:#2a7aff}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff8b00;border-color:#ff8b00;color:#fff}.alert-warning hr{border-top-color:#e67d00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#de350b;border-color:#de350b;color:#fff}.alert-danger hr{border-top-color:#c62f0a}.alert-danger .alert-link{color:#e6e6e6}.label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#7a869a}.label-default[href]:focus,.label-default[href]:hover{background-color:#616d80}.label-primary{background-color:#0052cc}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#003d99}.label-success{background-color:#36b37e}.label-success[href]:focus,.label-success[href]:hover{background-color:#2a8c62}.label-info{background-color:#3d5afe}.label-info[href]:focus,.label-info[href]:hover{background-color:#0a2ffe}.label-warning{background-color:#ffab00}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#cc8900}.label-danger{background-color:#ff5630}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fc2e00}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#ebecf0;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#6554c0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#36b37e}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#3d5afe}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#ffab00}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#ff5630}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.btn-group,.btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{float:left;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{border-collapse:separate;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon{background-color:#ebecf0;border:1px solid #ced0da;border-radius:4px;color:#172b4d;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-bottom:5px;margin-top:0}.media-list{list-style:none;padding-left:0}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #ebecf0;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.list-group-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px;margin-bottom:0}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#ebecf0;color:#7a869a;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#7a869a}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#fff;border-color:#ebecf0;color:#0065ff;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#fff}a.list-group-item,button.list-group-item{color:#7a869a}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#fff;color:#172b4d;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item-success{background-color:#dff0d8;color:#3c763d}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.list-group-item-info{background-color:#d9edf7;color:#31708f}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.list-group-item-danger{background-color:#f2dede;color:#a94442}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.panel{background-color:#fff;border:1px solid transparent;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:14px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ebecf0;padding:14px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ebecf0}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ebecf0}.panel-default{border-color:#ddd}.panel-default>.panel-heading{background-color:#fff;border-color:#ddd;color:#344563}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{background-color:#344563;color:#fff}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#0052cc}.panel-primary>.panel-heading{background-color:#0052cc;border-color:#0052cc;color:#fff}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#0052cc}.panel-primary>.panel-heading .badge{background-color:#fff;color:#0052cc}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#0052cc}.panel-success{border-color:#36b37e}.panel-success>.panel-heading{background-color:#dff0d8;border-color:#36b37e;color:#3c763d}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#36b37e}.panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#36b37e}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ff5630}.panel-danger>.panel-heading{background-color:#f2dede;border-color:#ff5630;color:#a94442}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff5630}.panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff5630}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#ebecf0;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#fff;color:#7a869a;cursor:not-allowed}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#0065ff;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#ebecf0;border-color:#ddd;color:#0747a6;z-index:2}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0052cc;border-color:#0052cc;color:#fff;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#7a869a;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{background-color:#fff;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{border-radius:6px;padding:24px}.well-sm{border-radius:3px;padding:9px}.close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.close:focus,.close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.badge{background-color:#7a869a;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{padding:1px 5px;top:0}a.badge:focus,a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{background-color:#fff;color:#0065ff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1050}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.modal-backdrop{background-color:#091e42;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #ced0da;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #ced0da;padding:15px;text-align:right}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.agreement-footer:after,.agreement-footer:before,.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.agreement-footer:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}@media screen and (max-width:991px){body,html{overflow-x:hidden}}@media screen and (min-width:992px){.md-margin-top-no{margin-top:0!important}}@media screen and (min-width:768px) and (max-width:991px){.sm-margin-top{margin-top:20px!important}.sm-margin-top-no{margin-top:0!important}.sm-margin-top-half{margin-top:6.6px!important}.sm-align-row-buttons{margin-top:5px!important}}@media screen and (max-width:767px){.xs-margin-top{margin-top:20px!important}.xs-margin-top-half{margin-top:6.6px!important}}.auth-message{background-color:#ebecf0;left:0;padding:20px 0;position:fixed;top:-100%;transition:top .3s ease;width:100%;z-index:1070}.auth-message.show{bottom:auto;top:0}.auth-message p{color:#172b4d;padding:5px 0}@media screen and (max-width:991px){.auth-message{text-align:center}.auth-message .btn{font-size:18px;padding:10px 16px}}.alerts-snackbar{font-size:18px;pointer-events:none;position:fixed;text-align:center;top:-100%;transition:top .3s ease;width:100%;z-index:1060}.alerts-snackbar.in{top:0;transition:top .2s ease}.alerts-snackbar p{border-radius:0 0 4px 4px;display:inline-block;margin:0;pointer-events:all}.agreement-overlay{background-color:rgba(9,30,66,.5);height:100%;left:0;overflow-x:scroll;position:fixed;top:0;width:100%;z-index:1060}.agreement-overlay .container{max-width:900px;padding:20px 30px}.agreement-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;padding:10px 16px}.agreement-header{border-bottom:1px solid #ebecf0;padding:10px 0}.agreement-header h2{margin-top:0}.agreement-header p{margin:0;padding:0}.agreement-body{padding:20px 0}.agreement-body p.lead{margin:0;padding:0}.agreement-footer{border-top:1px solid #ced0da;padding:10px 0;text-align:right}.agreement-footer .btn+.btn{margin-bottom:0;margin-left:5px}.agreement-footer .btn-group .btn+.btn{margin-left:-1px}.agreement-footer .btn-block+.btn-block{margin-left:0}body.agreement-overlay-visible{overflow:hidden}.loader{height:49px;text-align:center;width:100%}.loader.loader-spaced{margin:40px 0}.loader-spinning-wheel{animation:cssload-spin 575ms linear infinite;-o-animation:cssload-spin 575ms linear infinite;-ms-animation:cssload-spin 575ms linear infinite;-webkit-animation:cssload-spin 575ms linear infinite;-moz-animation:cssload-spin 575ms linear infinite;border-color:#7a869a transparent;border-radius:50%;border-style:solid;border-width:3px;height:49px;margin:0 auto;width:49px}@keyframes cssload-spin{to{transform:rotate(1turn)}}@-o-keyframes cssload-spin{to{-o-transform:rotate(1turn);transform:rotate(1turn)}}@-ms-keyframes cssload-spin{to{-ms-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes cssload-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-moz-keyframes cssload-spin{to{-moz-transform:rotate(1turn);transform:rotate(1turn)}}.navbar{margin-bottom:0}.navbar .navbar-full .navbar-brand{font-size:21px;padding-bottom:11px;padding-top:11px}.navbar .navbar-full .navbar-brand>*{display:inline-block;vertical-align:middle}.navbar .navbar-full .navbar-brand img{height:32px;margin-right:6px}.navbar .navbar-full .navbar-nav>li>a{font-size:16.8px}.navbar .navbar-full .navbar-icon{color:#8993a4;display:block;height:54px;padding:13px 15px;position:relative}.navbar .navbar-full .navbar-icon:focus,.navbar .navbar-full .navbar-icon:hover{background-color:transparent;color:#505f79}.navbar .navbar-full .navbar-icon .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.navbar .navbar-full .navbar-icon .badge{background-color:#ff5630;font-size:9px;position:absolute;right:6px;top:6px}.navbar .navbar-full .open .navbar-icon,.navbar .navbar-full .open .navbar-icon:focus,.navbar .navbar-full .open .navbar-icon:hover{background-color:#dfe1e6;color:#6b778c}.navbar .navbar-full .nav-guest,.navbar .navbar-full .nav-user{float:right}.navbar .navbar-full .nav-guest .navbar-btn,.navbar .navbar-full .nav-user .navbar-btn{margin-left:15px}.navbar .navbar-full .nav-user .dropdown-toggle{padding:10px}.navbar .navbar-full .nav-user .dropdown-toggle img{height:34px;width:34px}.navbar ul.navbar-compact-nav{border-collapse:collapse;display:table;margin:0;table-layout:fixed;width:100%}.navbar ul.navbar-compact-nav>li{display:table-cell;width:100%}.navbar ul.navbar-compact-nav>li>a,.navbar ul.navbar-compact-nav>li>button{background:none;border:none;color:#8993a4;display:block;padding-bottom:13px;padding-top:13px;text-align:center;width:100%}.navbar ul.navbar-compact-nav>li>a.active,.navbar ul.navbar-compact-nav>li>a:focus,.navbar ul.navbar-compact-nav>li>a:hover,.navbar ul.navbar-compact-nav>li>button.active,.navbar ul.navbar-compact-nav>li>button:focus,.navbar ul.navbar-compact-nav>li>button:hover{background-color:#dfe1e6;color:#6b778c}.navbar ul.navbar-compact-nav>li>a>img,.navbar ul.navbar-compact-nav>li>button>img{height:24px;width:24px}.navbar ul.navbar-compact-nav>li>button{display:inline-block}.navbar ul.navbar-compact-nav>li>a>.material-icon{font-size:24px;line-height:24px}@media (max-width:700px){.navbar.navbar-misago{min-height:auto}}.navbar-misago .navbar-desktop-nav{display:none}@media (min-width:700px){.navbar-misago ul.navbar-compact-nav{display:none}.navbar-misago .navbar-desktop-nav{display:block}}.nav-side>a>.material-icon{bottom:1px;font-size:24px;height:24px;line-height:24px;margin:-5px 10px -5px -5px;position:relative;width:24px}.nav-side>a .badge{position:relative;top:1px}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icon{word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga";direction:ltr;display:inline-block;font-family:Material Icons;font-style:normal;font-weight:400;height:1em;letter-spacing:normal;line-height:1;text-align:center;text-rendering:optimizeLegibility;text-transform:none;vertical-align:middle;white-space:nowrap;width:1em}.modal-toolbar{background:#ebecf0;border-bottom:1px solid #ced0da;overflow:auto;padding:6px 12px}.modal-toolbar .pull-left{margin-right:8px}.modal-toolbar p{margin-bottom:0;padding:5px 0}@media screen and (max-width:991px){.modal-message{text-align:center}.modal-message .message-icon{margin:30px}.modal-message .message-icon .material-icon{font-size:160px}}@media screen and (min-width:992px){.modal-message .modal-body{padding-bottom:30px;padding-top:20px}.modal-message .message-icon{float:left;left:7px;position:relative}.modal-message .message-icon .material-icon{font-size:50px}.modal-message .message-body{margin-left:75px;margin-top:10px}.modal-message .message-body p{margin-top:20px}.modal-message .message-body .lead{margin-bottom:0;margin-top:0}}.modal-loader{padding:50px 0}.modal-loader .loader{height:80px;text-align:center;width:100%}.modal-loader .loader-spinning-wheel{height:80px;width:80px}.modal-body .form-group{min-height:34px}.list-item-errors{margin-bottom:20px}.list-errored-items li:last-child .list-item-errors{margin-bottom:0}.modal-post-likers .media-list{margin:0}.modal-post-likers .item-title{display:block}.has-feedback .material-icon.form-control-feedback{font-size:1.42857143;line-height:1.42857143;right:24px;top:6px}.well.well-form.well-done{font-size:18px;text-align:center}.well.well-form.well-done .message-icon{font-size:90px;line-height:90px;margin-bottom:10px}.well.well-form.well-done .message-body{margin-bottom:20px}.well.well-form.well-noscript{font-size:18px;text-align:center}.well.well-form.well-noscript .message-icon{font-size:90px;line-height:90px;margin-bottom:10px}.btn.btn-select,.btn.btn-yes-no{background:transparent;border:1px solid #ced0da}.btn.btn-select .material-icon,.btn.btn-yes-no .material-icon{bottom:1px;font-size:20px;height:20px;line-height:20px;margin:-4px 8px -4px 0;position:relative;width:20px}@media screen and (max-width:767px){.btn.btn-yes-no{overflow:auto;width:100%}.btn.btn-yes-no .material-icon{float:left;margin-top:1px}.btn.btn-yes-no .btn-text{display:block;margin-left:30px;text-align:left;white-space:normal}}input.hidden-file-upload{left:-9999px;position:absolute;top:-9999px}.form-search{position:relative}.form-search .form-control{padding-right:30px}.form-search .material-icon{color:#7a869a;font-size:24px;line-height:24px;pointer-events:none;position:absolute;right:5px;top:5px}.btn.btn-loading,.btn.btn-loading:active,.btn.btn-loading:focus,.btn.btn-loading:hover,.btn.btn-loading:link,.btn.btn-loading:visited{color:transparent}.btn.btn-loading .loader,.btn.btn-loading:active .loader,.btn.btn-loading:focus .loader,.btn.btn-loading:hover .loader,.btn.btn-loading:link .loader,.btn.btn-loading:visited .loader{height:20px;margin-top:-20px}.btn.btn-loading .loader>div,.btn.btn-loading:active .loader>div,.btn.btn-loading:focus .loader>div,.btn.btn-loading:hover .loader>div,.btn.btn-loading:link .loader>div,.btn.btn-loading:visited .loader>div{height:20px;width:20px}.btn.btn-loading.btn-default .loader>div{border-bottom-color:#172b4d;border-top-color:#172b4d}.btn.btn-loading.btn-danger .loader>div,.btn.btn-loading.btn-info .loader>div,.btn.btn-loading.btn-primary .loader>div,.btn.btn-loading.btn-success .loader>div,.btn.btn-loading.btn-warning .loader>div{border-bottom-color:#fff;border-top-color:#fff}.btn .material-icon{bottom:1px;margin-right:3px;position:relative}.btn-icon .material-icon{font-size:20px;height:20px;line-height:20px;margin:-1px -4px;width:20px}.btn-icon .btn-text{margin-left:10px}.btn-icon .btn-text-left{margin-right:10px}.btn-block.btn-icon{padding-left:0;padding-right:0}.dropdown-menu>li>.btn-link,.dropdown-menu>li>a,.modal-menu>li>.btn-link,.modal-menu>li>a{border:none;clear:both;color:#172b4d;display:block;float:none;font-weight:400;line-height:1.42857143;padding:6px 20px;text-align:left;white-space:nowrap;width:100%}.dropdown-menu>li>.btn-link:active,.dropdown-menu>li>.btn-link:focus,.dropdown-menu>li>.btn-link:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.modal-menu>li>.btn-link:active,.modal-menu>li>.btn-link:focus,.modal-menu>li>.btn-link:hover,.modal-menu>li>a:active,.modal-menu>li>a:focus,.modal-menu>li>a:hover{background-color:#ebecf0;color:#172b4d;text-decoration:none}.dropdown-menu>li>.btn-link:disabled,.dropdown-menu>li>a:disabled,.modal-menu>li>.btn-link:disabled,.modal-menu>li>a:disabled{color:rgba(23,43,77,.5)}.dropdown-menu>li>.btn-link .material-icon,.dropdown-menu>li>a .material-icon,.modal-menu>li>.btn-link .material-icon,.modal-menu>li>a .material-icon{bottom:1px;font-size:18px;margin:-2px 7px -2px 0;position:relative}.dropdown-menu>li>.btn-link .badge,.dropdown-menu>li>a .badge,.modal-menu>li>.btn-link .badge,.modal-menu>li>a .badge{float:right;position:relative;top:1px}.modal-menu{margin:20px 0;padding:0}.modal-menu>li{list-style:none;margin:6.66666667px 0;padding:0}.dropdown-menu{width:210px}.dropdown-menu .dropdown-footer{padding:6px 20px}.dropdown-menu .dropdown-buttons{padding:2px 20px 7px}.dropdown-menu .dropdown-buttons .btn{margin:4px 0}.mobile-dropdown{position:relative}.compact-nav.open>.dropdown-menu,.mobile-dropdown.open>.dropdown-menu{border:none;border-radius:0;display:block;margin:0;width:100%}.user-dropdown .guest-preview{text-align:center}.user-dropdown .guest-preview .row{margin:0}.navbar .user-dropdown{width:240px}.user-dropdown .dropdown-header{font-size:18px;padding:6px 20px}.user-dropdown .dropdown-header strong{font-weight:400}@media screen and (min-width:992px){.category-picker .dropdown-menu{width:300px}}.category-picker .dropdown-menu>li>.btn-link{word-wrap:break-word;white-space:normal}@media screen and (max-width:767px){.dropdown-menu.stick-to-bottom{border:none;border-radius:0;bottom:0;-webkit-box-shadow:0 0 30px #7a869a;box-shadow:0 0 30px #7a869a;clear:both;margin:0;max-height:300px;overflow-y:auto;padding:0 0 20px;position:fixed;top:auto;width:100%}.dropdown-menu.stick-to-bottom li{clear:both;float:none;margin:0}.dropdown-menu.stick-to-bottom li>.btn,.dropdown-menu.stick-to-bottom li>a{border-bottom:1px solid #ebecf0;padding-bottom:15px;padding-top:15px}}.category-label{border-radius:.25em;padding:.2em .6em .3em}.category-label-color,.category-label-color:active,.category-label-color:focus,.category-label-color:hover,.category-label-color:link,.category-label-color:visited{color:#fff}.category-label-no-color,.category-label-no-color:active,.category-label-no-color:focus,.category-label-no-color:hover,.category-label-no-color:link,.category-label-no-color:visited{background-color:#ebecf0;color:#344563}.navbar-misago .dropdown-menu.dropdown-search-results{left:auto;margin:0;padding-top:0;right:0;width:400px}.dropdown-search-results .form-group{margin:0;padding:12px}li.dropdown-search-message{text-align:center}.dropdown-search-thread{width:100%}.dropdown-search-thread h5{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-thread small{display:block;margin:4px 0 0}.page-header-bg{margin-bottom:20px}.page-header{margin:0;padding:40px 0}.page-header h1{word-wrap:break-word;margin:0}.page-header .btn-aligned{float:right;margin-left:8px}.page-header .btn-aligned.pull-left{margin-left:0;margin-right:8px}@media screen and (min-width:992px){.page-header .container>.row h1{margin-top:-3px}.page-header .container>.row .row{margin-top:5px}}@media screen and (max-width:991px){.container h1{font-size:22.5px}.container .btn-icon .material-icon{font-size:24px;height:24px;line-height:24px;margin:-3px 0;width:24px}}.page-breadcrumbs{margin-bottom:20px}.page-breadcrumbs .breadcrumb{background:none;margin:-20px 0 0;overflow:auto;padding:0}.page-breadcrumbs .breadcrumb li,.page-breadcrumbs .breadcrumb li:before{display:block;float:left}.page-breadcrumbs .breadcrumb li:before{margin-left:4px}.go-back-sm{margin-bottom:20px;margin-top:-20px}.go-back-sm .material-icon{font-size:18px;height:18px;line-height:18px;position:relative;top:-1px;width:18px}.page-breadcrumbs .go-back-sm{margin-bottom:0}.header-stats{margin-bottom:-20px;margin-top:20px}.header-stats .list-inline{margin-bottom:0}.header-stats .list-inline li{margin-bottom:0;margin-right:8px;overflow:auto;vertical-align:top}.header-stats .list-inline li .status-icon{bottom:1px;font-size:18px;height:18px;line-height:18px;margin-right:4px;position:relative;width:18px}.header-stats .list-inline li>.icon-legend,.header-stats .list-inline li>.material-icon{float:left}.header-stats .list-inline li>.material-icon{margin-right:4px;position:relative;top:3px}@media screen and (max-width:991px){.header-stats .list-inline{font-size:12px}.header-stats .list-inline li>.material-icon{top:2px}}.page-header .page-tabs{margin-bottom:-40px;margin-top:20px}.page-header .page-tabs .nav>li{margin:0}.page-header .page-tabs .nav>li>a{border-radius:0}.page-tabs ul{display:block;overflow-x:auto;white-space:nowrap}.page-tabs ul a,.page-tabs ul li{display:inline-block;float:none;white-space:nowrap}.page-tabs ul a .material-icon,.page-tabs ul li .material-icon{margin-right:6px}@media screen and (max-width:767px){.page-tabs .container{padding-left:0;padding-right:0}.page-tabs li a{padding-left:26.6px;padding-right:26.6px}.header-stats+.page-tabs{margin-top:30px}}.title-edit-form{margin-bottom:12px}@media screen and (max-width:991px){.panel-message-body{text-align:center}.panel-message-body .message-icon{margin:30px}.panel-message-body .message-icon .material-icon{font-size:160px}}@media screen and (min-width:992px){.panel-message-body{padding:20px 20px 30px}.panel-message-body .message-icon{float:left}.panel-message-body .message-icon .material-icon{font-size:50px}.panel-message-body .message-body{margin-left:65px;margin-top:10px}.panel-message-body .message-body .lead{margin-bottom:0}.panel-message-body .message-body .help-block{margin-top:13.2px}}.panel-body-loading{padding:0;text-align:center}.misago-footer{margin-bottom:50px;margin-top:30px}.misago-footer .footer-content{padding-top:30px}.misago-footer .noscript-message .material-icon{bottom:1px;font-size:18px;position:relative}.ui-preview{-webkit-animation:ui-preview-animation 1s linear infinite;-o-animation:ui-preview-animation 1s linear infinite;animation:ui-preview-animation 1s linear infinite;color:#ebecf0}@keyframes ui-preview-animation{0%{filter:alpha(opacity=100);opacity:1}50%{filter:alpha(opacity=10);opacity:.1}to{filter:alpha(opacity=100);opacity:1}}.ui-preview-text{background:#ebecf0;border-radius:100px;display:inline-block;height:14px;position:relative;top:3px}.ui-preview-paragraph .ui-preview-text{margin-right:6px}.ui-preview-paragraph .ui-preview-text:last-child{margin-right:0}.ui-preview-img{background:#ebecf0;border-radius:5px}.pager-undercontent{margin-top:-20px}.pager-more{text-align:center}@media screen and (min-width:992px){.pager-more .btn{padding-left:20px;padding-right:20px}}.misago-pagination{display:flex}.misago-pagination .btn{display:block;width:100%}.misago-pagination .btn+.btn{margin-left:30px}@media screen and (max-width:767px){.toolbar-item .misago-pagination{flex:1}}.panel-poll h2{margin-top:0}.poll-select-choice .btn,.poll-select-choice .btn:active,.poll-select-choice .btn:focus,.poll-select-choice .btn:hover{background:transparent;border:transparent;-webkit-box-shadow:none;box-shadow:none;margin:6px 0;outline:none;padding:0 0 0 6px;text-align:left}.poll-select-choice .btn .material-icon{line-heigh:28px;color:#ced0da;font-size:28px;height:28px;margin-right:6px;width:28px}.poll-select-choice .btn.btn-selected .material-icon{color:#0052cc}.poll-help{font-size:12px}.poll-chart-selected .material-icon{line-heigh:14px;bottom:1px;color:#36b37e;font-size:14px;height:14px;margin-right:4px;position:relative;width:14px}.poll-options{margin-bottom:0}@media screen and (max-width:767px){.poll-options{margin-top:-6px}.poll-options .btn{margin:6px 0}}.user-status.user-banned .status-icon{color:#ff5630}.user-status.user-online .status-icon{color:#36b37e}.user-status.user-offline .status-icon{color:#7a869a}@media screen and (min-width:768px){.user-card{text-align:center}}.user-card-small-avatar img{height:auto;width:100%}@media screen and (min-width:768px){.user-card-small-avatar{display:none}}@media screen and (max-width:767px){.user-card-avatar{display:none}}.toolbar{display:block;margin:0 -15px}.toolbar-section{display:flex;flex:1;justify-items:center;margin-bottom:20px}.toolbar-item{flex:1;padding:0 15px}.toolbar-item h3,.toolbar-item p{margin:0}.toolbar-item-shrink{flex:0}.toolbar-spacer{display:none}@media screen and (min-width:768px){.toolbar{display:flex}.toolbar-item,.toolbar-section{align-items:center;flex:0}.toolbar-section.toolbar-section-auto,.toolbar-section.toolbar-section-auto .toolbar-item{flex:1}.toolbar-spacer{display:block;flex:1}.toolbar-item .form-search{width:250px}}@media screen and (max-width:767px){.toolbar-item p{text-align:center}}abbr{border:none!important}.item-title{text-decoration:none}.item-title,a.item-title:active,a.item-title:hover,a.item-title:link,a.item-title:visited{color:#172b4d;font-weight:700}a.item-title:hover{text-decoration:underline}.message-line{text-align:center}.message-line .material-icon{font-size:20px;height:20px;line-height:20px;margin-right:6.66666667px;width:20px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.misago-markup h1,.misago-markup h2,.misago-markup h3,.misago-markup h4,.misago-markup h5,.misago-markup h6,.misago-markup p{word-wrap:break-word}.misago-markup h1,.misago-markup h2,.misago-markup h3,.misago-markup h4,.misago-markup h5,.misago-markup h6{margin-top:40px}.misago-markup blockquote>*,.misago-markup>*{margin:20px 0}.misago-markup blockquote>:first-child,.misago-markup>:first-child{margin-top:0}.misago-markup blockquote>:last-child,.misago-markup>:last-child{margin-bottom:0}.misago-markup img{max-height:500px;max-width:100%}.misago-markup .quote-block,.misago-markup blockquote{background:#ebecf0;border:none;font-size:14px}.misago-markup .quote-block .quote-heading,.misago-markup blockquote .quote-heading{border-bottom:1px solid #d4d6df;font-size:12px;font-weight:700;padding:10px 20px}.misago-markup>.quote-block,.misago-markup>blockquote{border:1px solid #d4d6df}.misago-markup .quote-body{background:#fff;margin:0;padding:20px}.misago-markup .quote-body>.quote-block,.misago-markup .quote-body>blockquote{border:1px solid #d4d6df}.misago-markup .spoiler-block{background:#ebecf0;font-size:14px}.misago-markup>.spoiler-block{border:1px solid #d4d6df;position:relative}.misago-markup .spoiler-body{background:#fff;margin:0;padding:20px}.misago-markup .spoiler-overlay{background:#fff}.misago-markup .spoiler-block.revealed .spoiler-overlay{display:none}.misago-markup ul,.misago-markup ul li{list-style-type:square}.misago-markup ol,.misago-markup ol li{list-style-type:decimal}.misago-markup pre{background:#eee;border:none;color:#000;overflow:hidden;padding:10px}.misago-markup pre code.hljs{margin:-10px;padding:9.5px}.modal-change-avatar .modal-avatar-index .avatar-preview{border-radius:6px;height:200px;margin:0 auto;overflow:hidden;position:relative;width:200px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{display:none;height:100px;position:absolute;top:50px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{border-color:#fff transparent;border-width:10px;height:100px;width:100px}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img{filter:alpha(opacity=33);opacity:.33}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader{display:block}@media (max-width:699px){.modal-change-avatar .modal-avatar-index .avatar-preview{height:150px;margin-bottom:20px;width:150px}.modal-change-avatar .modal-avatar-index .avatar-preview img{height:150px;width:150px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{height:100px;top:25px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{height:100px;width:100px}}.modal-change-avatar .modal-avatar-index .btn{text-align:left}.modal-change-avatar .modal-avatar-upload{text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file{background:transparent;border:2px solid #ebecf0;border-radius:6px;-webkit-box-shadow:none;box-shadow:none;color:#7a869a;font-size:18px;padding:10px 24px;text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file>.material-icon{display:block;font-size:50px;height:50px;margin:0 auto 13.2px;width:50px}.modal-change-avatar .modal-avatar-upload .btn-pick-file:active,.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover{border-color:#0052cc;color:#0052cc}.modal-change-avatar .modal-avatar-upload .text-muted{margin-top:13.2px}.modal-change-avatar .modal-avatar-upload .upload-progress img{border-radius:4px;margin-bottom:20px;max-height:80px;width:auto}.modal-change-avatar .modal-avatar-upload .upload-progress .progress{margin:0 auto;width:70%}.modal-avatar-crop .crop-form{margin:0 auto}.modal-avatar-crop .crop-form .cropit-image-zoom-input{-webkit-appearance:none;border:1px solid #fff;margin-top:10px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track{background:#ebecf0;border:none;border-radius:3px;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb{-webkit-appearance:none;background:#7a869a;border:none;border-radius:50%;height:20px;margin-top:-6px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus{outline:none}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track{background:#ebecf0}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track{background:#ebecf0;border:none;border-radius:4px;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb{background:#7a869a;border:none;border-radius:50%;height:20px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track{background:transparent;border-color:transparent;border-width:8px 0;color:transparent;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower,.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper{background:#ebecf0;border-radius:16px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb{background:#7a869a;border:none;border-radius:50%;height:20px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower,.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper{background:#ebecf0}.modal-change-avatar .modal-avatar-gallery{padding-bottom:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery{margin-bottom:20px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3{margin-top:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row{margin-bottom:10px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn{background:none;border:2px solid #ebecf0;border-radius:6px;padding:2px;position:relative}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover{border-color:#7a869a}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active{border-color:#0065ff}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img{border-radius:4px;height:auto;width:100%}.category-main .read-status .material-icon{color:#ebecf0}.category-main .read-status.item-new .material-icon{color:#0052cc}.category-last-thread .media-heading a{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;width:290px}@media screen and (max-width:991px){.category-last-thread .media-heading a{width:275px}}@media screen and (max-width:767px){.category-last-thread .media-heading a{width:260px}}.category-thread-message .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.category-thread-message p{margin:0}.list-inline.subcategories-list{margin-top:-10px;overflow:auto}.list-inline.subcategories-list li{display:block;float:left}.list-inline.subcategories-list li a,.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:focus,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li a:link,.list-inline.subcategories-list li a:visited{background-color:#ebecf0;border:1px solid #dcdee5;border-radius:4px;color:#5e6c84;display:inline-block;margin-top:10px;padding:6px 12px}.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li:focus{background-color:#dcdee5;color:#172b4d;text-decoration:none}.row.subcategories-list .btn{margin-top:20px;text-align:left}#posting-placeholder{background-color:#ebecf0;display:none;margin-bottom:-30px;margin-top:30px;padding:20px 0;transition:height .3s}#posting-placeholder.slide-in{display:block}#posting-placeholder .first-row{margin-bottom:20px}#posting-placeholder .first-row .form-control{border:1px solid #bfc2cf}#posting-placeholder .first-row .posting-options .btn{padding-bottom:4px;padding-top:4px}#posting-placeholder .first-row .posting-options .btn .btn-text{margin-left:5px;position:relative;top:1px}#posting-placeholder .first-row .posting-options .material-icon{font-size:14px;height:24px;line-height:14px;margin-right:0;position:relative;text-align:center;top:5px;width:14px}.posting-ui-preview{padding:20px 0;position:relative}.posting-ui-preview .form-control{box-shadow:none;resize:none}.posting-loader{text-align:center}.posting-loader .loader{height:100px}.posting-loader .loader .loader-spinning-wheel{height:100px;width:100px}.posting-message{text-align:center}.posting-message .material-icon{font-size:28px;height:28px;line-height:28px;margin-right:6.66666667px;position:relative;top:-1px;width:28px}.posting-message .message-body p{font-size:18px}.editor-border{background-color:#fff;border:1px solid #bfc2cf;border-radius:4px}.editor-border .form-control{border:none;resize:none}.editor-border .form-control,.editor-border .form-control:active,.editor-border .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.editor-footer{border-top:1px solid #bfc2cf;overflow:auto;padding:6px 12px}.editor-footer .pull-left{margin-right:12px}.editor-footer .pull-right{margin-left:12px}.editor-footer .btn-icon .material-icon{margin-bottom:-2px}@media screen and (max-width:991px){.editor-footer .buttons-list{float:none!important;margin:0 0 10px}.editor-footer .buttons-list .btn{display:inline-block;float:none!important;margin:6.66666667px}.editor-footer .btn-protect .btn-text{margin-left:10px}.editor-footer .btn-protect .material-icon{bottom:2px;font-size:14px;height:14px;line-height:14px;position:relative;width:14px}}@media screen and (min-width:768px) and (max-width:991px){.buttons-list .btn:first-child{margin-left:0}}@media screen and (max-width:767px){.buttons-list{text-align:center}.buttons-list .btn-protect{display:block;float:none!important;margin:10px 0 0;width:100%}}.editor-attachments-list{margin:0;padding:0}.editor-attachments-list li{margin:0}.editor-attachment-complete{border-top:1px solid #bfc2cf;padding:6px 12px 6px 0}.editor-attachment-complete .editor-attachment-image{float:left;width:50px}.editor-attachment-complete .editor-attachment-image a{background-position:50%;background-size:cover;border-radius:3px;display:block;height:36px;margin:0 auto;width:36px}.editor-attachment-complete .editor-attachment-icon{float:left;text-align:center;width:50px}.editor-attachment-complete .editor-attachment-icon .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:2px;width:28px}.editor-attachment-complete .editor-attachment-details{margin-left:50px}.editor-attachment-complete .editor-attachment-details h4,.editor-attachment-complete .editor-attachment-details p{font-size:14px;margin:0;padding:0}.editor-attachment-complete .editor-attachment-details p{color:#7a869a;font-size:12px;margin-top:3px}.editor-attachment-complete .editor-attachment-details abbr{white-space:nowrap}@media screen and (min-width:768px){.editor-attachment-actions{padding-top:3px}}@media screen and (max-width:767px){.editor-attachment-actions{padding-left:12px;padding-right:12px}}.editor-attachment-error{border-top:1px solid #bfc2cf;padding:6px 12px 6px 0}.editor-attachment-error-icon{float:left;text-align:center;width:50px}.editor-attachment-error-icon .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:2px;width:28px}.editor-attachment-error-message{margin-left:50px;padding:6px 0;position:relative}.editor-attachment-error-message h4,.editor-attachment-error-message p{font-size:14px;margin:0;padding:0}.editor-attachment-error-message p{font-size:12px;margin-top:3px}.editor-attachment-error-message .btn{position:absolute;right:12px;top:9px}@media screen and (max-width:767px){.editor-attachment-error-message .btn{display:block;margin-top:10px;position:static}}.editor-attachment-progress-bar{background:#bfc2cf;overflow:auto}.editor-attachment-progress{background:#0052cc;float:left;height:1px}.editor-attachment-upload-message{margin:0;padding:6px 12px}#editor-upload-field{left:-1000px;position:absolute;top:-1000px}.atwho-view ul li img{border-radius:3px;height:20px;margin-right:4.66666667px;width:20px}.participant-card .btn-user,.participant-card .dropdown.open .btn-user{margin-bottom:20px}.participant-card .btn-user,.participant-card .btn-user:focus,.participant-card .btn-user:focus:active,.participant-card .btn-user:hover,.participant-card .dropdown.open .btn-user,.participant-card .dropdown.open .btn-user:focus,.participant-card .dropdown.open .btn-user:focus:active,.participant-card .dropdown.open .btn-user:hover{overflow:hidden;padding:0;text-align:left}.participant-card .btn-user img,.participant-card .dropdown.open .btn-user img{background-color:#fff;height:34px;margin-right:8px;width:34px}.panel-participants p{margin:7px 0 0}.poll-choices-control .list-group-item{padding:0}.poll-choices-control .list-group-item .btn{background:transparent;border:transparent;float:left;height:28px;margin:0 2px -29px;padding:0;position:relative;top:3px;width:28px}.poll-choices-control .list-group-item .btn .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.poll-choices-control input,.poll-choices-control input:active,.poll-choices-control input:focus{background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;margin-left:30px;outline:none;padding:6px 12px;width:100%}.posts-list{clear:both;margin:0;padding:0}.posts-list li{list-style:none;margin:0;padding:0}.post-side{font-size:12px}.post-side .media{margin:0}.post-side .poster-avatar{height:36px;width:36px}@media screen and (min-width:992px){.post-side .poster-avatar{height:82px;margin-top:4px;width:82px}}.post-side .user-status{margin-right:4px}.post-side .media-heading{display:block;font-size:14px;margin:-1px 0 0}.post-side .media-heading .user-status{margin-left:2px;margin-right:0}.post-side .pull-right{margin-left:16px}@media screen and (min-width:992px){.post-side .media-heading{font-size:18px;margin-top:3px}.post-side .media-heading .user-status{display:none}.post-side .user-title{margin-bottom:5px;margin-top:4px}.post-side .user-postcount,.post-side .user-status{display:block}}.post-heading{height:36px}@media screen and (max-width:991px){.post-heading{margin-top:10px}}.post-heading .pull-right{margin-left:16px}.post-heading .label{font-size:14px;font-weight:400;margin-top:6px}.post-heading .label-unread{background-color:#36b37e;color:#fff}@media screen and (min-width:992px){.post-side .pull-right{display:none}}@media screen and (max-width:991px){.post-heading .pull-right{display:none}}.post-body{padding-bottom:30px;padding-top:20px}.post-status-message{overflow:auto}.post-status-message .material-icon{float:left;font-size:28px;line-height:28px}.post-status-message p{margin:4px 0 0 36px}.post-status-best-answer{background-color:#36b37e;color:#fff}.post-status-hidden{background-color:#ff5630;color:#fff}.post-status-unapproved{background-color:#0052cc;color:#fff}.post-status-protected{background-color:#5e6c84;color:#fff}.post-footer .pull-left{margin-right:16px}.post-footer .pull-right{margin-left:16px}.post-footer p{margin-bottom:0;padding-bottom:6px;padding-top:7px}.post-attachments{border-top:1px solid #ebecf0;padding:6px 16px}.post-attachments abbr{white-space:nowrap}.post-attachments .attachment-name{word-wrap:break-word}.post-attachments .row>div{margin:10px 0}.post-attachments .post-attachment-preview{float:left;height:40px;text-align:center;width:40px}.post-attachments .post-attachment{margin-left:52px}.post-attachments .post-thumbnail{background-position:50%;background-size:cover;border-radius:3px;display:block;height:40px;width:40px}.post-attachments .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:5px;width:28px}.post-attachments .material-icon:active,.post-attachments .material-icon:focus,.post-attachments .material-icon:hover,.post-attachments .material-icon:link,.post-attachments .material-icon:visited{color:#172b4d;text-decoration:none}.post-attachments .post-attachment-description{color:#7a869a;font-size:12px;margin:0;padding:0}.post-feed .post-side .media-heading{font-size:14px;margin:0}.post-feed .post-side .user-title{font-size:12px;margin:0}.post-feed .post-side .btn{display:inline-block}.post-feed .post-side img{height:36px;margin-top:0;width:36px}.post-feed .post-heading{height:auto;margin:10px 0}.post-feed .post-heading .btn{word-wrap:break-word;margin-right:16px;max-width:100%;text-align:left;white-space:normal}.posts-list .event{color:#7a869a;margin-bottom:20px}.posts-list .event .media{margin-top:5px}.posts-list .event-label .label-unread{background-color:#36b37e;color:#fff}.posts-list .event .text-right{padding-right:0;text-align:right}.posts-list .event .text-right .material-icon{font-size:28px;height:28px;line-height:28px;margin-right:-12px;text-align:center;width:28px}.posts-list .event .text-left{padding-left:24px}.posts-list .event .event-message{font-size:18px;margin-bottom:5px}.posts-list .event .event-info{font-size:12px;margin:0}.posts-list .event .event-info li{margin-right:12px}.posts-list .event .event-info li:last-child{margin-right:0}.posts-list .event .event-controls .btn-link{border:0;font-size:12px;margin:0 12px 0 0;padding:0}.posts-list .event .event-controls .btn-link:last-child{margin-right:0}@media screen and (max-width:767px){.posts-list .event .text-right{text-align:right;width:28px}.posts-list .event .text-left:first-child{padding-left:0}.posts-list .event .event-info{margin-top:5px}.posts-list .event .event-controls{clear:both;margin-top:5px}.posts-list .event .event-controls .btn-link{font-size:14px;margin-right:20px}.posts-list .event .event-controls .btn-link:last-child{margin-right:0}}.post-changelog-diff{margin:0;padding:0}.post-changelog-diff .list-unstyled{margin:5px 0;padding:0}.post-changelog-diff .diff-item{padding:5px 10px}.post-changelog-diff .diff-item-sub{color:#ff5630}.post-changelog-diff .diff-item-add{color:#36b37e}.post-changelog-toolbar .row{margin-left:-12px;margin-right:-12px}@media screen and (max-width:767px){.page-error .message-panel,.page-message .message-panel,.post-changelog-toolbar .post-change-label{text-align:center}.page-error .message-icon,.page-message .message-icon{font-size:80px;margin:30px}}@media screen and (min-width:768px){.page-error .message-panel,.page-message .message-panel{margin:60px auto;max-width:779.35px;overflow:auto}.page-error .message-icon,.page-message .message-icon{float:left}.page-error .message-icon .material-icon,.page-message .message-icon .material-icon{font-size:80px}.page-error .message-body,.page-message .message-body{font-size:18px;margin-left:100px;margin-top:16px}.page-error .message-body p.lead,.page-message .message-body p.lead{font-size:36px}}.threads-list{margin-bottom:20px}.threads-list-item{align-items:center;display:flex}.threads-list-item img{height:32px;width:32px}.threads-list-item-top-row{flex:1}.threads-list-item-bottom-row,.threads-list-item-top-row{align-items:center;display:flex;justify-content:center}.threads-list-item-col-icon{padding-right:15px}.threads-list-icon{align-items:center;border-radius:3px;display:flex;font-size:16px;height:32px;justify-content:center;line-height:16px;width:32px}.threads-list-icon:active,.threads-list-icon:focus,.threads-list-icon:hover,.threads-list-icon:link,.threads-list-icon:visited{background-color:#ebecf0;color:#7a869a;text-decoration:none}.threads-list-icon-new:active,.threads-list-icon-new:focus,.threads-list-icon-new:hover,.threads-list-icon-new:link,.threads-list-icon-new:visited{background-color:#0052cc;color:#fff}.threads-list-item-col-title{flex:1}a.threads-list-item-title:active,a.threads-list-item-title:focus,a.threads-list-item-title:hover,a.threads-list-item-title:link,a.threads-list-item-title:visited{color:#172b4d;font-size:16px;overflow-wrap:break-word}a.threads-list-item-title-sm{font-size:18px}a.threads-list-item-title-sm:active,a.threads-list-item-title-sm:focus,a.threads-list-item-title-sm:hover,a.threads-list-item-title-sm:link,a.threads-list-item-title-sm:visited{color:#5e6c84;overflow-wrap:break-word}a.threads-list-item-title-new:active,a.threads-list-item-title-new:focus,a.threads-list-item-title-new:hover,a.threads-list-item-title-new:link,a.threads-list-item-title-new:visited{color:#172b4d}.threads-list-item-col-flags{padding-left:15px}.threads-list-item-flags{align-items:center;display:flex;margin:0;opacity:.8;padding:0}.threads-list-item-flags li{align-items:center;border-radius:3px;display:flex;height:20px;justify-content:center;list-style-type:none;width:20px}.threads-list-item-flags li+li{margin-left:7.5px}.threads-list-item-flags .material-icon{font-size:16px;line-height:16px}.threads-list-item:focus .threads-list-item-flags,.threads-list-item:hover .threads-list-item-flags{opacity:1}.threads-list-item-flag-pinned-globally{background:#dbeafe;color:#2563eb}.threads-list-item-flag-pinned-locally{background:#dbeafe;color:#3b82f6}.threads-list-item-flag-answered{background:#d9f99d;color:#4d7c0f}.threads-list-item-flag-poll{background:#f5d0fe;color:#c026d3}.threads-list-item-flag-unapproved{background:#dc2626;color:#fff}.threads-list-item-flag-closed{background:#fecaca;color:#dc2626}.threads-list-item-flag-hidden{background:#64748b;color:#fff}.threads-list-item-col-category{padding-left:15px;white-space:nowrap}.threads-list-category-label{border-radius:3px;font-size:12px;font-weight:700;padding:3px 6px}.threads-list-category-label,.threads-list-category-label:active,.threads-list-category-label:focus,.threads-list-category-label:hover,.threads-list-category-label:link,.threads-list-category-label:visited{background:#ebecf0;color:#344563;text-decoration:none}.threads-list-category-label.threads-list-category-label-color,.threads-list-category-label.threads-list-category-label-color:active,.threads-list-category-label.threads-list-category-label-color:focus,.threads-list-category-label.threads-list-category-label-color:hover,.threads-list-category-label.threads-list-category-label-color:link,.threads-list-category-label.threads-list-category-label-color:visited{background:var(--label-color);color:#fff}.threads-list-item-parent-category{border-radius:3px 0 0 3px;margin-right:2px}.threads-list-item-parent-category+.threads-list-category-label{border-radius:0 3px 3px 0}.threads-list-item-col-replies{padding-left:15px;width:80px}.threads-list-item-replies{align-items:center;color:#5e6c84;display:flex;font-size:16px;font-weight:700}.threads-list-item-replies .material-icon{margin-right:7.5px;transform:matrix(-1,0,0,1,0,0)}.threads-list-item-col-last-poster{padding-left:15px}.threads-list-item-col-last-poster img{border-radius:3px}.threads-list-item-col-last-activity{overflow:hidden;padding-left:15px;text-overflow:ellipsis;white-space:nowrap;width:120px}.threads-list-item-col-last-activity a:active,.threads-list-item-col-last-activity a:focus,.threads-list-item-col-last-activity a:hover,.threads-list-item-col-last-activity a:link,.threads-list-item-col-last-activity a:visited{color:#344563;font-size:16px}.threads-list-item-col-checkbox,.threads-list-item-col-subscription{padding-left:15px}.threads-list-item-col-checkbox-sm,.threads-list-item-title-sm{display:none}@media screen and (max-width:767px){.threads-list{margin-left:-15px;margin-right:-15px}.threads-list .list-group,.threads-list .list-group-item{border-left:0;border-radius:0;border-right:0}.threads-list-item-title{display:none}.threads-list-item-title-sm{display:inline-block}.threads-list-item-col-icon{display:none}}@media screen and (max-width:991px){.threads-list-item{display:block}.threads-list-item img{height:20px;width:20px}.threads-list-item-top-row{align-items:start;margin-bottom:7.5px}.threads-list-item-bottom-row{flex:0;justify-content:end}.threads-list-item-bottom-row>div{padding:0 0 0 15px;width:auto}.threads-list-item-col-checkbox,.threads-list-item-col-subscription{display:none}.threads-list-item-col-checkbox-sm{display:block;padding-left:15px}.threads-list-item-col-checkbox-sm .btn-icon{padding:4px}.threads-list-item-col-checkbox-sm .btn-icon .material-icon{font-size:16px}}.threads-list-item-is-busy .btn-icon{animation:busy .75s linear infinite;opacity:.8}@keyframes busy{50%{opacity:.5}}.threads-list-update-prompt{padding:0}.threads-list-update-prompt-btn{background:#d6e7ff;border:none;border-radius:3px 3px 0 0;color:#003d99;padding:10px 16px}.threads-list-update-prompt-btn:focus,.threads-list-update-prompt-btn:hover{background:#e6f0ff;color:#0052cc}.threads-list-update-prompt-btn:active{background:#b3d1ff;color:#06f}.active-posters li{display:block;overflow:auto}.active-posters .rank-user-avatar{float:left}@media screen and (max-width:991px){.active-posters .rank-user-avatar{height:42px}.active-posters .rank-user-avatar img{height:36px;position:relative;top:3px;width:36px}}.active-posters .rank-user{float:left;margin-top:3px}@media screen and (max-width:991px){.active-posters .rank-user{margin-left:13.2px;width:40%}}@media screen and (max-width:767px){.active-posters .rank-user{float:none;margin-left:50px;width:auto}}@media screen and (min-width:992px){.active-posters .rank-user{margin-left:16px;width:25%}.active-posters .rank-user .user-name{font-size:18px}}.active-posters .user-details{font-family:Sans-Serif;overflow:auto}.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{display:block;float:left;font-size:12px;margin-right:3px}@media screen and (min-width:992px){.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{margin-right:8px}}.active-posters .user-details .user-title{margin-right:0}@media screen and (min-width:992px){.active-posters .user-details{overflow:visible}.active-posters .user-details .rank-name,.active-posters .user-details .user-title{height:14px;overflow:hidden;position:relative;top:1px;vertical-align:baseline}}@media screen and (max-width:767px){.active-posters .user-details{margin-top:3px}.active-posters .user-details .rank-name,.active-posters .user-details .user-title{font-weight:400}}.active-posters .user-status{overflow:auto;position:relative;top:1px}.active-posters .user-status span{display:block;float:left}@media screen and (min-width:992px){.active-posters .user-status{height:14px;overflow:hidden}}.active-posters .user-status .status-icon{position:relative}@media screen and (max-width:991px){.active-posters .user-status .status-icon{font-size:12px;height:12px;line-height:12px;top:0;width:12px}}@media screen and (min-width:992px){.active-posters .user-status .status-icon{font-size:13px;height:13px;line-height:13px;margin-right:3px;top:1px;width:13px}}.active-posters .rank-name .ui-preview-text,.active-posters .status-label.ui-preview-text,.active-posters .user-title .ui-preview-text{font-size:11px;height:11px;line-height:11px;position:relative;top:2px}.active-posters .rank-name .ui-preview-text,.active-posters .user-title .ui-preview-text{position:static}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{display:block}@media screen and (max-width:991px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{overflow:auto}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{float:left;font-size:10.5px}.active-posters .rank-position strong,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total strong{margin-right:3px;min-width:30px;text-align:right}.active-posters .rank-position .ui-preview-text,.active-posters .rank-posts-counted .ui-preview-text,.active-posters .rank-posts-total .ui-preview-text{font-size:8px;height:8px;line-height:8px;position:relative;top:-1px}}@media screen and (min-width:992px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{float:left;font-size:18px;margin-top:3px;text-align:center;width:23%}.active-posters .rank-position small,.active-posters .rank-posts-counted small,.active-posters .rank-posts-total small{font-size:12px;font-weight:400}}.user-compact-stats .rank-position small,.user-compact-stats .rank-position strong,.user-compact-stats .rank-posts-counted small,.user-compact-stats .rank-posts-counted strong{display:inline-block;float:none}.user-compact-stats .rank-position strong,.user-compact-stats .rank-posts-counted strong{min-width:auto}.user-compact-stats .rank-position small,.user-compact-stats .rank-posts-counted small{margin-right:20px}@media screen and (min-width:768px) and (max-width:991px){.active-posters .rank-position{margin-top:6px}.active-posters .rank-posts-total{display:none}}.page-user-profile .page-header{padding-top:20px}.page-user-profile .page-header .alert{margin-bottom:20px}.page-user-profile .page-header h1{margin-bottom:0}.page-user-profile .page-header .btn-aligned{margin-top:0}@media screen and (max-width:767px){.page-user-profile .page-header{text-align:center}.page-user-profile .page-header img{clear:both;height:100px;margin-top:20px;width:100px}.page-user-profile .page-header h1{font-size:28px;margin-top:20px}.page-user-profile .page-header .header-stats ul{text-align:center}.page-user-profile .page-header .header-stats ul li{display:inline-block;white-space:nowrap}.page-user-profile .profile-side-avatar{display:none}}@media screen and (min-width:768px) and (max-width:991px){.page-user-profile .page-header h1,.page-user-profile .page-header img{float:left}.page-user-profile .page-header img{height:80px;margin-right:24px;margin-top:20px;width:80px}.page-user-profile .page-header h1{position:relative;top:25px}.page-user-profile .page-header .header-stats{bottom:50px;margin-bottom:-45px;margin-left:112px;margin-top:25px;position:relative}}@media screen and (min-width:992px){.page-user-profile .page-header .user-avatar-sm{display:none}.page-user-profile .page-header h1{position:relative;top:5px}.page-user-profile .page-header .header-stats ul li{display:block;float:left}.page-user-profile .profile-side-avatar img{height:auto;margin-bottom:20px;margin-top:-140px;width:100%}.username-history li{display:block;overflow:auto}}.username-history .change-avatar{float:left}.username-history .change-avatar a,.username-history .change-avatar span{margin-right:10px}.username-history .change-avatar a img,.username-history .change-avatar span img{height:42px;width:42px}@media screen and (min-width:992px){.username-history .change-avatar a img,.username-history .change-avatar span img{bottom:1px;height:18px;position:relative;width:18px}.username-history .change-author{float:left;width:30%}}.username-history .change{min-height:20px;overflow:auto}.username-history .change span{display:block;float:left}.username-history .change .material-icon{margin:0 7px;position:relative;top:4px}@media screen and (min-width:992px){.username-history .change{float:left;width:40%}.username-history .change-date{float:left;width:20%}}.search-footer p{color:#5e6c84;font-size:12px;margin-top:20px;text-align:center}@media screen and (min-width:768px){.page-search-form{padding-top:40px}}@media screen and (min-width:992px){.page-search-form{padding-bottom:40px}.page-search-form h1{position:relative;top:5px}.page-search-form .form-group{margin-bottom:0}}.hljs{background:#eee;color:#000;display:block;overflow-x:auto;padding:.5em}.hljs-addition,.hljs-attribute,.hljs-emphasis,.hljs-link{color:#070}.hljs-emphasis{font-style:italic}.hljs-deletion,.hljs-string,.hljs-strong{color:#d14}.hljs-strong{font-weight:700}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-section,.hljs-title{color:#900}.hljs-class .hljs-title,.hljs-type{color:#458}.hljs-template-variable,.hljs-variable{color:#369}.hljs-bullet{color:#970}.hljs-meta{color:#34b}.hljs-code,.hljs-keyword,.hljs-literal,.hljs-number,.hljs-selector-tag{color:#099}.hljs-regexp{background-color:#fff0ff;color:#808}.hljs-symbol{color:#990073}.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:#070}.atwho-view{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,.1);color:#000;display:none;left:0;margin-top:18px;min-width:120px;position:absolute;top:0;z-index:11110!important}.atwho-view .atwho-header{border-bottom:1px solid #eaeff1;color:#6f8092;cursor:pointer;font-size:11px;font-weight:700;margin:5px;padding:5px}.atwho-view .atwho-header .small{color:#6f8092;float:right;font-size:12px;font-weight:400;margin-right:-5px;padding-top:2px}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:#36f;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36f}.atwho-view .cur strong{color:#fff;font:700}.atwho-view ul{list-style:none;margin:auto;max-height:200px;overflow-y:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #ddd;cursor:pointer;display:block;padding:5px 10px}.atwho-view small{color:#777;font-size:smaller;font-weight:400}abbr{outline:none;text-decoration:none}.shadow-2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.04),0 3px 1px -2px rgba(0,0,0,.06),0 1px 5px 0 rgba(0,0,0,.12)}.shadow-3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.04),0 3px 3px -2px rgba(0,0,0,.06),0 1px 8px 0 rgba(0,0,0,.12)}.shadow-4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.04),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.04),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.06)}.shadow-8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.04),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.06)}.shadow-16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.04),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.06)}.shadow-24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.04),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.06)}.btn-default,.btn-default.disabled,.btn-default.disabled:active,.btn-default.disabled:hover,.btn-default:disabled,.btn-default:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.disabled,.btn-default.disabled:active,.btn-default.disabled:hover,.btn-default:disabled,.btn-default:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-default:focus,.btn-default:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default:active,.btn-default:active:focus,.dropdown.open .dropdown-toggle .btn-default,.dropdown.open .dropdown-toggle .btn-default:active:focus,.dropdown.open .dropdown-toggle .btn-default:focus,.dropdown.open .dropdown-toggle .btn-default:hover{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-loading,.btn-default.btn-loading:active,.btn-default.btn-loading:active:focus,.btn-default.btn-loading:disabled,.btn-default.btn-loading:disabled:hover,.btn-default.btn-loading:focus,.btn-default.btn-loading:hover{color:transparent}.btn-primary,.btn-primary.disabled,.btn-primary.disabled:active,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.disabled,.btn-primary.disabled:active,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-primary:focus,.btn-primary:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary:active,.btn-primary:active:focus,.dropdown.open .dropdown-toggle .btn-primary,.dropdown.open .dropdown-toggle .btn-primary:active:focus,.dropdown.open .dropdown-toggle .btn-primary:focus,.dropdown.open .dropdown-toggle .btn-primary:hover{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-loading,.btn-primary.btn-loading:active,.btn-primary.btn-loading:active:focus,.btn-primary.btn-loading:disabled,.btn-primary.btn-loading:disabled:hover,.btn-primary.btn-loading:focus,.btn-primary.btn-loading:hover{color:transparent}.btn-success,.btn-success.disabled,.btn-success.disabled:active,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled:hover{background:#00c853;border:1px solid #00c853;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success.disabled,.btn-success.disabled:active,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-success:focus,.btn-success:hover{background:#00af48;border:1px solid #00af48;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success:active,.btn-success:active:focus,.dropdown.open .dropdown-toggle .btn-success,.dropdown.open .dropdown-toggle .btn-success:active:focus,.dropdown.open .dropdown-toggle .btn-success:focus,.dropdown.open .dropdown-toggle .btn-success:hover{background:#007c33;border:1px solid #007c33;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success.btn-loading,.btn-success.btn-loading:active,.btn-success.btn-loading:active:focus,.btn-success.btn-loading:disabled,.btn-success.btn-loading:disabled:hover,.btn-success.btn-loading:focus,.btn-success.btn-loading:hover{color:transparent}.btn-danger,.btn-danger.disabled,.btn-danger.disabled:active,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled:hover{background:#ef5350;border:1px solid #ef5350;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger.disabled,.btn-danger.disabled:active,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-danger:focus,.btn-danger:hover{background:#ff8a80;border:1px solid #ff8a80;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger:active,.btn-danger:active:focus,.dropdown.open .dropdown-toggle .btn-danger,.dropdown.open .dropdown-toggle .btn-danger:active:focus,.dropdown.open .dropdown-toggle .btn-danger:focus,.dropdown.open .dropdown-toggle .btn-danger:hover{background:#d32f2f;border:1px solid #d32f2f;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger.btn-loading,.btn-danger.btn-loading:active,.btn-danger.btn-loading:active:focus,.btn-danger.btn-loading:disabled,.btn-danger.btn-loading:disabled:hover,.btn-danger.btn-loading:focus,.btn-danger.btn-loading:hover{color:transparent}.btn-default.btn-outline,.btn-default.btn-outline.disabled,.btn-default.btn-outline.disabled:active,.btn-default.btn-outline.disabled:hover,.btn-default.btn-outline:disabled,.btn-default.btn-outline:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline.disabled,.btn-default.btn-outline.disabled:active,.btn-default.btn-outline.disabled:hover,.btn-default.btn-outline:disabled,.btn-default.btn-outline:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-default.btn-outline:focus,.btn-default.btn-outline:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline:active,.btn-default.btn-outline:active:focus,.dropdown.open .btn-default.btn-outline,.dropdown.open .btn-default.btn-outline:active:focus,.dropdown.open .btn-default.btn-outline:focus,.dropdown.open .btn-default.btn-outline:hover{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline.btn-loading,.btn-default.btn-outline.btn-loading:active,.btn-default.btn-outline.btn-loading:active:focus,.btn-default.btn-outline.btn-loading:disabled,.btn-default.btn-outline.btn-loading:disabled:hover,.btn-default.btn-outline.btn-loading:focus,.btn-default.btn-outline.btn-loading:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.btn-primary.btn-outline,.btn-primary.btn-outline.disabled,.btn-primary.btn-outline.disabled:active,.btn-primary.btn-outline.disabled:hover,.btn-primary.btn-outline:disabled,.btn-primary.btn-outline:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline.disabled,.btn-primary.btn-outline.disabled:active,.btn-primary.btn-outline.disabled:hover,.btn-primary.btn-outline:disabled,.btn-primary.btn-outline:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-primary.btn-outline:focus,.btn-primary.btn-outline:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline:active,.btn-primary.btn-outline:active:focus,.dropdown.open .btn-primary.btn-outline,.dropdown.open .btn-primary.btn-outline:active:focus,.dropdown.open .btn-primary.btn-outline:focus,.dropdown.open .btn-primary.btn-outline:hover{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline.btn-loading,.btn-primary.btn-outline.btn-loading:active,.btn-primary.btn-outline.btn-loading:active:focus,.btn-primary.btn-outline.btn-loading:disabled,.btn-primary.btn-outline.btn-loading:disabled:hover,.btn-primary.btn-outline.btn-loading:focus,.btn-primary.btn-outline.btn-loading:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.navbar-misago .btn-sign-in{border-radius:4px}.navbar-misago .btn-sign-in,.navbar-misago .btn-sign-in.disabled,.navbar-misago .btn-sign-in.disabled:active,.navbar-misago .btn-sign-in.disabled:hover,.navbar-misago .btn-sign-in:disabled,.navbar-misago .btn-sign-in:disabled:hover{background:transparent;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#8993a4}.navbar-misago .btn-sign-in.disabled,.navbar-misago .btn-sign-in.disabled:active,.navbar-misago .btn-sign-in.disabled:hover,.navbar-misago .btn-sign-in:disabled,.navbar-misago .btn-sign-in:disabled:hover{filter:alpha(opacity=25);opacity:.25}.navbar-misago .btn-sign-in:focus,.navbar-misago .btn-sign-in:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.dropdown.open .navbar-misago .btn-sign-in,.dropdown.open .navbar-misago .btn-sign-in:active:focus,.dropdown.open .navbar-misago .btn-sign-in:focus,.dropdown.open .navbar-misago .btn-sign-in:hover,.navbar-misago .btn-sign-in:active,.navbar-misago .btn-sign-in:active:focus{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.navbar-misago .btn-sign-in.btn-loading,.navbar-misago .btn-sign-in.btn-loading:active,.navbar-misago .btn-sign-in.btn-loading:active:focus,.navbar-misago .btn-sign-in.btn-loading:disabled,.navbar-misago .btn-sign-in.btn-loading:disabled:hover,.navbar-misago .btn-sign-in.btn-loading:focus,.navbar-misago .btn-sign-in.btn-loading:hover{background:transparent;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.navbar-misago .btn-register{border-radius:4px}.navbar-misago .btn-register,.navbar-misago .btn-register.disabled,.navbar-misago .btn-register.disabled:active,.navbar-misago .btn-register.disabled:hover,.navbar-misago .btn-register:disabled,.navbar-misago .btn-register:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.navbar-misago .btn-register.disabled,.navbar-misago .btn-register.disabled:active,.navbar-misago .btn-register.disabled:hover,.navbar-misago .btn-register:disabled,.navbar-misago .btn-register:disabled:hover{filter:alpha(opacity=25);opacity:.25}.navbar-misago .btn-register:focus,.navbar-misago .btn-register:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.dropdown.open .navbar-misago .btn-register,.dropdown.open .navbar-misago .btn-register:active:focus,.dropdown.open .navbar-misago .btn-register:focus,.dropdown.open .navbar-misago .btn-register:hover,.navbar-misago .btn-register:active,.navbar-misago .btn-register:active:focus{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.navbar-misago .btn-register.btn-loading,.navbar-misago .btn-register.btn-loading:active,.navbar-misago .btn-register.btn-loading:active:focus,.navbar-misago .btn-register.btn-loading:disabled,.navbar-misago .btn-register.btn-loading:disabled:hover,.navbar-misago .btn-register.btn-loading:focus,.navbar-misago .btn-register.btn-loading:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.btn-social-battlenet,.btn-social-battlenet-oauth2,.btn-social-battlenet-oauth2:disabled,.btn-social-battlenet-oauth2:disabled:hover,.btn-social-battlenet:disabled,.btn-social-battlenet:disabled:hover{color:#0e86ca;font-weight:700}.btn-social-bungie,.btn-social-bungie:disabled,.btn-social-bungie:disabled:hover{color:#0096db;font-weight:700}.btn-social-facebook,.btn-social-facebook-app,.btn-social-facebook-app:disabled,.btn-social-facebook-app:disabled:hover,.btn-social-facebook:disabled,.btn-social-facebook:disabled:hover{color:#3b5998;font-weight:700}.btn-social-github,.btn-social-github-enterprise,.btn-social-github-enterprise-org,.btn-social-github-enterprise-org:disabled,.btn-social-github-enterprise-org:disabled:hover,.btn-social-github-enterprise-team,.btn-social-github-enterprise-team:disabled,.btn-social-github-enterprise-team:disabled:hover,.btn-social-github-enterprise:disabled,.btn-social-github-enterprise:disabled:hover,.btn-social-github-team,.btn-social-github-team:disabled,.btn-social-github-team:disabled:hover,.btn-social-github:disabled,.btn-social-github:disabled:hover{color:#000;font-weight:700}.btn-social-gitlab,.btn-social-gitlab:disabled,.btn-social-gitlab:disabled:hover{color:#fc6d26;font-weight:700}.btn-social-google,.btn-social-google-oauth,.btn-social-google-oauth2,.btn-social-google-oauth2:disabled,.btn-social-google-oauth2:disabled:hover,.btn-social-google-oauth:disabled,.btn-social-google-oauth:disabled:hover,.btn-social-google-openidconnect,.btn-social-google-openidconnect:disabled,.btn-social-google-openidconnect:disabled:hover,.btn-social-google-plus,.btn-social-google-plus:disabled,.btn-social-google-plus:disabled:hover,.btn-social-google:disabled,.btn-social-google:disabled:hover{color:#dd4b39;font-weight:700}.btn-social-linkedin,.btn-social-linkedin:disabled,.btn-social-linkedin:disabled:hover{color:#0077b5;font-weight:700}.btn-social-steam,.btn-social-steam:disabled,.btn-social-steam:disabled:hover{color:#5c7e10;font-weight:700}.btn-social-twitter,.btn-social-twitter:disabled,.btn-social-twitter:disabled:hover{color:#1da1f2;font-weight:700}.form-social-auth .row{margin-bottom:-6px;margin-top:-6px}.form-social-auth .btn{margin:6px 0}input.form-control,textarea.form-control{border-color:#ced0da;box-shadow:inset 0 0 0 1px #ced0da}input.form-control:focus,textarea.form-control:focus{border-color:#66afe9;box-shadow:inset 0 0 0 1px #66afe9}.has-error input.form-control{border-color:#ff5630;box-shadow:inset 0 0 0 1px #ff5630}.has-error input.form-control:focus{border-color:#ffa996;box-shadow:inset 0 0 0 1px #ffa996}.has-success input.form-control{border-color:#36b37e;box-shadow:inset 0 0 0 1px #36b37e}.has-success input.form-control:focus{border-color:#79d6af;box-shadow:inset 0 0 0 1px #79d6af}.password-strength{margin-top:10px}.password-strength .text-small{color:#3462af;font-size:12px;margin-top:4px}.password-strength .progress{margin:0}.auth-message{background:#091e42;box-shadow:0 8px 10px 1px rgba(0,0,0,.04),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.06);padding:80px 0}.auth-message p{color:#fff}.auth-message .btn{background:#f4f5f7;border-color:#f4f5f7;color:#172b4d}.auth-message .btn:focus,.auth-message .btn:hover{background:#dfe1e6;border-color:#dfe1e6;color:#172b4d}.auth-message .btn:active{background:#b3bac5;border-color:#b3bac5;color:#172b4d}.dropdown-menu{border:none;box-shadow:0 4px 5px 0 rgba(0,0,0,.04),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.06)}.user-dropdown .dropdown-header strong{color:#172b4d;display:block;font-weight:700}.user-dropdown .dropdown-header .user-stats{font-size:12px;margin-top:10px}.user-dropdown .dropdown-header .user-stats .material-icon{bottom:1px;font-size:14px;height:14px;margin-right:3px;position:relative;width:14px}.user-dropdown .guest-preview{padding-bottom:10px}.user-dropdown .badge{background-color:#ff5630}.user-dropdown .btn-link:active .badge,.user-dropdown .btn-link:focus .badge,.user-dropdown .btn-link:hover .badge,.user-dropdown a:active .badge,.user-dropdown a:focus .badge,.user-dropdown a:hover .badge{background-color:#fff;color:#ff5630}.mobile-dropdown.open{margin:0}.navbar-misago{border-bottom:none;box-shadow:0 0 3px #c1c7d0}.navbar-misago .user-avatar{background:#fff;border-radius:3px}.navbar-misago .brand-link img{border-radius:3px}.dropdown-search-results{border-radius:0 0 4px 4px}.dropdown-search-message{color:#7a869a}.dropdown-search-loader,.dropdown-search-message{border-top:1px solid #ebecf0;padding:10px 16px}.dropdown-search-header{border-top:1px solid #ebecf0;color:#7a869a;font-weight:700;padding:8px 20px}.dropdown-search-thread small,.dropdown-search-user small{color:#7a869a}.dropdown-search-thread .dropdown-search-post-content{max-height:47px;overflow:hidden;white-space:normal}.dropdown-search-thread .dropdown-search-post-footer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-footer{padding-bottom:5px}.dropdown-search-footer:last-child{padding-bottom:0}.dropdown-menu>li.dropdown-search-footer>a{font-size:small}.page-header{background:none;border-bottom:none}.page-header-bg{background:#f4f5f7;background-size:cover}@media screen and (min-width:992px){.page-header-bg{margin-bottom:40px}}.page-header-bg{min-height:8px}.page-header h1{color:#172b4d;font-weight:400}.page-header .btn-outline.btn-default,.page-header .btn-outline.btn-default.disabled,.page-header .btn-outline.btn-default.disabled:active,.page-header .btn-outline.btn-default.disabled:hover,.page-header .btn-outline.btn-default:disabled,.page-header .btn-outline.btn-default:disabled:hover{background:#8993a4;border:1px solid #8993a4;-webkit-box-shadow:none;box-shadow:none;color:#fff}.page-header .btn-outline.btn-default.disabled,.page-header .btn-outline.btn-default.disabled:active,.page-header .btn-outline.btn-default.disabled:hover,.page-header .btn-outline.btn-default:disabled,.page-header .btn-outline.btn-default:disabled:hover{filter:alpha(opacity=25);opacity:.25}.page-header .btn-outline.btn-default:focus,.page-header .btn-outline.btn-default:hover{background:#6b778c;border:1px solid #6b778c;-webkit-box-shadow:none;box-shadow:none;color:#fff}.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:active:focus,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:focus,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:hover,.page-header .btn-outline.btn-default:active,.page-header .btn-outline.btn-default:active:focus{background:#505f79;border:1px solid #505f79;-webkit-box-shadow:none;box-shadow:none;color:#fff}.page-header .btn-outline.btn-default.btn-loading,.page-header .btn-outline.btn-default.btn-loading:active,.page-header .btn-outline.btn-default.btn-loading:active:focus,.page-header .btn-outline.btn-default.btn-loading:disabled,.page-header .btn-outline.btn-default.btn-loading:disabled:hover,.page-header .btn-outline.btn-default.btn-loading:focus,.page-header .btn-outline.btn-default.btn-loading:hover{color:transparent}.page-header .btn-outline.btn-primary,.page-header .btn-outline.btn-primary.disabled,.page-header .btn-outline.btn-primary.disabled:active,.page-header .btn-outline.btn-primary.disabled:hover,.page-header .btn-outline.btn-primary:disabled,.page-header .btn-outline.btn-primary:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.page-header .btn-outline.btn-primary.disabled,.page-header .btn-outline.btn-primary.disabled:active,.page-header .btn-outline.btn-primary.disabled:hover,.page-header .btn-outline.btn-primary:disabled,.page-header .btn-outline.btn-primary:disabled:hover{filter:alpha(opacity=25);opacity:.25}.page-header .btn-outline.btn-primary:focus,.page-header .btn-outline.btn-primary:hover{background:#8777d9;border:1px solid #8777d9;-webkit-box-shadow:none;box-shadow:none;color:#fff}.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:active:focus,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:focus,.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:hover,.page-header .btn-outline.btn-primary:active,.page-header .btn-outline.btn-primary:active:focus{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.page-header .btn-outline.btn-primary.btn-loading,.page-header .btn-outline.btn-primary.btn-loading:active,.page-header .btn-outline.btn-primary.btn-loading:active:focus,.page-header .btn-outline.btn-primary.btn-loading:disabled,.page-header .btn-outline.btn-primary.btn-loading:disabled:hover,.page-header .btn-outline.btn-primary.btn-loading:focus,.page-header .btn-outline.btn-primary.btn-loading:hover{color:transparent}.header-stats,.header-stats li a,.header-stats li a:link,.header-stats li a:visited{color:#5e6c84}.header-stats li a:active,.header-stats li a:focus,.header-stats li a:hover{color:#344563}.header-stats li .user-status.user-offline .status-icon,.page-header .go-back-sm,.page-header .go-back-sm:link,.page-header .go-back-sm:visited{color:#5e6c84}.page-header .go-back-sm:active,.page-header .go-back-sm:focus,.page-header .go-back-sm:hover{color:#344563}.page-header .breadcrumb,.page-header .breadcrumb a,.page-header .breadcrumb a:active,.page-header .breadcrumb a:focus,.page-header .breadcrumb a:hover,.page-header .breadcrumb a:link,.page-header .breadcrumb a:visited,.page-header .breadcrumb li:before{color:#5e6c84}.page-header .page-tabs{background-color:transparent;margin-top:33.2px}.page-header .page-tabs li a{font-weight:700}.page-header .page-tabs li a,.page-header .page-tabs li a:link,.page-header .page-tabs li a:visited{background-color:transparent;border-radius:3px 3px 0 0;color:#a5adba}.page-header .page-tabs li a:focus,.page-header .page-tabs li a:hover{background-color:transparent;color:#172b4d}@media screen and (max-width:991px){.page-header .page-tabs li a:focus,.page-header .page-tabs li a:hover{background-color:transparent;color:#a5adba}}.page-header .page-tabs li.active a,.page-header .page-tabs li.active a:active,.page-header .page-tabs li.active a:focus,.page-header .page-tabs li.active a:hover,.page-header .page-tabs li.active a:link,.page-header .page-tabs li.active a:visited{background-color:#fff;color:#172b4d}.misago-footer{margin-top:40px}.misago-footer .footer-content{border-top:1px solid #ebecf0;color:#a5adba;padding-top:20px}@media screen and (max-width:767px){.misago-footer .footer-content{text-align:center}.misago-footer .footer-content .site-footnote{clear:both;margin-bottom:15px}}.misago-footer .footer-content a,.misago-footer .footer-content a:link,.misago-footer .footer-content a:visited{color:#a5adba}.misago-footer .footer-content a:focus,.misago-footer .footer-content a:hover{color:#7a8699}.misago-footer .footer-content .misago-branding,.misago-footer .footer-content .misago-branding:link,.misago-footer .footer-content .misago-branding:visited{color:#a5adba}.misago-footer .footer-content .misago-branding:focus,.misago-footer .footer-content .misago-branding:hover{color:#7a8699}.list-group{border-radius:3px}.list-group .list-group-item{border-left-color:#ebecf0;border-right-color:#ebecf0}.list-group .list-group-item:first-child{border-top-color:#ebecf0}.list-group .list-group-item:last-child{border-bottom-color:#ebecf0}.list-group-item.empty-message{padding-bottom:20px;padding-top:20px;text-align:center}.list-group-item.empty-message p{margin:10px 0}.nav-side{-webkit-box-shadow:none;box-shadow:none}.nav-side>.list-group-item{border-left:none;border-right:none;margin-bottom:1px}.nav-side>.list-group-item:first-child{border-top:none}.nav-side>.list-group-item:last-child{border-bottom:none}.nav-side>.list-group-item,.nav-side>.list-group-item:link,.nav-side>.list-group-item:visited{background:#f4f5f7;border:none;color:#172b4d}.nav-side>.list-group-item:active,.nav-side>.list-group-item:focus,.nav-side>.list-group-item:hover{background:#ebecf0;color:#172b4d}.nav-side>.list-group-item.active,.nav-side>.list-group-item.active:active,.nav-side>.list-group-item.active:focus,.nav-side>.list-group-item.active:hover,.nav-side>.list-group-item.active:link,.nav-side>.list-group-item.active:visited{background:#091e42;color:#fff;font-weight:700}.nav-side>.list-group-item.active .badge,.nav-side>.list-group-item.active:active .badge,.nav-side>.list-group-item.active:focus .badge,.nav-side>.list-group-item.active:hover .badge,.nav-side>.list-group-item.active:link .badge,.nav-side>.list-group-item.active:visited .badge{background:#f4f5f7;color:#172b4d}.username-history .user-avatar{border-radius:4px}.panel{border:none;border-radius:4px}.panel .panel-footer,.panel .panel-heading{background:#fff}.panel .panel-title{color:#5e6c84}.panel .form-group+.form-group{margin-top:20px}.panel .panel-body>.form-group:first-child{margin-top:10px}.panel fieldset{margin-top:20px}.panel fieldset:first-child{margin-top:0}.panel fieldset legend{border:none;color:#5e6c84;font-weight:300}.panel-message-body .message-icon{color:#9575cd}.panel-form{border:1px solid #ebecf0;box-shadow:none}.panel-form .panel-footer,.panel-form .panel-heading{border-color:#ebecf0}.poll-form .panel{margin:0}.help-block,.help-block .text-small{color:#7a869a}.category-main .media-left .read-status{background:#ebecf0;border-radius:4px;padding:5px 8px}.category-main .media-left .material-icon{color:#5e6c84;font-size:14px;height:14px;line-height:14px;width:14px}.category-main .media-left .read-status.item-new{background-color:#0052cc}.category-main .media-left .read-status.item-new .material-icon{color:#fff}@media screen and (min-width:768px){.category-main .media-left{padding:5px 0}}.category-main .media-body{padding-left:12px}@media screen and (max-width:767px){.category-main .media-body{padding-left:3.33333333px}}.list-group-category-no-description .category-main .media-heading{margin-top:10px}@media screen and (max-width:767px){.list-group-category-no-description .category-main .media-heading{margin-top:5px}}.category-main .media-heading a,.category-main .media-heading a:link,.category-main .media-heading a:visited{color:#344563}.category-main .media-heading a:active,.category-main .media-heading a:focus,.category-main .media-heading a:hover{color:#172b4d}.category-stats{color:#5e6c84}.category-main .category-description p{font-size:12px}.category-main .category-description p:last-child{margin-bottom:0}.category-last-thread img{background-color:#fff;border-radius:4px}.category-last-thread .media-heading{margin-bottom:2px}@media screen and (max-width:767px){.category-last-thread .media-heading{margin-top:10px}}.category-last-thread .list-inline{color:#7a869a;font-size:12px}.category-last-thread .list-inline a,.category-last-thread .list-inline a:link,.category-last-thread .list-inline a:visited{color:#7a869a}.category-last-thread .list-inline .item-title,.category-last-thread .list-inline .item-title:link,.category-last-thread .list-inline .item-title:visited,.category-last-thread .list-inline a:active,.category-last-thread .list-inline a:focus,.category-last-thread .list-inline a:hover{color:#344563}.category-last-thread .list-inline .item-title:active,.category-last-thread .list-inline .item-title:focus,.category-last-thread .list-inline .item-title:hover{color:#172b4d}.category-thread-message{color:#7a869a}.category-thread-message .material-icon{margin-right:3px;padding:6px 0}@media screen and (max-width:767px){.category-thread-message{font-size:12px;padding-top:15px}.category-thread-message .material-icon{padding:3px 0}}.panel-participants{border:1px solid #ebecf0}.participant-card .btn-user{border:0!important}.participant-card .dropdown-header-owner{color:#0052cc}.participant-card .dropdown-header-owner .material-icon{font-size:14px;height:14px;line-height:14px;width:14px}.participant-card .dropdown-header-owner .icon-text{margin-left:4px;position:relative;top:2px}.panel-participants p{color:#7a869a}@media screen and (max-width:767px){.panel-participants p{margin-top:10px;text-align:center}}.panel-poll{border:1px solid #ebecf0}.panel-poll .poll-select-choices{margin-top:-10px}.panel-poll .poll-details{color:#7a869a;font-size:12px;margin-bottom:20px}.panel-poll .progress{margin-bottom:5px;margin-top:6.66666667px}.panel-poll .poll-chart{color:#7a869a;font-size:12px}.panel-poll .poll-options{margin-top:20px}#posting-placeholder{background-color:#fafbfc}.posting-message .material-icon{color:#9575cd}.posting-message .btn{margin-top:20px}.panel-post{background:#fff;border:1px solid #ddd}.post-side{color:#7a869a}.post-side .poster-avatar{border-radius:4px}.post-side .user-title,.post-side .user-title a,.post-side .user-title a:active,.post-side .user-title a:focus,.post-side .user-title a:hover,.post-side .user-title a:link,.post-side .user-title a:visited{color:#5e6c84}.post-heading .label-unread{background-color:#a0f;margin-right:16px}.post-heading .label-protected{background-color:transparent;color:#bdbdbd;margin-left:24px;position:relative;top:1px}.post-heading .label-protected .material-icon{font-size:16px;line-height:16px;margin-right:2px;position:relative;top:-1px}.post-heading>.btn-link{padding-left:0;padding-right:0}.post-heading>.btn-link,.post-heading>.btn-link:link,.post-heading>.btn-link:visited{color:#7a869a}.post-heading>.btn-link:active,.post-heading>.btn-link:focus,.post-heading>.btn-link:focus:active,.post-heading>.btn-link:hover{color:#172b4d;text-decoration:none}.post-heading .btn-see-edits{margin-left:24px}.post-status-message{border-radius:4px;margin-top:10px;padding:6px 12px}@media screen and (max-width:767px){.post-status-message{font-size:12px}.post-status-message .material-icon{margin-top:3px}.post-status-message p{margin-top:0}}.post-body:last-child{padding-bottom:10px}.post-attachments{background-color:#ebecf0;border:none;border-radius:4px;margin-bottom:30px}.post-attachments:last-child{margin-bottom:10px}@media screen and (max-width:767px){.post-attachments{border-radius:0;margin:0 -15px 20px}}.post-footer>.btn-link{padding-left:0;padding-right:0}.post-footer>.btn-link,.post-footer>.btn-link:link,.post-footer>.btn-link:visited{color:#7a869a}.post-footer>.btn-link:active,.post-footer>.btn-link:focus,.post-footer>.btn-link:focus:active,.post-footer>.btn-link:hover{color:#172b4d;text-decoration:none}.post-footer p{color:#7a869a;font-size:12px}.post-body-hidden,.post-body-invalid{padding-bottom:10px;padding-top:10px}.post-body-hidden .lead,.post-body-invalid .lead{margin-bottom:10px}.post-body-hidden .text-muted,.post-body-invalid .text-muted{font-size:12px;margin-bottom:0}.post-hidden{filter:alpha(opacity=75);opacity:.75}.post-feed .panel-body{padding-bottom:0}.post-feed .post-body{max-height:300px;overflow-y:hidden;padding-bottom:20px;padding-top:0;position:relative}.post-feed .post-body:after{bottom:0;box-shadow:0 0 16px 16px #fff;color:transparent;content:"-";display:block;height:0;position:absolute;width:100%}.posts-list .event .event-label{margin-bottom:5px}.posts-list .event .label-unread{background-color:#a0f;color:#fff}.posts-list .event-info .btn-link,.posts-list .event-info a,.posts-list .event-info a:link,.posts-list .event-info a:visited{color:#5e6c84}.posts-list .event-info .btn-link:active,.posts-list .event-info .btn-link:focus,.posts-list .event-info .btn-link:focus:active,.posts-list .event-info a:active,.posts-list .event-info a:focus,.posts-list .event-info a:focus:active{color:#172b4d}.posts-list .event-hidden{filter:alpha(opacity=33);opacity:.33}.user-card{background:#f4f5f7}.user-card-avatar img,.user-card-small-avatar img{border-radius:4px}.user-card-avatar{margin:20px 0}.user-card-avatar img{height:150px;width:150px}.user-card-username a,.user-card-username a:active,.user-card-username a:focus,.user-card-username a:hover,.user-card-username a:link,.user-card-username a:visited{color:#172b4d;font-size:18px;font-weight:700}.user-card-title a,.user-card-title a:link,.user-card-title a:visited,.user-card-title span{color:#5e6c84}.user-card-title a:active,.user-card-title a:focus,.user-card-title a:hover{color:#172b4d}@media screen and (min-width:768px){.user-card-stats{margin-top:20px}}.user-card-stats ul{margin:0}.user-card-stats li{color:#7a869a;display:inline-block;font-size:12px;margin-right:12px}@media screen and (min-width:768px){.user-card-stats li{margin:0 6px}}.user-card-stats li.user-stat-empty{display:none}@media screen and (min-width:768px){li.user-stat-divider{display:block;margin:0}}@media screen and (max-width:767px){li.user-stat-divider{display:none}}@media screen and (min-width:768px){.user-card-stats{min-height:60px}}@media screen and (max-width:767px){.user-card-left{padding-right:0}}.progress,.progress .progress-bar{-webkit-box-shadow:none;box-shadow:none;height:8px}.misago-markup img{border-radius:4px}.misago-markup .quote-block,.misago-markup blockquote{background-color:#ffecb3;border-color:#b3e5fc;color:#3e2723;overflow:hidden}.misago-markup .quote-block .quote-heading,.misago-markup blockquote .quote-heading{background-color:#ffe082;border:none;color:#795548}.misago-markup .quote-block .quote-heading a,.misago-markup .quote-block .quote-heading a:link,.misago-markup .quote-block .quote-heading a:visited,.misago-markup blockquote .quote-heading a,.misago-markup blockquote .quote-heading a:link,.misago-markup blockquote .quote-heading a:visited{color:#5d4037}.misago-markup .quote-block .quote-heading a:active,.misago-markup .quote-block .quote-heading a:focus,.misago-markup .quote-block .quote-heading a:hover,.misago-markup blockquote .quote-heading a:active,.misago-markup blockquote .quote-heading a:focus,.misago-markup blockquote .quote-heading a:hover{color:#3e2723}.misago-markup .quote-block hr,.misago-markup blockquote hr{border-color:#ffca28}.misago-markup>.quote-block,.misago-markup>blockquote{background:#ffecb3;border:none;border-radius:4px}.misago-markup .quote-body,.misago-markup>.quote-block .quote-block,.misago-markup>blockquote .quote-block{background:#ffecb3}.misago-markup .quote-body>.quote-block,.misago-markup .quote-body>blockquote{border-color:#ffe082;border-radius:4px}.misago-markup .spoiler-block{background:repeating-linear-gradient(45deg,rgba(235,236,240,.5),rgba(235,236,240,.5) 10px,#fff 0,#fff 20px);border:none}.misago-markup .spoiler-body{background:transparent;color:#172b4d;-webkit-filter:blur(5px);-moz-filter:blur(5px);-o-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px)}.misago-markup .spoiler-block.revealed .spoiler-body{-webkit-filter:none;-moz-filter:none;-o-filter:none;-ms-filter:none;filter:none}.misago-markup .spoiler-overlay{align-items:center;background:hsla(0,0%,100%,.1);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.misago-markup .spoiler-reveal{background-color:#ebecf0;border-color:#ccc;color:#172b4d}.misago-markup .spoiler-reveal.focus,.misago-markup .spoiler-reveal:focus{background-color:#ced0da;border-color:#8c8c8c;color:#172b4d}.misago-markup .spoiler-reveal:hover{background-color:#ced0da;border-color:#adadad;color:#172b4d}.misago-markup .spoiler-reveal.active,.misago-markup .spoiler-reveal:active,.open>.dropdown-toggle.misago-markup .spoiler-reveal{background-color:#ced0da;background-image:none;border-color:#adadad;color:#172b4d}.misago-markup .spoiler-reveal.active.focus,.misago-markup .spoiler-reveal.active:focus,.misago-markup .spoiler-reveal.active:hover,.misago-markup .spoiler-reveal:active.focus,.misago-markup .spoiler-reveal:active:focus,.misago-markup .spoiler-reveal:active:hover,.open>.dropdown-toggle.misago-markup .spoiler-reveal.focus,.open>.dropdown-toggle.misago-markup .spoiler-reveal:focus,.open>.dropdown-toggle.misago-markup .spoiler-reveal:hover{background-color:#b9bdcb;border-color:#8c8c8c;color:#172b4d}.misago-markup .spoiler-reveal.disabled.focus,.misago-markup .spoiler-reveal.disabled:focus,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal[disabled].focus,.misago-markup .spoiler-reveal[disabled]:focus,.misago-markup .spoiler-reveal[disabled]:hover,fieldset[disabled] .misago-markup .spoiler-reveal.focus,fieldset[disabled] .misago-markup .spoiler-reveal:focus,fieldset[disabled] .misago-markup .spoiler-reveal:hover{background-color:#ebecf0;border-color:#ccc}.misago-markup .spoiler-reveal .badge{background-color:#172b4d;color:#ebecf0}.misago-markup .spoiler-reveal,.misago-markup .spoiler-reveal.disabled,.misago-markup .spoiler-reveal.disabled:active,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal:disabled,.misago-markup .spoiler-reveal:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.misago-markup .spoiler-reveal.disabled,.misago-markup .spoiler-reveal.disabled:active,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal:disabled,.misago-markup .spoiler-reveal:disabled:hover{filter:alpha(opacity=25);opacity:.25}.misago-markup .spoiler-reveal:focus,.misago-markup .spoiler-reveal:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:active:focus,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:focus,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:hover,.misago-markup .spoiler-reveal:active,.misago-markup .spoiler-reveal:active:focus{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.misago-markup .spoiler-reveal.btn-loading,.misago-markup .spoiler-reveal.btn-loading:active,.misago-markup .spoiler-reveal.btn-loading:active:focus,.misago-markup .spoiler-reveal.btn-loading:disabled,.misago-markup .spoiler-reveal.btn-loading:disabled:hover,.misago-markup .spoiler-reveal.btn-loading:focus,.misago-markup .spoiler-reveal.btn-loading:hover{color:transparent}.misago-markup .spoiler-reveal,.misago-markup .spoiler-reveal:active,.misago-markup .spoiler-reveal:hover{border-radius:4px;box-shadow:0 0 0 4px #fff;padding:6px 12px}.modal-header{background:#fff;border-bottom-color:#ced0da;border-radius:6px 6px 0 0;color:#172b4d}.modal-header .close{color:#172b4d;font-size:24px;line-height:24px;padding:0 6px;text-shadow:none}.modal-message .message-icon{color:#9575cd}.modal-body>.form-group{margin:20px 0}.modal-body>.form-group:first-child{margin-top:0}.modal-body>.form-group:last-child{margin-bottom:0}.modal-sign-in .modal-body{padding-bottom:0;padding-top:0}.modal-sign-in .modal-body>.form-group{margin:20px 0}.legal-footnote label{font-weight:700}.legal-footnote .help-block{color:#ff5630;margin-left:20px}.modal-avatar-index .avatar-preview{background:#fff;border-radius:6px}.modal-avatar-crop .cropit-preview{background:#fff;margin:20px 0}.modal-avatar-crop .cropit-image-zoom-input{margin-bottom:20px;margin-top:40px}.modal-post-likers .media{border-bottom:1px solid #ebecf0;padding-bottom:15px}.modal-post-likers .media img{border-radius:4px;height:40px;width:40px}.modal-post-likers .media:last-child{border:none;padding-bottom:0}.well{border:1px solid #ddd}.active-posters .rank-user-avatar img{border-radius:4px}.active-posters .user-details{color:#7a869a}.active-posters .user-details a.rank-name,.active-posters .user-details a.rank-name:link,.active-posters .user-details a.rank-name:visited{color:#5e6c84;font-weight:400}.active-posters .user-details a.rank-name:active,.active-posters .user-details a.rank-name:focus,.active-posters .user-details a.rank-name:hover{color:#172b4d}.active-posters .user-details span.rank-name{color:#5e6c84;font-weight:400}.active-posters small{color:#7a869a}.page-error .message-icon{color:#ef5350}.page-message .message-icon,.page-message-info .message-icon{color:#9575cd}.page-message-success .message-icon{color:#81c784}.page-options .message-line,.page-options .message-line a,.page-options .message-line a:link,.page-options .message-line a:visited{color:#7a869a}.page-options .message-line a:active,.page-options .message-line a:focus,.page-options .message-line a:focus:active,.page-options .message-line a:hover{color:#172b4d}.page-user-profile .page-header .alert{text-align:center}.page-user-profile .page-header img{background-color:#fff;border:3px solid #fff;border-radius:6px;box-shadow:0 2px 2px 0 rgba(0,0,0,.04),0 3px 1px -2px rgba(0,0,0,.06),0 1px 5px 0 rgba(0,0,0,.12)}.page-user-profile .page-header .user-status .status-icon{font-size:14px;height:14px;line-height:14px;width:14px}.page-user-profile .profile-side-avatar img{background-color:#fff;border:3px solid #fff;border-radius:6px;box-shadow:0 4px 5px 0 rgba(0,0,0,.04),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.06)}.panel-profile-details-group.panel{border:1px solid #ebecf0}.panel-profile-details-group.panel .form-group{margin:0}.panel-profile-details-group .form-control-static p:last-child{margin-bottom:0}.post-primary .panel-post{border-color:#b388ff}.post-primary .user-title,.post-primary .user-title a,.post-primary .user-title a:active,.post-primary .user-title a:focus,.post-primary .user-title a:hover,.post-primary .user-title a:link,.post-primary .user-title a:visited{color:#6200ea}.post-success .panel-post{border-color:#00c853}.post-success .user-title,.post-success .user-title a,.post-success .user-title a:active,.post-success .user-title a:focus,.post-success .user-title a:hover,.post-success .user-title a:link,.post-success .user-title a:visited{color:#388e3c}.post-warning .panel-post{border-color:#ffab40}.post-warning .user-title,.post-warning .user-title a,.post-warning .user-title a:active,.post-warning .user-title a:focus,.post-warning .user-title a:hover,.post-warning .user-title a:link,.post-warning .user-title a:visited{color:#ff6d00}.post-danger .panel-post{border-color:#ff8a80}.post-danger .user-title,.post-danger .user-title a,.post-danger .user-title a:active,.post-danger .user-title a:focus,.post-danger .user-title a:hover,.post-danger .user-title a:link,.post-danger .user-title a:visited{color:#d50000}.user-card-primary .panel-body{background:#fff;border:2px solid #b388ff;border-radius:4px;padding:13px}.user-card-primary .user-card-title,.user-card-primary .user-card-title a.user-title,.user-card-primary .user-card-title a.user-title:active,.user-card-primary .user-card-title a.user-title:focus,.user-card-primary .user-card-title a.user-title:hover,.user-card-primary .user-card-title a.user-title:link,.user-card-primary .user-card-title a.user-title:visited{color:#6200ea}.user-card-primary .user-card-stats li{color:#9575cd}.user-card-success .panel-body{background:#fff;border:2px solid #00c853;border-radius:4px;padding:13px}.user-card-success .user-card-title,.user-card-success .user-card-title a.user-title,.user-card-success .user-card-title a.user-title:active,.user-card-success .user-card-title a.user-title:focus,.user-card-success .user-card-title a.user-title:hover,.user-card-success .user-card-title a.user-title:link,.user-card-success .user-card-title a.user-title:visited{color:#388e3c}.user-card-success .user-card-stats li{color:#66bb6a}.user-card-warning .panel-body{background:#fff;border:2px solid #ffab40;border-radius:4px;padding:13px}.user-card-warning .user-card-title,.user-card-warning .user-card-title a.user-title,.user-card-warning .user-card-title a.user-title:active,.user-card-warning .user-card-title a.user-title:focus,.user-card-warning .user-card-title a.user-title:hover,.user-card-warning .user-card-title a.user-title:link,.user-card-warning .user-card-title a.user-title:visited{color:#ff6d00}.user-card-warning .user-card-stats li{color:#ff6e40}.user-card-danger .panel-body{background:#fff;border:2px solid #ff8a80;border-radius:4px;padding:13px}.user-card-danger .user-card-title,.user-card-danger .user-card-title a.user-title,.user-card-danger .user-card-title a.user-title:active,.user-card-danger .user-card-title a.user-title:focus,.user-card-danger .user-card-title a.user-title:hover,.user-card-danger .user-card-title a.user-title:link,.user-card-danger .user-card-title a.user-title:visited{color:#d50000}.user-card-danger .user-card-stats li{color:#e57373}.list-group .list-group-rank-primary{border-left:4px solid #7e57c2;padding-left:11px}.list-group .list-group-rank-primary a.rank-name,.list-group .list-group-rank-primary a.rank-name:active,.list-group .list-group-rank-primary a.rank-name:focus,.list-group .list-group-rank-primary a.rank-name:hover,.list-group .list-group-rank-primary a.rank-name:link,.list-group .list-group-rank-primary a.rank-name:visited,.list-group .list-group-rank-primary span.rank-name{color:#6200ea}.list-group .list-group-rank-success{border-left:4px solid #9ccc65;padding-left:11px}.list-group .list-group-rank-success a.rank-name,.list-group .list-group-rank-success a.rank-name:active,.list-group .list-group-rank-success a.rank-name:focus,.list-group .list-group-rank-success a.rank-name:hover,.list-group .list-group-rank-success a.rank-name:link,.list-group .list-group-rank-success a.rank-name:visited,.list-group .list-group-rank-success span.rank-name{color:#388e3c}.list-group .list-group-rank-warning{border-left:4px solid #ff7043;padding-left:11px}.list-group .list-group-rank-warning a.rank-name,.list-group .list-group-rank-warning a.rank-name:active,.list-group .list-group-rank-warning a.rank-name:focus,.list-group .list-group-rank-warning a.rank-name:hover,.list-group .list-group-rank-warning a.rank-name:link,.list-group .list-group-rank-warning a.rank-name:visited,.list-group .list-group-rank-warning span.rank-name{color:#ff6d00}.list-group .list-group-rank-danger{border-left:4px solid #f44336;padding-left:11px}.list-group .list-group-rank-danger a.rank-name,.list-group .list-group-rank-danger a.rank-name:active,.list-group .list-group-rank-danger a.rank-name:focus,.list-group .list-group-rank-danger a.rank-name:hover,.list-group .list-group-rank-danger a.rank-name:link,.list-group .list-group-rank-danger a.rank-name:visited,.list-group .list-group-rank-danger span.rank-name{color:#d50000}.page-header-rank-primary .user-rank,.page-header-rank-primary .user-rank a,.page-header-rank-primary .user-rank a:active,.page-header-rank-primary .user-rank a:focus,.page-header-rank-primary .user-rank a:hover,.page-header-rank-primary .user-rank a:link,.page-header-rank-primary .user-rank a:visited{color:#6200ea}.page-header-rank-success .user-rank,.page-header-rank-success .user-rank a,.page-header-rank-success .user-rank a:active,.page-header-rank-success .user-rank a:focus,.page-header-rank-success .user-rank a:hover,.page-header-rank-success .user-rank a:link,.page-header-rank-success .user-rank a:visited{color:#388e3c}.page-header-rank-warning .user-rank,.page-header-rank-warning .user-rank a,.page-header-rank-warning .user-rank a:active,.page-header-rank-warning .user-rank a:focus,.page-header-rank-warning .user-rank a:hover,.page-header-rank-warning .user-rank a:link,.page-header-rank-warning .user-rank a:visited{color:#ff6d00}.page-header-rank-danger .user-rank,.page-header-rank-danger .user-rank a,.page-header-rank-danger .user-rank a:active,.page-header-rank-danger .user-rank a:focus,.page-header-rank-danger .user-rank a:hover,.page-header-rank-danger .user-rank a:link,.page-header-rank-danger .user-rank a:visited{color:#d50000}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}body{background-color:#fff;color:#172b4d;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0065ff;text-decoration:none}a:focus,a:hover{color:#0747a6;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{border:0;border-top:1px solid #ebecf0;margin-bottom:20px;margin-top:20px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#7a869a;font-weight:400;line-height:1}.h1,.h2,.h3,h1,h2,h3{margin-bottom:10px;margin-top:20px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-bottom:10px;margin-top:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#7a869a}.text-primary{color:#0052cc}a.text-primary:focus,a.text-primary:hover{color:#003d99}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{background-color:#0052cc;color:#fff}a.bg-primary:focus,a.bg-primary:hover{background-color:#003d99}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{border-bottom:1px solid #ebecf0;margin:40px 0 20px;padding-bottom:9px}ol,ul{margin-bottom:10px;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px;margin-top:0}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:700px){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{border-left:5px solid #ebecf0;font-size:17.5px;margin:0 0 20px;padding:10px 20px}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{color:#7a869a;display:block;font-size:80%;line-height:1.42857143}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{border-left:0;border-right:5px solid #ebecf0;padding-left:0;padding-right:15px;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{font-style:normal;line-height:1.42857143;margin-bottom:20px}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{background-color:#f9f2f4;border-radius:4px;color:#c7254e}code,kbd{font-size:90%;padding:2px 4px}kbd{background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff}kbd kbd{box-shadow:none;font-size:100%;font-weight:700;padding:0}pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#344563;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.row-no-gutters{margin-left:0;margin-right:0}.row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}caption{color:#7a869a;padding-bottom:8px;padding-top:8px}caption,th{text-align:left}.table{margin-bottom:20px;max-width:100%;width:100%}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{border:0;padding:0}legend{border-bottom:1px solid #e5e5e5;color:#344563;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;width:100%}label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input[type=search]{-webkit-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{color:#172b4d;display:block;font-size:14px;line-height:1.42857143}.form-control{background-color:#fff;background-image:none;border:1px solid #ced0da;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:34px;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ebecf0;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#3462af;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#172b4d;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#ebecf0;border-color:#ccc;color:#172b4d}.btn-default.focus,.btn-default:focus{background-color:#ced0da;border-color:#8c8c8c;color:#172b4d}.btn-default:hover{background-color:#ced0da;border-color:#adadad;color:#172b4d}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-color:#ced0da;background-image:none;border-color:#adadad;color:#172b4d}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#b9bdcb;border-color:#8c8c8c;color:#172b4d}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#ebecf0;border-color:#ccc}.btn-default .badge{background-color:#172b4d;color:#ebecf0}.btn-primary{background-color:#6554c0;border-color:#5643b7;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#4d3da4;border-color:#2a215a;color:#fff}.btn-primary:hover{background-color:#4d3da4;border-color:#41338a;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-color:#4d3da4;background-image:none;border-color:#41338a;color:#fff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#41338a;border-color:#2a215a;color:#fff}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#6554c0;border-color:#5643b7}.btn-primary .badge{background-color:#fff;color:#6554c0}.btn-success{background-color:#00c853;border-color:#00af48;color:#fff}.btn-success.focus,.btn-success:focus{background-color:#00953e;border-color:#002f14;color:#fff}.btn-success:hover{background-color:#00953e;border-color:#00712f;color:#fff}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-color:#00953e;background-image:none;border-color:#00712f;color:#fff}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{background-color:#00712f;border-color:#002f14;color:#fff}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00c853;border-color:#00af48}.btn-success .badge{background-color:#fff;color:#00c853}.btn-info{background-color:#3d5afe;border-color:#2444fe;color:#fff}.btn-info.focus,.btn-info:focus{background-color:#0a2ffe;border-color:#0119a1;color:#fff}.btn-info:hover{background-color:#0a2ffe;border-color:#0123e3;color:#fff}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-color:#0a2ffe;background-image:none;border-color:#0123e3;color:#fff}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{background-color:#0123e3;border-color:#0119a1;color:#fff}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#3d5afe;border-color:#2444fe}.btn-info .badge{background-color:#fff;color:#3d5afe}.btn-warning{background-color:#ffab00;border-color:#e69a00;color:#fff}.btn-warning.focus,.btn-warning:focus{background-color:#cc8900;border-color:#640;color:#fff}.btn-warning:hover{background-color:#cc8900;border-color:#a87100;color:#fff}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-color:#cc8900;background-image:none;border-color:#a87100;color:#fff}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{background-color:#a87100;border-color:#640;color:#fff}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffab00;border-color:#e69a00}.btn-warning .badge{background-color:#fff;color:#ffab00}.btn-danger{background-color:#ef5350;border-color:#ed3c39;color:#fff}.btn-danger.focus,.btn-danger:focus{background-color:#eb2521;border-color:#98110e;color:#fff}.btn-danger:hover{background-color:#eb2521;border-color:#d51713;color:#fff}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-color:#eb2521;background-image:none;border-color:#d51713;color:#fff}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{background-color:#d51713;border-color:#98110e;color:#fff}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ef5350;border-color:#ed3c39}.btn-danger .badge{background-color:#fff;color:#ef5350}.btn-link{border-radius:0;color:#0065ff;font-weight:400}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{background-color:transparent;color:#0747a6;text-decoration:underline}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#7a869a;text-decoration:none}.btn-group-lg>.btn,.btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.btn-group-sm>.btn,.btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.btn-group-xs>.btn,.btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#ebecf0;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a{clear:both;color:#172b4d;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#ebecf0;color:#172b4d;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#172b4d;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#7a869a}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#7a869a;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:700px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#ebecf0;text-decoration:none}.nav>li.disabled>a{color:#7a869a}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:transparent;color:#7a869a;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#ebecf0;border-color:#0065ff}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{border-color:#ebecf0 #ebecf0 #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#5e6c84;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#0065ff;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.navbar{border:1px solid transparent;margin-bottom:20px;min-height:54px;position:relative}@media (min-width:700px){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.navbar-collapse.in{overflow-y:auto}@media (min-width:700px){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:700px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:700px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:700px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;font-size:18px;height:54px;line-height:20px;padding:17px 15px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:700px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:10px;margin-right:15px;margin-top:10px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:700px){.navbar-toggle{display:none}}.navbar-nav{margin:8.5px -15px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:699px){.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:700px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:17px;padding-top:17px}}.navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:10px -15px;padding:10px 15px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:699px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:700px){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-btn{margin-bottom:10px;margin-top:10px}.navbar-btn.btn-sm{margin-bottom:12px;margin-top:12px}.navbar-btn.btn-xs{margin-bottom:16px;margin-top:16px}.navbar-text{margin-bottom:17px;margin-top:17px}@media (min-width:700px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#c1c7d0}.navbar-default .navbar-brand{color:#344563}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:transparent;color:#344563}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#8993a4}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#505f79}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:#dfe1e6;color:#6b778c}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#c1c7d0}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#dfe1e6;color:#6b778c}@media (max-width:699px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#8993a4}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#505f79}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#dfe1e6;color:#6b778c}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#c1c7d0}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#c1c7d0}.navbar-default .navbar-link{color:#8993a4}.navbar-default .navbar-link:hover{color:#505f79}.navbar-default .btn-link{color:#8993a4}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#505f79}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#c1c7d0}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#a5aebb}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#a5aebb}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:699px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#a5aebb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#a5aebb}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#a5aebb}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.breadcrumb>.active{color:#7a869a}.alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#00875a;border-color:#00875a;color:#fff}.alert-success hr{border-top-color:#006e49}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#448aff;border-color:#448aff;color:#fff}.alert-info hr{border-top-color:#2a7aff}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff8b00;border-color:#ff8b00;color:#fff}.alert-warning hr{border-top-color:#e67d00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#de350b;border-color:#de350b;color:#fff}.alert-danger hr{border-top-color:#c62f0a}.alert-danger .alert-link{color:#e6e6e6}.label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#7a869a}.label-default[href]:focus,.label-default[href]:hover{background-color:#616d80}.label-primary{background-color:#0052cc}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#003d99}.label-success{background-color:#36b37e}.label-success[href]:focus,.label-success[href]:hover{background-color:#2a8c62}.label-info{background-color:#3d5afe}.label-info[href]:focus,.label-info[href]:hover{background-color:#0a2ffe}.label-warning{background-color:#ffab00}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#cc8900}.label-danger{background-color:#ff5630}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fc2e00}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#ebecf0;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#6554c0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#36b37e}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#3d5afe}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#ffab00}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#ff5630}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.btn-group,.btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{float:left;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{border-collapse:separate;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon{background-color:#ebecf0;border:1px solid #ced0da;border-radius:4px;color:#172b4d;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-bottom:5px;margin-top:0}.media-list{list-style:none;padding-left:0}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #ebecf0;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.list-group-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px;margin-bottom:0}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#ebecf0;color:#7a869a;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#7a869a}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#fff;border-color:#ebecf0;color:#0065ff;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#fff}a.list-group-item,button.list-group-item{color:#7a869a}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#fff;color:#172b4d;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item-success{background-color:#dff0d8;color:#3c763d}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.list-group-item-info{background-color:#d9edf7;color:#31708f}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.list-group-item-danger{background-color:#f2dede;color:#a94442}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.panel{background-color:#fff;border:1px solid transparent;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:14px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ebecf0;padding:14px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ebecf0}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ebecf0}.panel-default{border-color:#ddd}.panel-default>.panel-heading{background-color:#fff;border-color:#ddd;color:#344563}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{background-color:#344563;color:#fff}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#0052cc}.panel-primary>.panel-heading{background-color:#0052cc;border-color:#0052cc;color:#fff}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#0052cc}.panel-primary>.panel-heading .badge{background-color:#fff;color:#0052cc}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#0052cc}.panel-success{border-color:#36b37e}.panel-success>.panel-heading{background-color:#dff0d8;border-color:#36b37e;color:#3c763d}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#36b37e}.panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#36b37e}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ff5630}.panel-danger>.panel-heading{background-color:#f2dede;border-color:#ff5630;color:#a94442}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff5630}.panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff5630}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#ebecf0;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#fff;color:#7a869a;cursor:not-allowed}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#0065ff;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#ebecf0;border-color:#ddd;color:#0747a6;z-index:2}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0052cc;border-color:#0052cc;color:#fff;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#7a869a;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{background-color:#fff;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{border-radius:6px;padding:24px}.well-sm{border-radius:3px;padding:9px}.close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.close:focus,.close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.badge{background-color:#7a869a;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{padding:1px 5px;top:0}a.badge:focus,a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{background-color:#fff;color:#0065ff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1050}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.modal-backdrop{background-color:#091e42;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #ced0da;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #ced0da;padding:15px;text-align:right}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.agreement-footer:after,.agreement-footer:before,.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.agreement-footer:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}@media screen and (max-width:991px){body,html{overflow-x:hidden}}@media screen and (min-width:992px){.md-margin-top-no{margin-top:0!important}}@media screen and (min-width:768px) and (max-width:991px){.sm-margin-top{margin-top:20px!important}.sm-margin-top-no{margin-top:0!important}.sm-margin-top-half{margin-top:6.6px!important}.sm-align-row-buttons{margin-top:5px!important}}@media screen and (max-width:767px){.xs-margin-top{margin-top:20px!important}.xs-margin-top-half{margin-top:6.6px!important}}.flex-row{display:block;margin:0 -15px}.flex-row-section{align-items:center;display:flex;flex:1}.flex-row-section+.flex-row-section{margin-top:20px}.flex-row-col{flex:1;padding:0 15px}@media screen and (min-width:768px){.flex-row{align-items:center;display:flex}.flex-row-section+.flex-row-section{margin:0}.flex-row-col,.flex-row-section{align-items:center;flex:0}.flex-row-section.flex-row-section-auto,.flex-row-section.flex-row-section-auto>.flex-row-col{flex:1}}.flex-row-col-shrink{flex:0!important}.auth-message{background-color:#ebecf0;left:0;padding:20px 0;position:fixed;top:-100%;transition:top .3s ease;width:100%;z-index:1070}.auth-message.show{bottom:auto;top:0}.auth-message p{color:#172b4d;padding:5px 0}@media screen and (max-width:991px){.auth-message{text-align:center}.auth-message .btn{font-size:18px;padding:10px 16px}}.alerts-snackbar{font-size:18px;pointer-events:none;position:fixed;text-align:center;top:-100%;transition:top .3s ease;width:100%;z-index:1060}.alerts-snackbar.in{top:0;transition:top .2s ease}.alerts-snackbar p{border-radius:0 0 4px 4px;display:inline-block;margin:0;pointer-events:all}.agreement-overlay{background-color:rgba(9,30,66,.5);height:100%;left:0;overflow-x:scroll;position:fixed;top:0;width:100%;z-index:1060}.agreement-overlay .container{max-width:900px;padding:20px 30px}.agreement-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;padding:10px 16px}.agreement-header{border-bottom:1px solid #ebecf0;padding:10px 0}.agreement-header h2{margin-top:0}.agreement-header p{margin:0;padding:0}.agreement-body{padding:20px 0}.agreement-body p.lead{margin:0;padding:0}.agreement-footer{border-top:1px solid #ced0da;padding:10px 0;text-align:right}.agreement-footer .btn+.btn{margin-bottom:0;margin-left:5px}.agreement-footer .btn-group .btn+.btn{margin-left:-1px}.agreement-footer .btn-block+.btn-block{margin-left:0}body.agreement-overlay-visible{overflow:hidden}.loader{height:49px;text-align:center;width:100%}.loader.loader-spaced{margin:40px 0}.loader-spinning-wheel{animation:cssload-spin 575ms linear infinite;-o-animation:cssload-spin 575ms linear infinite;-ms-animation:cssload-spin 575ms linear infinite;-webkit-animation:cssload-spin 575ms linear infinite;-moz-animation:cssload-spin 575ms linear infinite;border-color:#7a869a transparent;border-radius:50%;border-style:solid;border-width:3px;height:49px;margin:0 auto;width:49px}@keyframes cssload-spin{to{transform:rotate(1turn)}}@-o-keyframes cssload-spin{to{-o-transform:rotate(1turn);transform:rotate(1turn)}}@-ms-keyframes cssload-spin{to{-ms-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes cssload-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-moz-keyframes cssload-spin{to{-moz-transform:rotate(1turn);transform:rotate(1turn)}}.navbar{margin-bottom:0}.navbar .navbar-full .navbar-brand{font-size:21px;padding-bottom:11px;padding-top:11px}.navbar .navbar-full .navbar-brand>*{display:inline-block;vertical-align:middle}.navbar .navbar-full .navbar-brand img{height:32px;margin-right:6px}.navbar .navbar-full .navbar-nav>li>a{font-size:16.8px}.navbar .navbar-full .navbar-icon{color:#8993a4;display:block;height:54px;padding:13px 15px;position:relative}.navbar .navbar-full .navbar-icon:focus,.navbar .navbar-full .navbar-icon:hover{background-color:transparent;color:#505f79}.navbar .navbar-full .navbar-icon .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.navbar .navbar-full .navbar-icon .badge{background-color:#ff5630;font-size:9px;position:absolute;right:6px;top:6px}.navbar .navbar-full .open .navbar-icon,.navbar .navbar-full .open .navbar-icon:focus,.navbar .navbar-full .open .navbar-icon:hover{background-color:#dfe1e6;color:#6b778c}.navbar .navbar-full .nav-guest,.navbar .navbar-full .nav-user{float:right}.navbar .navbar-full .nav-guest .navbar-btn,.navbar .navbar-full .nav-user .navbar-btn{margin-left:15px}.navbar .navbar-full .nav-user .dropdown-toggle{padding:10px}.navbar .navbar-full .nav-user .dropdown-toggle img{height:34px;width:34px}.navbar ul.navbar-compact-nav{border-collapse:collapse;display:table;margin:0;table-layout:fixed;width:100%}.navbar ul.navbar-compact-nav>li{display:table-cell;width:100%}.navbar ul.navbar-compact-nav>li>a,.navbar ul.navbar-compact-nav>li>button{background:none;border:none;color:#8993a4;display:block;padding-bottom:13px;padding-top:13px;text-align:center;width:100%}.navbar ul.navbar-compact-nav>li>a.active,.navbar ul.navbar-compact-nav>li>a:focus,.navbar ul.navbar-compact-nav>li>a:hover,.navbar ul.navbar-compact-nav>li>button.active,.navbar ul.navbar-compact-nav>li>button:focus,.navbar ul.navbar-compact-nav>li>button:hover{background-color:#dfe1e6;color:#6b778c}.navbar ul.navbar-compact-nav>li>a>img,.navbar ul.navbar-compact-nav>li>button>img{height:24px;width:24px}.navbar ul.navbar-compact-nav>li>button{display:inline-block}.navbar ul.navbar-compact-nav>li>a>.material-icon{font-size:24px;line-height:24px}@media (max-width:700px){.navbar.navbar-misago{min-height:auto}}.navbar-misago .navbar-desktop-nav{display:none}@media (min-width:700px){.navbar-misago ul.navbar-compact-nav{display:none}.navbar-misago .navbar-desktop-nav{display:block}}.nav-side>a>.material-icon{bottom:1px;font-size:24px;height:24px;line-height:24px;margin:-5px 10px -5px -5px;position:relative;width:24px}.nav-side>a .badge{position:relative;top:1px}.nav-pills>li>a{padding:5px 10px}.nav-pills>li>a,.nav-pills>li>a:link,.nav-pills>li>a:visited{background-color:#ebecf0;color:#344563}.nav-pills>li>a:active,.nav-pills>li>a:focus,.nav-pills>li>a:hover{background-color:#dcdee5;color:#344563}.nav-pills>li.active>a,.nav-pills>li.active>a:active,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:link,.nav-pills>li.active>a:visited{background-color:#344563;color:#fff}.breadcrumbs{display:block;margin-bottom:10px;padding:0}.breadcrumbs-item{display:inline-block;list-style:none;margin-bottom:10px;margin-right:15px;padding:0}.breadcrumbs-item a{align-items:center;display:flex;text-decoration:none}.breadcrumbs-item a,.breadcrumbs-item a:visited{color:#5e6c84}.breadcrumbs-item a:focus,.breadcrumbs-item a:hover{color:#172b4d}.breadcrumbs-item a:focus .breadcrumbs-item-name,.breadcrumbs-item a:hover .breadcrumbs-item-name{text-decoration:underline}.breadcrumbs-item a:active{color:#172b4d}.breadcrumbs-item .material-icon{margin-right:4px}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icon{word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga";direction:ltr;display:inline-block;font-family:Material Icons;font-style:normal;font-weight:400;height:1em;letter-spacing:normal;line-height:1;text-align:center;text-rendering:optimizeLegibility;text-transform:none;vertical-align:middle;white-space:nowrap;width:1em}.modal-toolbar{background:#ebecf0;border-bottom:1px solid #ced0da;overflow:auto;padding:6px 12px}.modal-toolbar .pull-left{margin-right:8px}.modal-toolbar p{margin-bottom:0;padding:5px 0}@media screen and (max-width:991px){.modal-message{text-align:center}.modal-message .message-icon{margin:30px}.modal-message .message-icon .material-icon{font-size:160px}}@media screen and (min-width:992px){.modal-message .modal-body{padding-bottom:30px;padding-top:20px}.modal-message .message-icon{float:left;left:7px;position:relative}.modal-message .message-icon .material-icon{font-size:50px}.modal-message .message-body{margin-left:75px;margin-top:10px}.modal-message .message-body p{margin-top:20px}.modal-message .message-body .lead{margin-bottom:0;margin-top:0}}.modal-loader{padding:50px 0}.modal-loader .loader{height:80px;text-align:center;width:100%}.modal-loader .loader-spinning-wheel{height:80px;width:80px}.modal-body .form-group{min-height:34px}.list-item-errors{margin-bottom:20px}.list-errored-items li:last-child .list-item-errors{margin-bottom:0}.modal-post-likers .media-list{margin:0}.modal-post-likers .item-title{display:block}.has-feedback .material-icon.form-control-feedback{font-size:1.42857143;line-height:1.42857143;right:24px;top:6px}.well.well-form.well-done{font-size:18px;text-align:center}.well.well-form.well-done .message-icon{font-size:90px;line-height:90px;margin-bottom:10px}.well.well-form.well-done .message-body{margin-bottom:20px}.well.well-form.well-noscript{font-size:18px;text-align:center}.well.well-form.well-noscript .message-icon{font-size:90px;line-height:90px;margin-bottom:10px}.btn.btn-select,.btn.btn-yes-no{background:transparent;border:1px solid #ced0da}.btn.btn-select .material-icon,.btn.btn-yes-no .material-icon{bottom:1px;font-size:20px;height:20px;line-height:20px;margin:-4px 8px -4px 0;position:relative;width:20px}@media screen and (max-width:767px){.btn.btn-yes-no{overflow:auto;width:100%}.btn.btn-yes-no .material-icon{float:left;margin-top:1px}.btn.btn-yes-no .btn-text{display:block;margin-left:30px;text-align:left;white-space:normal}}input.hidden-file-upload{left:-9999px;position:absolute;top:-9999px}.form-search{position:relative}.form-search .form-control{padding-right:30px}.form-search .material-icon{color:#7a869a;font-size:24px;line-height:24px;pointer-events:none;position:absolute;right:5px;top:5px}.btn.btn-loading,.btn.btn-loading:active,.btn.btn-loading:focus,.btn.btn-loading:hover,.btn.btn-loading:link,.btn.btn-loading:visited{color:transparent}.btn.btn-loading .loader,.btn.btn-loading:active .loader,.btn.btn-loading:focus .loader,.btn.btn-loading:hover .loader,.btn.btn-loading:link .loader,.btn.btn-loading:visited .loader{height:20px;margin-top:-20px}.btn.btn-loading .loader>div,.btn.btn-loading:active .loader>div,.btn.btn-loading:focus .loader>div,.btn.btn-loading:hover .loader>div,.btn.btn-loading:link .loader>div,.btn.btn-loading:visited .loader>div{height:20px;width:20px}.btn.btn-loading.btn-default .loader>div{border-bottom-color:#172b4d;border-top-color:#172b4d}.btn.btn-loading.btn-danger .loader>div,.btn.btn-loading.btn-info .loader>div,.btn.btn-loading.btn-primary .loader>div,.btn.btn-loading.btn-success .loader>div,.btn.btn-loading.btn-warning .loader>div{border-bottom-color:#fff;border-top-color:#fff}.btn .material-icon{bottom:1px;margin-right:3px;position:relative}.btn-icon .material-icon{font-size:20px;height:20px;line-height:20px;margin:-1px -4px;width:20px}.btn-icon .btn-text{margin-left:10px}.btn-icon .btn-text-left{margin-right:10px}.btn-block.btn-icon{padding-left:0;padding-right:0}.dropdown-menu>li>.btn-link,.dropdown-menu>li>a,.modal-menu>li>.btn-link,.modal-menu>li>a{border:none;clear:both;color:#172b4d;display:block;float:none;font-weight:400;line-height:1.42857143;padding:6px 20px;text-align:left;white-space:nowrap;width:100%}.dropdown-menu>li>.btn-link:active,.dropdown-menu>li>.btn-link:focus,.dropdown-menu>li>.btn-link:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.modal-menu>li>.btn-link:active,.modal-menu>li>.btn-link:focus,.modal-menu>li>.btn-link:hover,.modal-menu>li>a:active,.modal-menu>li>a:focus,.modal-menu>li>a:hover{background-color:#ebecf0;color:#172b4d;text-decoration:none}.dropdown-menu>li>.btn-link:disabled,.dropdown-menu>li>a:disabled,.modal-menu>li>.btn-link:disabled,.modal-menu>li>a:disabled{color:rgba(23,43,77,.5)}.dropdown-menu>li>.btn-link .material-icon,.dropdown-menu>li>a .material-icon,.modal-menu>li>.btn-link .material-icon,.modal-menu>li>a .material-icon{bottom:1px;font-size:18px;margin:-2px 7px -2px 0;position:relative}.dropdown-menu>li>.btn-link .badge,.dropdown-menu>li>a .badge,.modal-menu>li>.btn-link .badge,.modal-menu>li>a .badge{float:right;position:relative;top:1px}.modal-menu{margin:20px 0;padding:0}.modal-menu>li{list-style:none;margin:6.66666667px 0;padding:0}.dropdown-menu{min-width:210px}.dropdown-menu .dropdown-footer{padding:6px 20px}.dropdown-menu .dropdown-buttons{padding:2px 20px 7px}.dropdown-menu .dropdown-buttons .btn{margin:4px 0}.mobile-dropdown{position:relative}.compact-nav.open>.dropdown-menu,.mobile-dropdown.open>.dropdown-menu{border:none;border-radius:0;display:block;margin:0;width:100%}.user-dropdown .guest-preview{text-align:center}.user-dropdown .guest-preview .row{margin:0}.navbar .user-dropdown{width:240px}.user-dropdown .dropdown-header{font-size:18px;padding:6px 20px}.user-dropdown .dropdown-header strong{font-weight:400}@media screen and (min-width:992px){.category-picker .dropdown-menu{width:300px}}.category-picker .dropdown-menu>li>.btn-link{word-wrap:break-word;white-space:normal}@media screen and (max-width:767px){.dropdown-menu.stick-to-bottom{border:none;border-radius:0;bottom:0;-webkit-box-shadow:0 0 30px #7a869a;box-shadow:0 0 30px #7a869a;clear:both;margin:0;max-height:300px;overflow-y:auto;padding:0 0 20px;position:fixed;top:auto;width:100%}.dropdown-menu.stick-to-bottom li{clear:both;float:none;margin:0}.dropdown-menu.stick-to-bottom li>.btn,.dropdown-menu.stick-to-bottom li>a{border-bottom:1px solid #ebecf0;padding-bottom:15px;padding-top:15px}}.category-label{border-radius:.25em;padding:.2em .6em .3em}.category-label-color,.category-label-color:active,.category-label-color:focus,.category-label-color:hover,.category-label-color:link,.category-label-color:visited{color:#fff}.category-label-no-color,.category-label-no-color:active,.category-label-no-color:focus,.category-label-no-color:hover,.category-label-no-color:link,.category-label-no-color:visited{background-color:#ebecf0;color:#344563}.thread-flags{margin:0;opacity:.8;padding:0}.thread-flags,.thread-flags li{align-items:center;display:flex}.thread-flags li{border-radius:3px;cursor:default;height:20px;justify-content:center;list-style-type:none;width:20px}.thread-flags li+li{margin-left:7.5px}.thread-flags .material-icon{font-size:16px;line-height:16px}.thread-flag-pinned-globally{background:#dbeafe;color:#2563eb}.thread-flag-pinned-locally{background:#dbeafe;color:#3b82f6}.thread-flag-answered{background:#d9f99d;color:#4d7c0f}.thread-flag-poll{background:#f5d0fe;color:#c026d3}.thread-flag-unapproved{background:#dc2626;color:#fff}.thread-flag-closed{background:#fecaca;color:#dc2626}.thread-flag-hidden{background:#64748b;color:#fff}.threads-replies{align-items:center;color:#5e6c84;display:flex;font-size:16px;font-weight:700}.threads-replies .material-icon{margin-right:7.5px;transform:matrix(-1,0,0,1,0,0)}.thread-user-card{align-items:center;display:flex}.thread-user-card-media{flex:0;margin-right:15px}.thread-user-card-media img{border-radius:3px}.thread-user-card-body{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-misago .dropdown-menu.dropdown-search-results{left:auto;margin:0;padding-top:0;right:0;width:400px}.dropdown-search-results .form-group{margin:0;padding:12px}li.dropdown-search-message{text-align:center}.dropdown-search-thread{width:100%}.dropdown-search-thread h5{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-thread small{display:block;margin:4px 0 0}.page-header{margin:10px 0 0}.page-header-banner-bg-overlay{padding:20px 0}.page-header h1{margin:0;overflow-wrap:break-word}.page-container{padding-top:20px}@media screen and (max-width:991px){.panel-message-body{text-align:center}.panel-message-body .message-icon{margin:30px}.panel-message-body .message-icon .material-icon{font-size:160px}}@media screen and (min-width:992px){.panel-message-body{padding:20px 20px 30px}.panel-message-body .message-icon{float:left}.panel-message-body .message-icon .material-icon{font-size:50px}.panel-message-body .message-body{margin-left:65px;margin-top:10px}.panel-message-body .message-body .lead{margin-bottom:0}.panel-message-body .message-body .help-block{margin-top:13.2px}}.panel-body-loading{padding:0;text-align:center}.misago-footer{margin-bottom:50px;margin-top:30px}.misago-footer .footer-content{padding-top:30px}.misago-footer .noscript-message .material-icon{bottom:1px;font-size:18px;position:relative}.ui-preview{-webkit-animation:ui-preview-animation 1s linear infinite;-o-animation:ui-preview-animation 1s linear infinite;animation:ui-preview-animation 1s linear infinite;color:#ebecf0}@keyframes ui-preview-animation{0%{filter:alpha(opacity=100);opacity:1}50%{filter:alpha(opacity=10);opacity:.1}to{filter:alpha(opacity=100);opacity:1}}.ui-preview-text{background:#ebecf0;border-radius:100px;display:inline-block;height:14px;position:relative;top:3px}.ui-preview-paragraph .ui-preview-text{margin-right:6px}.ui-preview-paragraph .ui-preview-text:last-child{margin-right:0}.ui-preview-img{background:#ebecf0;border-radius:5px}.pager-undercontent{margin-top:-20px}.pager-more{text-align:center}@media screen and (min-width:992px){.pager-more .btn{padding-left:20px;padding-right:20px}}.misago-pagination{display:flex}.misago-pagination .btn{display:block;width:100%}.misago-pagination .btn+.btn{margin-left:30px}@media screen and (max-width:767px){.toolbar-item .misago-pagination{flex:1}}.panel-poll h2{margin-top:0}.poll-select-choice .btn,.poll-select-choice .btn:active,.poll-select-choice .btn:focus,.poll-select-choice .btn:hover{background:transparent;border:transparent;-webkit-box-shadow:none;box-shadow:none;margin:6px 0;outline:none;padding:0 0 0 6px;text-align:left}.poll-select-choice .btn .material-icon{line-heigh:28px;color:#ced0da;font-size:28px;height:28px;margin-right:6px;width:28px}.poll-select-choice .btn.btn-selected .material-icon{color:#0052cc}.poll-help{font-size:12px}.poll-chart-selected .material-icon{line-heigh:14px;bottom:1px;color:#36b37e;font-size:14px;height:14px;margin-right:4px;position:relative;width:14px}.poll-options{margin-bottom:0}@media screen and (max-width:767px){.poll-options{margin-top:-6px}.poll-options .btn{margin:6px 0}}.user-status.user-banned .status-icon{color:#ff5630}.user-status.user-online .status-icon{color:#36b37e}.user-status.user-offline .status-icon{color:#7a869a}@media screen and (min-width:768px){.user-card{text-align:center}}.user-card-small-avatar img{height:auto;width:100%}@media screen and (min-width:768px){.user-card-small-avatar{display:none}}@media screen and (max-width:767px){.user-card-avatar{display:none}}.toolbar{display:block;margin:0 -15px}.toolbar-section{display:flex;flex:1;justify-items:center;margin-bottom:20px}.toolbar-item{flex:1;padding:0 15px}.toolbar-item h3,.toolbar-item p{margin:0}.toolbar-item-shrink{flex:0}.toolbar-spacer{display:none}@media screen and (min-width:768px){.toolbar{display:flex}.toolbar-item,.toolbar-section{align-items:center;flex:0}.toolbar-section.toolbar-section-auto,.toolbar-section.toolbar-section-auto .toolbar-item{flex:1}.toolbar-spacer{display:block;flex:1}.toolbar-item .form-search{width:250px}}@media screen and (max-width:767px){.toolbar-item p{text-align:center}}abbr{border:none!important}.item-title{text-decoration:none}.item-title,a.item-title:active,a.item-title:hover,a.item-title:link,a.item-title:visited{color:#172b4d;font-weight:700}a.item-title:hover{text-decoration:underline}.message-line{text-align:center}.message-line .material-icon{font-size:20px;height:20px;line-height:20px;margin-right:6.66666667px;width:20px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.misago-markup h1,.misago-markup h2,.misago-markup h3,.misago-markup h4,.misago-markup h5,.misago-markup h6,.misago-markup p{word-wrap:break-word}.misago-markup h1,.misago-markup h2,.misago-markup h3,.misago-markup h4,.misago-markup h5,.misago-markup h6{margin-top:40px}.misago-markup blockquote>*,.misago-markup>*{margin:20px 0}.misago-markup blockquote>:first-child,.misago-markup>:first-child{margin-top:0}.misago-markup blockquote>:last-child,.misago-markup>:last-child{margin-bottom:0}.misago-markup img{max-height:500px;max-width:100%}.misago-markup .quote-block,.misago-markup blockquote{background:#ebecf0;border:none;font-size:14px}.misago-markup .quote-block .quote-heading,.misago-markup blockquote .quote-heading{border-bottom:1px solid #d4d6df;font-size:12px;font-weight:700;padding:10px 20px}.misago-markup>.quote-block,.misago-markup>blockquote{border:1px solid #d4d6df}.misago-markup .quote-body{background:#fff;margin:0;padding:20px}.misago-markup .quote-body>.quote-block,.misago-markup .quote-body>blockquote{border:1px solid #d4d6df}.misago-markup .spoiler-block{background:#ebecf0;font-size:14px}.misago-markup>.spoiler-block{border:1px solid #d4d6df;position:relative}.misago-markup .spoiler-body{background:#fff;margin:0;padding:20px}.misago-markup .spoiler-overlay{background:#fff}.misago-markup .spoiler-block.revealed .spoiler-overlay{display:none}.misago-markup ul,.misago-markup ul li{list-style-type:square}.misago-markup ol,.misago-markup ol li{list-style-type:decimal}.misago-markup pre{background:#eee;border:none;color:#000;overflow:hidden;padding:10px}.misago-markup pre code.hljs{margin:-10px;padding:9.5px}.modal-change-avatar .modal-avatar-index .avatar-preview{border-radius:6px;height:200px;margin:0 auto;overflow:hidden;position:relative;width:200px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{display:none;height:100px;position:absolute;top:50px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{border-color:#fff transparent;border-width:10px;height:100px;width:100px}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img{filter:alpha(opacity=33);opacity:.33}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader{display:block}@media (max-width:699px){.modal-change-avatar .modal-avatar-index .avatar-preview{height:150px;margin-bottom:20px;width:150px}.modal-change-avatar .modal-avatar-index .avatar-preview img{height:150px;width:150px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{height:100px;top:25px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{height:100px;width:100px}}.modal-change-avatar .modal-avatar-index .btn{text-align:left}.modal-change-avatar .modal-avatar-upload{text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file{background:transparent;border:2px solid #ebecf0;border-radius:6px;-webkit-box-shadow:none;box-shadow:none;color:#7a869a;font-size:18px;padding:10px 24px;text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file>.material-icon{display:block;font-size:50px;height:50px;margin:0 auto 13.2px;width:50px}.modal-change-avatar .modal-avatar-upload .btn-pick-file:active,.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover{border-color:#0052cc;color:#0052cc}.modal-change-avatar .modal-avatar-upload .text-muted{margin-top:13.2px}.modal-change-avatar .modal-avatar-upload .upload-progress img{border-radius:4px;margin-bottom:20px;max-height:80px;width:auto}.modal-change-avatar .modal-avatar-upload .upload-progress .progress{margin:0 auto;width:70%}.modal-avatar-crop .crop-form{margin:0 auto}.modal-avatar-crop .crop-form .cropit-image-zoom-input{-webkit-appearance:none;border:1px solid #fff;margin-top:10px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track{background:#ebecf0;border:none;border-radius:3px;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb{-webkit-appearance:none;background:#7a869a;border:none;border-radius:50%;height:20px;margin-top:-6px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus{outline:none}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track{background:#ebecf0}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track{background:#ebecf0;border:none;border-radius:4px;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb{background:#7a869a;border:none;border-radius:50%;height:20px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track{background:transparent;border-color:transparent;border-width:8px 0;color:transparent;height:8px;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower,.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper{background:#ebecf0;border-radius:16px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb{background:#7a869a;border:none;border-radius:50%;height:20px;width:20px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower,.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper{background:#ebecf0}.modal-change-avatar .modal-avatar-gallery{padding-bottom:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery{margin-bottom:20px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3{margin-top:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row{margin-bottom:10px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn{background:none;border:2px solid #ebecf0;border-radius:6px;padding:2px;position:relative}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover{border-color:#7a869a}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active{border-color:#0065ff}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img{border-radius:4px;height:auto;width:100%}.category-main .read-status .material-icon{color:#ebecf0}.category-main .read-status.item-new .material-icon{color:#0052cc}.category-last-thread .media-heading a{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;width:290px}@media screen and (max-width:991px){.category-last-thread .media-heading a{width:275px}}@media screen and (max-width:767px){.category-last-thread .media-heading a{width:260px}}.category-thread-message .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.category-thread-message p{margin:0}.list-inline.subcategories-list{margin-top:-10px;overflow:auto}.list-inline.subcategories-list li{display:block;float:left}.list-inline.subcategories-list li a,.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:focus,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li a:link,.list-inline.subcategories-list li a:visited{background-color:#ebecf0;border:1px solid #dcdee5;border-radius:4px;color:#5e6c84;display:inline-block;margin-top:10px;padding:6px 12px}.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li:focus{background-color:#dcdee5;color:#172b4d;text-decoration:none}.row.subcategories-list .btn{margin-top:20px;text-align:left}#posting-placeholder{background-color:#ebecf0;display:none;margin-bottom:-30px;margin-top:30px;padding:20px 0;transition:height .3s}#posting-placeholder.slide-in{display:block}#posting-placeholder .first-row{margin-bottom:20px}#posting-placeholder .first-row .form-control{border:1px solid #bfc2cf}#posting-placeholder .first-row .posting-options .btn{padding-bottom:4px;padding-top:4px}#posting-placeholder .first-row .posting-options .btn .btn-text{margin-left:5px;position:relative;top:1px}#posting-placeholder .first-row .posting-options .material-icon{font-size:14px;height:24px;line-height:14px;margin-right:0;position:relative;text-align:center;top:5px;width:14px}.posting-ui-preview{padding:20px 0;position:relative}.posting-ui-preview .form-control{box-shadow:none;resize:none}.posting-loader{text-align:center}.posting-loader .loader{height:100px}.posting-loader .loader .loader-spinning-wheel{height:100px;width:100px}.posting-message{text-align:center}.posting-message .material-icon{font-size:28px;height:28px;line-height:28px;margin-right:6.66666667px;position:relative;top:-1px;width:28px}.posting-message .message-body p{font-size:18px}.editor-border{background-color:#fff;border:1px solid #bfc2cf;border-radius:4px}.editor-border .form-control{border:none;resize:none}.editor-border .form-control,.editor-border .form-control:active,.editor-border .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.editor-footer{border-top:1px solid #bfc2cf;overflow:auto;padding:6px 12px}.editor-footer .pull-left{margin-right:12px}.editor-footer .pull-right{margin-left:12px}.editor-footer .btn-icon .material-icon{margin-bottom:-2px}@media screen and (max-width:991px){.editor-footer .buttons-list{float:none!important;margin:0 0 10px}.editor-footer .buttons-list .btn{display:inline-block;float:none!important;margin:6.66666667px}.editor-footer .btn-protect .btn-text{margin-left:10px}.editor-footer .btn-protect .material-icon{bottom:2px;font-size:14px;height:14px;line-height:14px;position:relative;width:14px}}@media screen and (min-width:768px) and (max-width:991px){.buttons-list .btn:first-child{margin-left:0}}@media screen and (max-width:767px){.buttons-list{text-align:center}.buttons-list .btn-protect{display:block;float:none!important;margin:10px 0 0;width:100%}}.editor-attachments-list{margin:0;padding:0}.editor-attachments-list li{margin:0}.editor-attachment-complete{border-top:1px solid #bfc2cf;padding:6px 12px 6px 0}.editor-attachment-complete .editor-attachment-image{float:left;width:50px}.editor-attachment-complete .editor-attachment-image a{background-position:50%;background-size:cover;border-radius:3px;display:block;height:36px;margin:0 auto;width:36px}.editor-attachment-complete .editor-attachment-icon{float:left;text-align:center;width:50px}.editor-attachment-complete .editor-attachment-icon .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:2px;width:28px}.editor-attachment-complete .editor-attachment-details{margin-left:50px}.editor-attachment-complete .editor-attachment-details h4,.editor-attachment-complete .editor-attachment-details p{font-size:14px;margin:0;padding:0}.editor-attachment-complete .editor-attachment-details p{color:#7a869a;font-size:12px;margin-top:3px}.editor-attachment-complete .editor-attachment-details abbr{white-space:nowrap}@media screen and (min-width:768px){.editor-attachment-actions{padding-top:3px}}@media screen and (max-width:767px){.editor-attachment-actions{padding-left:12px;padding-right:12px}}.editor-attachment-error{border-top:1px solid #bfc2cf;padding:6px 12px 6px 0}.editor-attachment-error-icon{float:left;text-align:center;width:50px}.editor-attachment-error-icon .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:2px;width:28px}.editor-attachment-error-message{margin-left:50px;padding:6px 0;position:relative}.editor-attachment-error-message h4,.editor-attachment-error-message p{font-size:14px;margin:0;padding:0}.editor-attachment-error-message p{font-size:12px;margin-top:3px}.editor-attachment-error-message .btn{position:absolute;right:12px;top:9px}@media screen and (max-width:767px){.editor-attachment-error-message .btn{display:block;margin-top:10px;position:static}}.editor-attachment-progress-bar{background:#bfc2cf;overflow:auto}.editor-attachment-progress{background:#0052cc;float:left;height:1px}.editor-attachment-upload-message{margin:0;padding:6px 12px}#editor-upload-field{left:-1000px;position:absolute;top:-1000px}.atwho-view ul li img{border-radius:3px;height:20px;margin-right:4.66666667px;width:20px}.participant-card .btn-user,.participant-card .dropdown.open .btn-user{margin-bottom:20px}.participant-card .btn-user,.participant-card .btn-user:focus,.participant-card .btn-user:focus:active,.participant-card .btn-user:hover,.participant-card .dropdown.open .btn-user,.participant-card .dropdown.open .btn-user:focus,.participant-card .dropdown.open .btn-user:focus:active,.participant-card .dropdown.open .btn-user:hover{overflow:hidden;padding:0;text-align:left}.participant-card .btn-user img,.participant-card .dropdown.open .btn-user img{background-color:#fff;height:34px;margin-right:8px;width:34px}.panel-participants p{margin:7px 0 0}.poll-choices-control .list-group-item{padding:0}.poll-choices-control .list-group-item .btn{background:transparent;border:transparent;float:left;height:28px;margin:0 2px -29px;padding:0;position:relative;top:3px;width:28px}.poll-choices-control .list-group-item .btn .material-icon{font-size:28px;height:28px;line-height:28px;width:28px}.poll-choices-control input,.poll-choices-control input:active,.poll-choices-control input:focus{background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;margin-left:30px;outline:none;padding:6px 12px;width:100%}.posts-list{clear:both;margin:0;padding:0}.posts-list li{list-style:none;margin:0;padding:0}.post-side{font-size:12px}.post-side .media{margin:0}.post-side .poster-avatar{height:36px;width:36px}@media screen and (min-width:992px){.post-side .poster-avatar{height:82px;margin-top:4px;width:82px}}.post-side .user-status{margin-right:4px}.post-side .media-heading{display:block;font-size:14px;margin:-1px 0 0}.post-side .media-heading .user-status{margin-left:2px;margin-right:0}.post-side .pull-right{margin-left:16px}@media screen and (min-width:992px){.post-side .media-heading{font-size:18px;margin-top:3px}.post-side .media-heading .user-status{display:none}.post-side .user-title{margin-bottom:5px;margin-top:4px}.post-side .user-postcount,.post-side .user-status{display:block}}.post-heading{height:36px}@media screen and (max-width:991px){.post-heading{margin-top:10px}}.post-heading .pull-right{margin-left:16px}.post-heading .label{font-size:14px;font-weight:400;margin-top:6px}.post-heading .label-unread{background-color:#36b37e;color:#fff}@media screen and (min-width:992px){.post-side .pull-right{display:none}}@media screen and (max-width:991px){.post-heading .pull-right{display:none}}.post-body{padding-bottom:30px;padding-top:20px}.post-status-message{overflow:auto}.post-status-message .material-icon{float:left;font-size:28px;line-height:28px}.post-status-message p{margin:4px 0 0 36px}.post-status-best-answer{background-color:#36b37e;color:#fff}.post-status-hidden{background-color:#ff5630;color:#fff}.post-status-unapproved{background-color:#0052cc;color:#fff}.post-status-protected{background-color:#5e6c84;color:#fff}.post-footer .pull-left{margin-right:16px}.post-footer .pull-right{margin-left:16px}.post-footer p{margin-bottom:0;padding-bottom:6px;padding-top:7px}.post-attachments{border-top:1px solid #ebecf0;padding:6px 16px}.post-attachments abbr{white-space:nowrap}.post-attachments .attachment-name{word-wrap:break-word}.post-attachments .row>div{margin:10px 0}.post-attachments .post-attachment-preview{float:left;height:40px;text-align:center;width:40px}.post-attachments .post-attachment{margin-left:52px}.post-attachments .post-thumbnail{background-position:50%;background-size:cover;border-radius:3px;display:block;height:40px;width:40px}.post-attachments .material-icon{font-size:28px;height:28px;line-height:28px;position:relative;top:5px;width:28px}.post-attachments .material-icon:active,.post-attachments .material-icon:focus,.post-attachments .material-icon:hover,.post-attachments .material-icon:link,.post-attachments .material-icon:visited{color:#172b4d;text-decoration:none}.post-attachments .post-attachment-description{color:#7a869a;font-size:12px;margin:0;padding:0}.post-feed .post-side .media-heading{font-size:14px;margin:0}.post-feed .post-side .user-title{font-size:12px;margin:0}.post-feed .post-side .btn{display:inline-block}.post-feed .post-side img{height:36px;margin-top:0;width:36px}.post-feed .post-heading{height:auto;margin:10px 0}.post-feed .post-heading .btn{word-wrap:break-word;margin-right:16px;max-width:100%;text-align:left;white-space:normal}.posts-list .event{color:#7a869a;margin-bottom:20px}.posts-list .event .media{margin-top:5px}.posts-list .event-label .label-unread{background-color:#36b37e;color:#fff}.posts-list .event .text-right{padding-right:0;text-align:right}.posts-list .event .text-right .material-icon{font-size:28px;height:28px;line-height:28px;margin-right:-12px;text-align:center;width:28px}.posts-list .event .text-left{padding-left:24px}.posts-list .event .event-message{font-size:18px;margin-bottom:5px}.posts-list .event .event-info{font-size:12px;margin:0}.posts-list .event .event-info li{margin-right:12px}.posts-list .event .event-info li:last-child{margin-right:0}.posts-list .event .event-controls .btn-link{border:0;font-size:12px;margin:0 12px 0 0;padding:0}.posts-list .event .event-controls .btn-link:last-child{margin-right:0}@media screen and (max-width:767px){.posts-list .event .text-right{text-align:right;width:28px}.posts-list .event .text-left:first-child{padding-left:0}.posts-list .event .event-info{margin-top:5px}.posts-list .event .event-controls{clear:both;margin-top:5px}.posts-list .event .event-controls .btn-link{font-size:14px;margin-right:20px}.posts-list .event .event-controls .btn-link:last-child{margin-right:0}}.post-changelog-diff{margin:0;padding:0}.post-changelog-diff .list-unstyled{margin:5px 0;padding:0}.post-changelog-diff .diff-item{padding:5px 10px}.post-changelog-diff .diff-item-sub{color:#ff5630}.post-changelog-diff .diff-item-add{color:#36b37e}.post-changelog-toolbar .row{margin-left:-12px;margin-right:-12px}@media screen and (max-width:767px){.page-error .message-panel,.page-message .message-panel,.post-changelog-toolbar .post-change-label{text-align:center}.page-error .message-icon,.page-message .message-icon{font-size:80px;margin:30px}}@media screen and (min-width:768px){.page-error .message-panel,.page-message .message-panel{margin:60px auto;max-width:779.35px;overflow:auto}.page-error .message-icon,.page-message .message-icon{float:left}.page-error .message-icon .material-icon,.page-message .message-icon .material-icon{font-size:80px}.page-error .message-body,.page-message .message-body{font-size:18px;margin-left:100px;margin-top:16px}.page-error .message-body p.lead,.page-message .message-body p.lead{font-size:36px}}.threads-list{margin-bottom:20px}.threads-list-item{align-items:center;display:flex}.threads-list-item img{height:32px;width:32px}.threads-list-item-top-row{flex:1}.threads-list-item-bottom-row,.threads-list-item-top-row{align-items:center;display:flex;justify-content:center}.threads-list-item-col-icon{padding-right:15px}.threads-list-icon{align-items:center;border-radius:3px;display:flex;font-size:16px;height:32px;justify-content:center;line-height:16px;width:32px}.threads-list-icon:active,.threads-list-icon:focus,.threads-list-icon:hover,.threads-list-icon:link,.threads-list-icon:visited{background-color:#ebecf0;color:#7a869a;text-decoration:none}.threads-list-icon-new:active,.threads-list-icon-new:focus,.threads-list-icon-new:hover,.threads-list-icon-new:link,.threads-list-icon-new:visited{background-color:#0052cc;color:#fff}.threads-list-item-col-title{flex:1}a.threads-list-item-title:active,a.threads-list-item-title:focus,a.threads-list-item-title:hover,a.threads-list-item-title:link,a.threads-list-item-title:visited{color:#172b4d;font-size:16px;overflow-wrap:break-word}a.threads-list-item-title-sm{font-size:18px}a.threads-list-item-title-sm:active,a.threads-list-item-title-sm:focus,a.threads-list-item-title-sm:hover,a.threads-list-item-title-sm:link,a.threads-list-item-title-sm:visited{color:#5e6c84;overflow-wrap:break-word}a.threads-list-item-title-new:active,a.threads-list-item-title-new:focus,a.threads-list-item-title-new:hover,a.threads-list-item-title-new:link,a.threads-list-item-title-new:visited{color:#172b4d}.threads-list-item-col-flags{padding-left:15px}.threads-list-item{opacity:.8}.threads-list-item:focus .thread-flags,.threads-list-item:hover .thread-flags{opacity:1}.threads-list-item-col-category{padding-left:15px;white-space:nowrap}.threads-list-category-label{border-radius:3px;font-size:12px;font-weight:700;padding:3px 6px}.threads-list-category-label,.threads-list-category-label:active,.threads-list-category-label:focus,.threads-list-category-label:hover,.threads-list-category-label:link,.threads-list-category-label:visited{background:#ebecf0;color:#344563;text-decoration:none}.threads-list-category-label.threads-list-category-label-color,.threads-list-category-label.threads-list-category-label-color:active,.threads-list-category-label.threads-list-category-label-color:focus,.threads-list-category-label.threads-list-category-label-color:hover,.threads-list-category-label.threads-list-category-label-color:link,.threads-list-category-label.threads-list-category-label-color:visited{background:var(--label-color);color:#fff}.threads-list-item-parent-category{border-radius:3px 0 0 3px;margin-right:2px}.threads-list-item-parent-category+.threads-list-category-label{border-radius:0 3px 3px 0}.threads-list-item-col-replies{padding-left:15px;width:80px}.threads-list-item-col-last-poster{padding-left:15px}.threads-list-item-col-last-poster img{border-radius:3px}.threads-list-item-col-last-activity{overflow:hidden;padding-left:15px;text-overflow:ellipsis;white-space:nowrap;width:120px}.threads-list-item-col-last-activity a:active,.threads-list-item-col-last-activity a:focus,.threads-list-item-col-last-activity a:hover,.threads-list-item-col-last-activity a:link,.threads-list-item-col-last-activity a:visited{color:#344563;font-size:16px}.threads-list-item-col-checkbox,.threads-list-item-col-subscription{padding-left:15px}.threads-list-item-col-checkbox-sm,.threads-list-item-title-sm{display:none}@media screen and (max-width:767px){.threads-list{margin-left:-15px;margin-right:-15px}.threads-list .list-group,.threads-list .list-group-item{border-left:0;border-radius:0;border-right:0}.threads-list-item-title{display:none}.threads-list-item-title-sm{display:inline-block}.threads-list-item-col-icon{display:none}}@media screen and (max-width:991px){.threads-list-item{display:block}.threads-list-item img{height:20px;width:20px}.threads-list-item-top-row{align-items:start;margin-bottom:7.5px}.threads-list-item-bottom-row{flex:0;justify-content:end}.threads-list-item-bottom-row>div{padding:0 0 0 15px;width:auto}.threads-list-item-col-checkbox,.threads-list-item-col-subscription{display:none}.threads-list-item-col-checkbox-sm{display:block;padding-left:15px}.threads-list-item-col-checkbox-sm .btn-icon{padding:4px}.threads-list-item-col-checkbox-sm .btn-icon .material-icon{font-size:16px}}.threads-list-item-is-busy .btn-icon{animation:busy .75s linear infinite;opacity:.8}@keyframes busy{50%{opacity:.5}}.threads-list-update-prompt{padding:0}.threads-list-update-prompt-btn{background:#d6e7ff;border:none;border-radius:3px 3px 0 0;color:#003d99;padding:10px 16px}.threads-list-update-prompt-btn:focus,.threads-list-update-prompt-btn:hover{background:#e6f0ff;color:#0052cc}.threads-list-update-prompt-btn:active{background:#b3d1ff;color:#06f}.active-posters li{display:block;overflow:auto}.active-posters .rank-user-avatar{float:left}@media screen and (max-width:991px){.active-posters .rank-user-avatar{height:42px}.active-posters .rank-user-avatar img{height:36px;position:relative;top:3px;width:36px}}.active-posters .rank-user{float:left;margin-top:3px}@media screen and (max-width:991px){.active-posters .rank-user{margin-left:13.2px;width:40%}}@media screen and (max-width:767px){.active-posters .rank-user{float:none;margin-left:50px;width:auto}}@media screen and (min-width:992px){.active-posters .rank-user{margin-left:16px;width:25%}.active-posters .rank-user .user-name{font-size:18px}}.active-posters .user-details{font-family:Sans-Serif;overflow:auto}.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{display:block;float:left;font-size:12px;margin-right:3px}@media screen and (min-width:992px){.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{margin-right:8px}}.active-posters .user-details .user-title{margin-right:0}@media screen and (min-width:992px){.active-posters .user-details{overflow:visible}.active-posters .user-details .rank-name,.active-posters .user-details .user-title{height:14px;overflow:hidden;position:relative;top:1px;vertical-align:baseline}}@media screen and (max-width:767px){.active-posters .user-details{margin-top:3px}.active-posters .user-details .rank-name,.active-posters .user-details .user-title{font-weight:400}}.active-posters .user-status{overflow:auto;position:relative;top:1px}.active-posters .user-status span{display:block;float:left}@media screen and (min-width:992px){.active-posters .user-status{height:14px;overflow:hidden}}.active-posters .user-status .status-icon{position:relative}@media screen and (max-width:991px){.active-posters .user-status .status-icon{font-size:12px;height:12px;line-height:12px;top:0;width:12px}}@media screen and (min-width:992px){.active-posters .user-status .status-icon{font-size:13px;height:13px;line-height:13px;margin-right:3px;top:1px;width:13px}}.active-posters .rank-name .ui-preview-text,.active-posters .status-label.ui-preview-text,.active-posters .user-title .ui-preview-text{font-size:11px;height:11px;line-height:11px;position:relative;top:2px}.active-posters .rank-name .ui-preview-text,.active-posters .user-title .ui-preview-text{position:static}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{display:block}@media screen and (max-width:991px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{overflow:auto}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{float:left;font-size:10.5px}.active-posters .rank-position strong,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total strong{margin-right:3px;min-width:30px;text-align:right}.active-posters .rank-position .ui-preview-text,.active-posters .rank-posts-counted .ui-preview-text,.active-posters .rank-posts-total .ui-preview-text{font-size:8px;height:8px;line-height:8px;position:relative;top:-1px}}@media screen and (min-width:992px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{float:left;font-size:18px;margin-top:3px;text-align:center;width:23%}.active-posters .rank-position small,.active-posters .rank-posts-counted small,.active-posters .rank-posts-total small{font-size:12px;font-weight:400}}.user-compact-stats .rank-position small,.user-compact-stats .rank-position strong,.user-compact-stats .rank-posts-counted small,.user-compact-stats .rank-posts-counted strong{display:inline-block;float:none}.user-compact-stats .rank-position strong,.user-compact-stats .rank-posts-counted strong{min-width:auto}.user-compact-stats .rank-position small,.user-compact-stats .rank-posts-counted small{margin-right:20px}@media screen and (min-width:768px) and (max-width:991px){.active-posters .rank-position{margin-top:6px}.active-posters .rank-posts-total{display:none}}.profile-page-header-avatar{margin:20px 0;text-align:center}.profile-page-header-avatar .user-avatar{border-radius:4px}.profile-data-list{display:block;font-size:12px;margin:0 -12px;padding:0}.profile-data-list li{display:inline-block;list-style:none;padding:5px 12px}.profile-data-list .status-icon{bottom:1px;margin-right:3px;position:relative}.profile-data-list .user-account-disabled{color:#ff5630;font-weight:700}@media screen and (min-width:768px){.profile-page-header{align-items:flex-end;display:flex}.profile-page-header-avatar{margin:0 30px 0 0}}@media screen and (min-width:992px){.profile-page-header-avatar{margin-top:-54px;position:relative;top:54px}.profile-page-header-details{padding-left:158px}.profile-data-list{font-size:14px}.username-history li{display:block;overflow:auto}}.username-history .change-avatar{float:left}.username-history .change-avatar a,.username-history .change-avatar span{margin-right:10px}.username-history .change-avatar a img,.username-history .change-avatar span img{height:42px;width:42px}@media screen and (min-width:992px){.username-history .change-avatar a img,.username-history .change-avatar span img{bottom:1px;height:18px;position:relative;width:18px}.username-history .change-author{float:left;width:30%}}.username-history .change{min-height:20px;overflow:auto}.username-history .change span{display:block;float:left}.username-history .change .material-icon{margin:0 7px;position:relative;top:4px}@media screen and (min-width:992px){.username-history .change{float:left;width:40%}.username-history .change-date{float:left;width:20%}}.search-footer p{color:#5e6c84;font-size:12px;margin-top:20px;text-align:center}@media screen and (min-width:768px){.page-search-form{padding-top:40px}}@media screen and (min-width:992px){.page-search-form{padding-bottom:40px}.page-search-form h1{position:relative;top:5px}.page-search-form .form-group{margin-bottom:0}}.hljs{background:#eee;color:#000;display:block;overflow-x:auto;padding:.5em}.hljs-addition,.hljs-attribute,.hljs-emphasis,.hljs-link{color:#070}.hljs-emphasis{font-style:italic}.hljs-deletion,.hljs-string,.hljs-strong{color:#d14}.hljs-strong{font-weight:700}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-section,.hljs-title{color:#900}.hljs-class .hljs-title,.hljs-type{color:#458}.hljs-template-variable,.hljs-variable{color:#369}.hljs-bullet{color:#970}.hljs-meta{color:#34b}.hljs-code,.hljs-keyword,.hljs-literal,.hljs-number,.hljs-selector-tag{color:#099}.hljs-regexp{background-color:#fff0ff;color:#808}.hljs-symbol{color:#990073}.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-tag{color:#070}.atwho-view{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,.1);color:#000;display:none;left:0;margin-top:18px;min-width:120px;position:absolute;top:0;z-index:11110!important}.atwho-view .atwho-header{border-bottom:1px solid #eaeff1;color:#6f8092;cursor:pointer;font-size:11px;font-weight:700;margin:5px;padding:5px}.atwho-view .atwho-header .small{color:#6f8092;float:right;font-size:12px;font-weight:400;margin-right:-5px;padding-top:2px}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:#36f;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36f}.atwho-view .cur strong{color:#fff;font:700}.atwho-view ul{list-style:none;margin:auto;max-height:200px;overflow-y:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #ddd;cursor:pointer;display:block;padding:5px 10px}.atwho-view small{color:#777;font-size:smaller;font-weight:400}abbr{outline:none;text-decoration:none}.shadow-2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.04),0 3px 1px -2px rgba(0,0,0,.06),0 1px 5px 0 rgba(0,0,0,.12)}.shadow-3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.04),0 3px 3px -2px rgba(0,0,0,.06),0 1px 8px 0 rgba(0,0,0,.12)}.shadow-4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.04),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.04),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.06)}.shadow-8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.04),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.06)}.shadow-16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.04),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.06)}.shadow-24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.04),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.06)}.btn-default,.btn-default.disabled,.btn-default.disabled:active,.btn-default.disabled:hover,.btn-default:disabled,.btn-default:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.disabled,.btn-default.disabled:active,.btn-default.disabled:hover,.btn-default:disabled,.btn-default:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-default:focus,.btn-default:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default:active,.btn-default:active:focus,.dropdown.open .dropdown-toggle .btn-default,.dropdown.open .dropdown-toggle .btn-default:active:focus,.dropdown.open .dropdown-toggle .btn-default:focus,.dropdown.open .dropdown-toggle .btn-default:hover{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-loading,.btn-default.btn-loading:active,.btn-default.btn-loading:active:focus,.btn-default.btn-loading:disabled,.btn-default.btn-loading:disabled:hover,.btn-default.btn-loading:focus,.btn-default.btn-loading:hover{color:transparent}.btn-primary,.btn-primary.disabled,.btn-primary.disabled:active,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.disabled,.btn-primary.disabled:active,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-primary:focus,.btn-primary:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary:active,.btn-primary:active:focus,.dropdown.open .dropdown-toggle .btn-primary,.dropdown.open .dropdown-toggle .btn-primary:active:focus,.dropdown.open .dropdown-toggle .btn-primary:focus,.dropdown.open .dropdown-toggle .btn-primary:hover{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-loading,.btn-primary.btn-loading:active,.btn-primary.btn-loading:active:focus,.btn-primary.btn-loading:disabled,.btn-primary.btn-loading:disabled:hover,.btn-primary.btn-loading:focus,.btn-primary.btn-loading:hover{color:transparent}.btn-success,.btn-success.disabled,.btn-success.disabled:active,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled:hover{background:#00c853;border:1px solid #00c853;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success.disabled,.btn-success.disabled:active,.btn-success.disabled:hover,.btn-success:disabled,.btn-success:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-success:focus,.btn-success:hover{background:#00af48;border:1px solid #00af48;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success:active,.btn-success:active:focus,.dropdown.open .dropdown-toggle .btn-success,.dropdown.open .dropdown-toggle .btn-success:active:focus,.dropdown.open .dropdown-toggle .btn-success:focus,.dropdown.open .dropdown-toggle .btn-success:hover{background:#007c33;border:1px solid #007c33;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-success.btn-loading,.btn-success.btn-loading:active,.btn-success.btn-loading:active:focus,.btn-success.btn-loading:disabled,.btn-success.btn-loading:disabled:hover,.btn-success.btn-loading:focus,.btn-success.btn-loading:hover{color:transparent}.btn-danger,.btn-danger.disabled,.btn-danger.disabled:active,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled:hover{background:#ef5350;border:1px solid #ef5350;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger.disabled,.btn-danger.disabled:active,.btn-danger.disabled:hover,.btn-danger:disabled,.btn-danger:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-danger:focus,.btn-danger:hover{background:#ff8a80;border:1px solid #ff8a80;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger:active,.btn-danger:active:focus,.dropdown.open .dropdown-toggle .btn-danger,.dropdown.open .dropdown-toggle .btn-danger:active:focus,.dropdown.open .dropdown-toggle .btn-danger:focus,.dropdown.open .dropdown-toggle .btn-danger:hover{background:#d32f2f;border:1px solid #d32f2f;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-danger.btn-loading,.btn-danger.btn-loading:active,.btn-danger.btn-loading:active:focus,.btn-danger.btn-loading:disabled,.btn-danger.btn-loading:disabled:hover,.btn-danger.btn-loading:focus,.btn-danger.btn-loading:hover{color:transparent}.btn-default.btn-outline,.btn-default.btn-outline.disabled,.btn-default.btn-outline.disabled:active,.btn-default.btn-outline.disabled:hover,.btn-default.btn-outline:disabled,.btn-default.btn-outline:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline.disabled,.btn-default.btn-outline.disabled:active,.btn-default.btn-outline.disabled:hover,.btn-default.btn-outline:disabled,.btn-default.btn-outline:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-default.btn-outline:focus,.btn-default.btn-outline:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline:active,.btn-default.btn-outline:active:focus,.dropdown.open .btn-default.btn-outline,.dropdown.open .btn-default.btn-outline:active:focus,.dropdown.open .btn-default.btn-outline:focus,.dropdown.open .btn-default.btn-outline:hover{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.btn-default.btn-outline.btn-loading,.btn-default.btn-outline.btn-loading:active,.btn-default.btn-outline.btn-loading:active:focus,.btn-default.btn-outline.btn-loading:disabled,.btn-default.btn-outline.btn-loading:disabled:hover,.btn-default.btn-outline.btn-loading:focus,.btn-default.btn-outline.btn-loading:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.btn-primary.btn-outline,.btn-primary.btn-outline.disabled,.btn-primary.btn-outline.disabled:active,.btn-primary.btn-outline.disabled:hover,.btn-primary.btn-outline:disabled,.btn-primary.btn-outline:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline.disabled,.btn-primary.btn-outline.disabled:active,.btn-primary.btn-outline.disabled:hover,.btn-primary.btn-outline:disabled,.btn-primary.btn-outline:disabled:hover{filter:alpha(opacity=25);opacity:.25}.btn-primary.btn-outline:focus,.btn-primary.btn-outline:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline:active,.btn-primary.btn-outline:active:focus,.dropdown.open .btn-primary.btn-outline,.dropdown.open .btn-primary.btn-outline:active:focus,.dropdown.open .btn-primary.btn-outline:focus,.dropdown.open .btn-primary.btn-outline:hover{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-primary.btn-outline.btn-loading,.btn-primary.btn-outline.btn-loading:active,.btn-primary.btn-outline.btn-loading:active:focus,.btn-primary.btn-outline.btn-loading:disabled,.btn-primary.btn-outline.btn-loading:disabled:hover,.btn-primary.btn-outline.btn-loading:focus,.btn-primary.btn-outline.btn-loading:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.navbar-misago .btn-sign-in{border-radius:4px}.navbar-misago .btn-sign-in,.navbar-misago .btn-sign-in.disabled,.navbar-misago .btn-sign-in.disabled:active,.navbar-misago .btn-sign-in.disabled:hover,.navbar-misago .btn-sign-in:disabled,.navbar-misago .btn-sign-in:disabled:hover{background:transparent;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#8993a4}.navbar-misago .btn-sign-in.disabled,.navbar-misago .btn-sign-in.disabled:active,.navbar-misago .btn-sign-in.disabled:hover,.navbar-misago .btn-sign-in:disabled,.navbar-misago .btn-sign-in:disabled:hover{filter:alpha(opacity=25);opacity:.25}.navbar-misago .btn-sign-in:focus,.navbar-misago .btn-sign-in:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.dropdown.open .navbar-misago .btn-sign-in,.dropdown.open .navbar-misago .btn-sign-in:active:focus,.dropdown.open .navbar-misago .btn-sign-in:focus,.dropdown.open .navbar-misago .btn-sign-in:hover,.navbar-misago .btn-sign-in:active,.navbar-misago .btn-sign-in:active:focus{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.navbar-misago .btn-sign-in.btn-loading,.navbar-misago .btn-sign-in.btn-loading:active,.navbar-misago .btn-sign-in.btn-loading:active:focus,.navbar-misago .btn-sign-in.btn-loading:disabled,.navbar-misago .btn-sign-in.btn-loading:disabled:hover,.navbar-misago .btn-sign-in.btn-loading:focus,.navbar-misago .btn-sign-in.btn-loading:hover{background:transparent;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.navbar-misago .btn-register{border-radius:4px}.navbar-misago .btn-register,.navbar-misago .btn-register.disabled,.navbar-misago .btn-register.disabled:active,.navbar-misago .btn-register.disabled:hover,.navbar-misago .btn-register:disabled,.navbar-misago .btn-register:disabled:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:#fff}.navbar-misago .btn-register.disabled,.navbar-misago .btn-register.disabled:active,.navbar-misago .btn-register.disabled:hover,.navbar-misago .btn-register:disabled,.navbar-misago .btn-register:disabled:hover{filter:alpha(opacity=25);opacity:.25}.navbar-misago .btn-register:focus,.navbar-misago .btn-register:hover{background:#5243aa;border:1px solid #5243aa;-webkit-box-shadow:none;box-shadow:none;color:#fff}.dropdown.open .navbar-misago .btn-register,.dropdown.open .navbar-misago .btn-register:active:focus,.dropdown.open .navbar-misago .btn-register:focus,.dropdown.open .navbar-misago .btn-register:hover,.navbar-misago .btn-register:active,.navbar-misago .btn-register:active:focus{background:#403294;border:1px solid #403294;-webkit-box-shadow:none;box-shadow:none;color:#fff}.navbar-misago .btn-register.btn-loading,.navbar-misago .btn-register.btn-loading:active,.navbar-misago .btn-register.btn-loading:active:focus,.navbar-misago .btn-register.btn-loading:disabled,.navbar-misago .btn-register.btn-loading:disabled:hover,.navbar-misago .btn-register.btn-loading:focus,.navbar-misago .btn-register.btn-loading:hover{background:#6554c0;border:1px solid #6554c0;-webkit-box-shadow:none;box-shadow:none;color:transparent}.btn-social-battlenet,.btn-social-battlenet-oauth2,.btn-social-battlenet-oauth2:disabled,.btn-social-battlenet-oauth2:disabled:hover,.btn-social-battlenet:disabled,.btn-social-battlenet:disabled:hover{color:#0e86ca;font-weight:700}.btn-social-bungie,.btn-social-bungie:disabled,.btn-social-bungie:disabled:hover{color:#0096db;font-weight:700}.btn-social-facebook,.btn-social-facebook-app,.btn-social-facebook-app:disabled,.btn-social-facebook-app:disabled:hover,.btn-social-facebook:disabled,.btn-social-facebook:disabled:hover{color:#3b5998;font-weight:700}.btn-social-github,.btn-social-github-enterprise,.btn-social-github-enterprise-org,.btn-social-github-enterprise-org:disabled,.btn-social-github-enterprise-org:disabled:hover,.btn-social-github-enterprise-team,.btn-social-github-enterprise-team:disabled,.btn-social-github-enterprise-team:disabled:hover,.btn-social-github-enterprise:disabled,.btn-social-github-enterprise:disabled:hover,.btn-social-github-team,.btn-social-github-team:disabled,.btn-social-github-team:disabled:hover,.btn-social-github:disabled,.btn-social-github:disabled:hover{color:#000;font-weight:700}.btn-social-gitlab,.btn-social-gitlab:disabled,.btn-social-gitlab:disabled:hover{color:#fc6d26;font-weight:700}.btn-social-google,.btn-social-google-oauth,.btn-social-google-oauth2,.btn-social-google-oauth2:disabled,.btn-social-google-oauth2:disabled:hover,.btn-social-google-oauth:disabled,.btn-social-google-oauth:disabled:hover,.btn-social-google-openidconnect,.btn-social-google-openidconnect:disabled,.btn-social-google-openidconnect:disabled:hover,.btn-social-google-plus,.btn-social-google-plus:disabled,.btn-social-google-plus:disabled:hover,.btn-social-google:disabled,.btn-social-google:disabled:hover{color:#dd4b39;font-weight:700}.btn-social-linkedin,.btn-social-linkedin:disabled,.btn-social-linkedin:disabled:hover{color:#0077b5;font-weight:700}.btn-social-steam,.btn-social-steam:disabled,.btn-social-steam:disabled:hover{color:#5c7e10;font-weight:700}.btn-social-twitter,.btn-social-twitter:disabled,.btn-social-twitter:disabled:hover{color:#1da1f2;font-weight:700}.form-social-auth .row{margin-bottom:-6px;margin-top:-6px}.form-social-auth .btn{margin:6px 0}input.form-control,textarea.form-control{border-color:#ced0da;box-shadow:inset 0 0 0 1px #ced0da}input.form-control:focus,textarea.form-control:focus{border-color:#66afe9;box-shadow:inset 0 0 0 1px #66afe9}.has-error input.form-control{border-color:#ff5630;box-shadow:inset 0 0 0 1px #ff5630}.has-error input.form-control:focus{border-color:#ffa996;box-shadow:inset 0 0 0 1px #ffa996}.has-success input.form-control{border-color:#36b37e;box-shadow:inset 0 0 0 1px #36b37e}.has-success input.form-control:focus{border-color:#79d6af;box-shadow:inset 0 0 0 1px #79d6af}.password-strength{margin-top:10px}.password-strength .text-small{color:#3462af;font-size:12px;margin-top:4px}.password-strength .progress{margin:0}.auth-message{background:#091e42;box-shadow:0 8px 10px 1px rgba(0,0,0,.04),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.06);padding:80px 0}.auth-message p{color:#fff}.auth-message .btn{background:#f4f5f7;border-color:#f4f5f7;color:#172b4d}.auth-message .btn:focus,.auth-message .btn:hover{background:#dfe1e6;border-color:#dfe1e6;color:#172b4d}.auth-message .btn:active{background:#b3bac5;border-color:#b3bac5;color:#172b4d}.dropdown-menu{border:none;box-shadow:0 4px 5px 0 rgba(0,0,0,.04),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.06)}.user-dropdown .dropdown-header strong{color:#172b4d;display:block;font-weight:700}.user-dropdown .dropdown-header .user-stats{font-size:12px;margin-top:10px}.user-dropdown .dropdown-header .user-stats .material-icon{bottom:1px;font-size:14px;height:14px;margin-right:3px;position:relative;width:14px}.user-dropdown .guest-preview{padding-bottom:10px}.user-dropdown .badge{background-color:#ff5630}.user-dropdown .btn-link:active .badge,.user-dropdown .btn-link:focus .badge,.user-dropdown .btn-link:hover .badge,.user-dropdown a:active .badge,.user-dropdown a:focus .badge,.user-dropdown a:hover .badge{background-color:#fff;color:#ff5630}.mobile-dropdown.open{margin:0}.navbar-misago{border-bottom:none;box-shadow:0 0 3px #c1c7d0}.navbar-misago .user-avatar{background:#fff;border-radius:3px}.navbar-misago .brand-link img{border-radius:3px}.dropdown-search-results{border-radius:0 0 4px 4px}.dropdown-search-message{color:#7a869a}.dropdown-search-loader,.dropdown-search-message{border-top:1px solid #ebecf0;padding:10px 16px}.dropdown-search-header{border-top:1px solid #ebecf0;color:#7a869a;font-weight:700;padding:8px 20px}.dropdown-search-thread small,.dropdown-search-user small{color:#7a869a}.dropdown-search-thread .dropdown-search-post-content{max-height:47px;overflow:hidden;white-space:normal}.dropdown-search-thread .dropdown-search-post-footer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-footer{padding-bottom:5px}.dropdown-search-footer:last-child{padding-bottom:0}.dropdown-menu>li.dropdown-search-footer>a{font-size:small}.misago-footer{margin-top:40px}.misago-footer .footer-content{border-top:1px solid #ebecf0;color:#a5adba;padding-top:20px}@media screen and (max-width:767px){.misago-footer .footer-content{text-align:center}.misago-footer .footer-content .site-footnote{clear:both;margin-bottom:15px}}.misago-footer .footer-content a,.misago-footer .footer-content a:link,.misago-footer .footer-content a:visited{color:#a5adba}.misago-footer .footer-content a:focus,.misago-footer .footer-content a:hover{color:#7a8699}.misago-footer .footer-content .misago-branding,.misago-footer .footer-content .misago-branding:link,.misago-footer .footer-content .misago-branding:visited{color:#a5adba}.misago-footer .footer-content .misago-branding:focus,.misago-footer .footer-content .misago-branding:hover{color:#7a8699}.list-group{border-radius:3px}.list-group .list-group-item{border-left-color:#ebecf0;border-right-color:#ebecf0}.list-group .list-group-item:first-child{border-top-color:#ebecf0}.list-group .list-group-item:last-child{border-bottom-color:#ebecf0}.list-group-item.empty-message{padding-bottom:20px;padding-top:20px;text-align:center}.list-group-item.empty-message p{margin:10px 0}.nav-side{-webkit-box-shadow:none;box-shadow:none}.nav-side>.list-group-item{border-left:none;border-right:none;margin-bottom:1px}.nav-side>.list-group-item:first-child{border-top:none}.nav-side>.list-group-item:last-child{border-bottom:none}.nav-side>.list-group-item,.nav-side>.list-group-item:link,.nav-side>.list-group-item:visited{background:#f4f5f7;border:none;color:#172b4d}.nav-side>.list-group-item:active,.nav-side>.list-group-item:focus,.nav-side>.list-group-item:hover{background:#ebecf0;color:#172b4d}.nav-side>.list-group-item.active,.nav-side>.list-group-item.active:active,.nav-side>.list-group-item.active:focus,.nav-side>.list-group-item.active:hover,.nav-side>.list-group-item.active:link,.nav-side>.list-group-item.active:visited{background:#091e42;color:#fff;font-weight:700}.nav-side>.list-group-item.active .badge,.nav-side>.list-group-item.active:active .badge,.nav-side>.list-group-item.active:focus .badge,.nav-side>.list-group-item.active:hover .badge,.nav-side>.list-group-item.active:link .badge,.nav-side>.list-group-item.active:visited .badge{background:#f4f5f7;color:#172b4d}.username-history .user-avatar{border-radius:4px}.panel{border:none;border-radius:4px}.panel .panel-footer,.panel .panel-heading{background:#fff}.panel .panel-title{color:#5e6c84}.panel .form-group+.form-group{margin-top:20px}.panel .panel-body>.form-group:first-child{margin-top:10px}.panel fieldset{margin-top:20px}.panel fieldset:first-child{margin-top:0}.panel fieldset legend{border:none;color:#5e6c84;font-weight:300}.panel-message-body .message-icon{color:#9575cd}.panel-form{border:1px solid #ebecf0;box-shadow:none}.panel-form .panel-footer,.panel-form .panel-heading{border-color:#ebecf0}.poll-form .panel{margin:0}.help-block,.help-block .text-small{color:#7a869a}.category-main .media-left .read-status{background:#ebecf0;border-radius:4px;padding:5px 8px}.category-main .media-left .material-icon{color:#5e6c84;font-size:14px;height:14px;line-height:14px;width:14px}.category-main .media-left .read-status.item-new{background-color:#0052cc}.category-main .media-left .read-status.item-new .material-icon{color:#fff}@media screen and (min-width:768px){.category-main .media-left{padding:5px 0}}.category-main .media-body{padding-left:12px}@media screen and (max-width:767px){.category-main .media-body{padding-left:3.33333333px}}.list-group-category-no-description .category-main .media-heading{margin-top:10px}@media screen and (max-width:767px){.list-group-category-no-description .category-main .media-heading{margin-top:5px}}.category-main .media-heading a,.category-main .media-heading a:link,.category-main .media-heading a:visited{color:#344563}.category-main .media-heading a:active,.category-main .media-heading a:focus,.category-main .media-heading a:hover{color:#172b4d}.category-stats{color:#5e6c84}.category-main .category-description p{font-size:12px}.category-main .category-description p:last-child{margin-bottom:0}.category-last-thread img{background-color:#fff;border-radius:4px}.category-last-thread .media-heading{margin-bottom:2px}@media screen and (max-width:767px){.category-last-thread .media-heading{margin-top:10px}}.category-last-thread .list-inline{color:#7a869a;font-size:12px}.category-last-thread .list-inline a,.category-last-thread .list-inline a:link,.category-last-thread .list-inline a:visited{color:#7a869a}.category-last-thread .list-inline .item-title,.category-last-thread .list-inline .item-title:link,.category-last-thread .list-inline .item-title:visited,.category-last-thread .list-inline a:active,.category-last-thread .list-inline a:focus,.category-last-thread .list-inline a:hover{color:#344563}.category-last-thread .list-inline .item-title:active,.category-last-thread .list-inline .item-title:focus,.category-last-thread .list-inline .item-title:hover{color:#172b4d}.category-thread-message{color:#7a869a}.category-thread-message .material-icon{margin-right:3px;padding:6px 0}@media screen and (max-width:767px){.category-thread-message{font-size:12px;padding-top:15px}.category-thread-message .material-icon{padding:3px 0}}.panel-participants{border:1px solid #ebecf0}.participant-card .btn-user{border:0!important}.participant-card .dropdown-header-owner{color:#0052cc}.participant-card .dropdown-header-owner .material-icon{font-size:14px;height:14px;line-height:14px;width:14px}.participant-card .dropdown-header-owner .icon-text{margin-left:4px;position:relative;top:2px}.panel-participants p{color:#7a869a}@media screen and (max-width:767px){.panel-participants p{margin-top:10px;text-align:center}}.panel-poll{border:1px solid #ebecf0}.panel-poll .poll-select-choices{margin-top:-10px}.panel-poll .poll-details{color:#7a869a;font-size:12px;margin-bottom:20px}.panel-poll .progress{margin-bottom:5px;margin-top:6.66666667px}.panel-poll .poll-chart{color:#7a869a;font-size:12px}.panel-poll .poll-options{margin-top:20px}#posting-placeholder{background-color:#fafbfc}.posting-message .material-icon{color:#9575cd}.posting-message .btn{margin-top:20px}.panel-post{background:#fff;border:1px solid #ddd}.post-side{color:#7a869a}.post-side .poster-avatar{border-radius:4px}.post-side .user-title,.post-side .user-title a,.post-side .user-title a:active,.post-side .user-title a:focus,.post-side .user-title a:hover,.post-side .user-title a:link,.post-side .user-title a:visited{color:#5e6c84}.post-heading .label-unread{background-color:#a0f;margin-right:16px}.post-heading .label-protected{background-color:transparent;color:#bdbdbd;margin-left:24px;position:relative;top:1px}.post-heading .label-protected .material-icon{font-size:16px;line-height:16px;margin-right:2px;position:relative;top:-1px}.post-heading>.btn-link{padding-left:0;padding-right:0}.post-heading>.btn-link,.post-heading>.btn-link:link,.post-heading>.btn-link:visited{color:#7a869a}.post-heading>.btn-link:active,.post-heading>.btn-link:focus,.post-heading>.btn-link:focus:active,.post-heading>.btn-link:hover{color:#172b4d;text-decoration:none}.post-heading .btn-see-edits{margin-left:24px}.post-status-message{border-radius:4px;margin-top:10px;padding:6px 12px}@media screen and (max-width:767px){.post-status-message{font-size:12px}.post-status-message .material-icon{margin-top:3px}.post-status-message p{margin-top:0}}.post-body:last-child{padding-bottom:10px}.post-attachments{background-color:#ebecf0;border:none;border-radius:4px;margin-bottom:30px}.post-attachments:last-child{margin-bottom:10px}@media screen and (max-width:767px){.post-attachments{border-radius:0;margin:0 -15px 20px}}.post-footer>.btn-link{padding-left:0;padding-right:0}.post-footer>.btn-link,.post-footer>.btn-link:link,.post-footer>.btn-link:visited{color:#7a869a}.post-footer>.btn-link:active,.post-footer>.btn-link:focus,.post-footer>.btn-link:focus:active,.post-footer>.btn-link:hover{color:#172b4d;text-decoration:none}.post-footer p{color:#7a869a;font-size:12px}.post-body-hidden,.post-body-invalid{padding-bottom:10px;padding-top:10px}.post-body-hidden .lead,.post-body-invalid .lead{margin-bottom:10px}.post-body-hidden .text-muted,.post-body-invalid .text-muted{font-size:12px;margin-bottom:0}.post-hidden{filter:alpha(opacity=75);opacity:.75}.post-feed .panel-body{padding-bottom:0}.post-feed .post-body{max-height:300px;overflow-y:hidden;padding-bottom:20px;padding-top:0;position:relative}.post-feed .post-body:after{bottom:0;box-shadow:0 0 16px 16px #fff;color:transparent;content:"-";display:block;height:0;position:absolute;width:100%}.posts-list .event .event-label{margin-bottom:5px}.posts-list .event .label-unread{background-color:#a0f;color:#fff}.posts-list .event-info .btn-link,.posts-list .event-info a,.posts-list .event-info a:link,.posts-list .event-info a:visited{color:#5e6c84}.posts-list .event-info .btn-link:active,.posts-list .event-info .btn-link:focus,.posts-list .event-info .btn-link:focus:active,.posts-list .event-info a:active,.posts-list .event-info a:focus,.posts-list .event-info a:focus:active{color:#172b4d}.posts-list .event-hidden{filter:alpha(opacity=33);opacity:.33}.user-card{background:#f4f5f7}.user-card-avatar img,.user-card-small-avatar img{border-radius:4px}.user-card-avatar{margin:20px 0}.user-card-avatar img{height:150px;width:150px}.user-card-username a,.user-card-username a:active,.user-card-username a:focus,.user-card-username a:hover,.user-card-username a:link,.user-card-username a:visited{color:#172b4d;font-size:18px;font-weight:700}.user-card-title a,.user-card-title a:link,.user-card-title a:visited,.user-card-title span{color:#5e6c84}.user-card-title a:active,.user-card-title a:focus,.user-card-title a:hover{color:#172b4d}@media screen and (min-width:768px){.user-card-stats{margin-top:20px}}.user-card-stats ul{margin:0}.user-card-stats li{color:#7a869a;display:inline-block;font-size:12px;margin-right:12px}@media screen and (min-width:768px){.user-card-stats li{margin:0 6px}}.user-card-stats li.user-stat-empty{display:none}@media screen and (min-width:768px){li.user-stat-divider{display:block;margin:0}}@media screen and (max-width:767px){li.user-stat-divider{display:none}}@media screen and (min-width:768px){.user-card-stats{min-height:60px}}@media screen and (max-width:767px){.user-card-left{padding-right:0}}.progress,.progress .progress-bar{-webkit-box-shadow:none;box-shadow:none;height:8px}.misago-markup img{border-radius:4px}.misago-markup .quote-block,.misago-markup blockquote{background-color:#ffecb3;border-color:#b3e5fc;color:#3e2723;overflow:hidden}.misago-markup .quote-block .quote-heading,.misago-markup blockquote .quote-heading{background-color:#ffe082;border:none;color:#795548}.misago-markup .quote-block .quote-heading a,.misago-markup .quote-block .quote-heading a:link,.misago-markup .quote-block .quote-heading a:visited,.misago-markup blockquote .quote-heading a,.misago-markup blockquote .quote-heading a:link,.misago-markup blockquote .quote-heading a:visited{color:#5d4037}.misago-markup .quote-block .quote-heading a:active,.misago-markup .quote-block .quote-heading a:focus,.misago-markup .quote-block .quote-heading a:hover,.misago-markup blockquote .quote-heading a:active,.misago-markup blockquote .quote-heading a:focus,.misago-markup blockquote .quote-heading a:hover{color:#3e2723}.misago-markup .quote-block hr,.misago-markup blockquote hr{border-color:#ffca28}.misago-markup>.quote-block,.misago-markup>blockquote{background:#ffecb3;border:none;border-radius:4px}.misago-markup .quote-body,.misago-markup>.quote-block .quote-block,.misago-markup>blockquote .quote-block{background:#ffecb3}.misago-markup .quote-body>.quote-block,.misago-markup .quote-body>blockquote{border-color:#ffe082;border-radius:4px}.misago-markup .spoiler-block{background:repeating-linear-gradient(45deg,rgba(235,236,240,.5),rgba(235,236,240,.5) 10px,#fff 0,#fff 20px);border:none}.misago-markup .spoiler-body{background:transparent;color:#172b4d;-webkit-filter:blur(5px);-moz-filter:blur(5px);-o-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px)}.misago-markup .spoiler-block.revealed .spoiler-body{-webkit-filter:none;-moz-filter:none;-o-filter:none;-ms-filter:none;filter:none}.misago-markup .spoiler-overlay{align-items:center;background:hsla(0,0%,100%,.1);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.misago-markup .spoiler-reveal{background-color:#ebecf0;border-color:#ccc;color:#172b4d}.misago-markup .spoiler-reveal.focus,.misago-markup .spoiler-reveal:focus{background-color:#ced0da;border-color:#8c8c8c;color:#172b4d}.misago-markup .spoiler-reveal:hover{background-color:#ced0da;border-color:#adadad;color:#172b4d}.misago-markup .spoiler-reveal.active,.misago-markup .spoiler-reveal:active,.open>.dropdown-toggle.misago-markup .spoiler-reveal{background-color:#ced0da;background-image:none;border-color:#adadad;color:#172b4d}.misago-markup .spoiler-reveal.active.focus,.misago-markup .spoiler-reveal.active:focus,.misago-markup .spoiler-reveal.active:hover,.misago-markup .spoiler-reveal:active.focus,.misago-markup .spoiler-reveal:active:focus,.misago-markup .spoiler-reveal:active:hover,.open>.dropdown-toggle.misago-markup .spoiler-reveal.focus,.open>.dropdown-toggle.misago-markup .spoiler-reveal:focus,.open>.dropdown-toggle.misago-markup .spoiler-reveal:hover{background-color:#b9bdcb;border-color:#8c8c8c;color:#172b4d}.misago-markup .spoiler-reveal.disabled.focus,.misago-markup .spoiler-reveal.disabled:focus,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal[disabled].focus,.misago-markup .spoiler-reveal[disabled]:focus,.misago-markup .spoiler-reveal[disabled]:hover,fieldset[disabled] .misago-markup .spoiler-reveal.focus,fieldset[disabled] .misago-markup .spoiler-reveal:focus,fieldset[disabled] .misago-markup .spoiler-reveal:hover{background-color:#ebecf0;border-color:#ccc}.misago-markup .spoiler-reveal .badge{background-color:#172b4d;color:#ebecf0}.misago-markup .spoiler-reveal,.misago-markup .spoiler-reveal.disabled,.misago-markup .spoiler-reveal.disabled:active,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal:disabled,.misago-markup .spoiler-reveal:disabled:hover{background:#ebecf0;border:1px solid #ebecf0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.misago-markup .spoiler-reveal.disabled,.misago-markup .spoiler-reveal.disabled:active,.misago-markup .spoiler-reveal.disabled:hover,.misago-markup .spoiler-reveal:disabled,.misago-markup .spoiler-reveal:disabled:hover{filter:alpha(opacity=25);opacity:.25}.misago-markup .spoiler-reveal:focus,.misago-markup .spoiler-reveal:hover{background:#dfe1e6;border:1px solid #dfe1e6;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:active:focus,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:focus,.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:hover,.misago-markup .spoiler-reveal:active,.misago-markup .spoiler-reveal:active:focus{background:#c1c7d0;border:1px solid #c1c7d0;-webkit-box-shadow:none;box-shadow:none;color:#172b4d}.misago-markup .spoiler-reveal.btn-loading,.misago-markup .spoiler-reveal.btn-loading:active,.misago-markup .spoiler-reveal.btn-loading:active:focus,.misago-markup .spoiler-reveal.btn-loading:disabled,.misago-markup .spoiler-reveal.btn-loading:disabled:hover,.misago-markup .spoiler-reveal.btn-loading:focus,.misago-markup .spoiler-reveal.btn-loading:hover{color:transparent}.misago-markup .spoiler-reveal,.misago-markup .spoiler-reveal:active,.misago-markup .spoiler-reveal:hover{border-radius:4px;box-shadow:0 0 0 4px #fff;padding:6px 12px}.modal-header{background:#fff;border-bottom-color:#ced0da;border-radius:6px 6px 0 0;color:#172b4d}.modal-header .close{color:#172b4d;font-size:24px;line-height:24px;padding:0 6px;text-shadow:none}.modal-message .message-icon{color:#9575cd}.modal-body>.form-group{margin:20px 0}.modal-body>.form-group:first-child{margin-top:0}.modal-body>.form-group:last-child{margin-bottom:0}.modal-sign-in .modal-body{padding-bottom:0;padding-top:0}.modal-sign-in .modal-body>.form-group{margin:20px 0}.legal-footnote label{font-weight:700}.legal-footnote .help-block{color:#ff5630;margin-left:20px}.modal-avatar-index .avatar-preview{background:#fff;border-radius:6px}.modal-avatar-crop .cropit-preview{background:#fff;margin:20px 0}.modal-avatar-crop .cropit-image-zoom-input{margin-bottom:20px;margin-top:40px}.modal-post-likers .media{border-bottom:1px solid #ebecf0;padding-bottom:15px}.modal-post-likers .media img{border-radius:4px;height:40px;width:40px}.modal-post-likers .media:last-child{border:none;padding-bottom:0}.well{border:1px solid #ddd}.active-posters .rank-user-avatar img{border-radius:4px}.active-posters .user-details{color:#7a869a}.active-posters .user-details a.rank-name,.active-posters .user-details a.rank-name:link,.active-posters .user-details a.rank-name:visited{color:#5e6c84;font-weight:400}.active-posters .user-details a.rank-name:active,.active-posters .user-details a.rank-name:focus,.active-posters .user-details a.rank-name:hover{color:#172b4d}.active-posters .user-details span.rank-name{color:#5e6c84;font-weight:400}.active-posters small{color:#7a869a}.page-error .message-icon{color:#ef5350}.page-message .message-icon,.page-message-info .message-icon{color:#9575cd}.page-message-success .message-icon{color:#81c784}.page-options .message-line,.page-options .message-line a,.page-options .message-line a:link,.page-options .message-line a:visited{color:#7a869a}.page-options .message-line a:active,.page-options .message-line a:focus,.page-options .message-line a:focus:active,.page-options .message-line a:hover{color:#172b4d}.panel-profile-details-group.panel{border:1px solid #ebecf0}.panel-profile-details-group.panel .form-group{margin:0}.panel-profile-details-group .form-control-static p:last-child{margin-bottom:0}.post-primary .panel-post{border-color:#b388ff}.post-primary .user-title,.post-primary .user-title a,.post-primary .user-title a:active,.post-primary .user-title a:focus,.post-primary .user-title a:hover,.post-primary .user-title a:link,.post-primary .user-title a:visited{color:#6200ea}.post-success .panel-post{border-color:#00c853}.post-success .user-title,.post-success .user-title a,.post-success .user-title a:active,.post-success .user-title a:focus,.post-success .user-title a:hover,.post-success .user-title a:link,.post-success .user-title a:visited{color:#388e3c}.post-warning .panel-post{border-color:#ffab40}.post-warning .user-title,.post-warning .user-title a,.post-warning .user-title a:active,.post-warning .user-title a:focus,.post-warning .user-title a:hover,.post-warning .user-title a:link,.post-warning .user-title a:visited{color:#ff6d00}.post-danger .panel-post{border-color:#ff8a80}.post-danger .user-title,.post-danger .user-title a,.post-danger .user-title a:active,.post-danger .user-title a:focus,.post-danger .user-title a:hover,.post-danger .user-title a:link,.post-danger .user-title a:visited{color:#d50000}.user-card-primary .panel-body{background:#fff;border:2px solid #b388ff;border-radius:4px;padding:13px}.user-card-primary .user-card-title,.user-card-primary .user-card-title a.user-title,.user-card-primary .user-card-title a.user-title:active,.user-card-primary .user-card-title a.user-title:focus,.user-card-primary .user-card-title a.user-title:hover,.user-card-primary .user-card-title a.user-title:link,.user-card-primary .user-card-title a.user-title:visited{color:#6200ea}.user-card-primary .user-card-stats li{color:#9575cd}.user-card-success .panel-body{background:#fff;border:2px solid #00c853;border-radius:4px;padding:13px}.user-card-success .user-card-title,.user-card-success .user-card-title a.user-title,.user-card-success .user-card-title a.user-title:active,.user-card-success .user-card-title a.user-title:focus,.user-card-success .user-card-title a.user-title:hover,.user-card-success .user-card-title a.user-title:link,.user-card-success .user-card-title a.user-title:visited{color:#388e3c}.user-card-success .user-card-stats li{color:#66bb6a}.user-card-warning .panel-body{background:#fff;border:2px solid #ffab40;border-radius:4px;padding:13px}.user-card-warning .user-card-title,.user-card-warning .user-card-title a.user-title,.user-card-warning .user-card-title a.user-title:active,.user-card-warning .user-card-title a.user-title:focus,.user-card-warning .user-card-title a.user-title:hover,.user-card-warning .user-card-title a.user-title:link,.user-card-warning .user-card-title a.user-title:visited{color:#ff6d00}.user-card-warning .user-card-stats li{color:#ff6e40}.user-card-danger .panel-body{background:#fff;border:2px solid #ff8a80;border-radius:4px;padding:13px}.user-card-danger .user-card-title,.user-card-danger .user-card-title a.user-title,.user-card-danger .user-card-title a.user-title:active,.user-card-danger .user-card-title a.user-title:focus,.user-card-danger .user-card-title a.user-title:hover,.user-card-danger .user-card-title a.user-title:link,.user-card-danger .user-card-title a.user-title:visited{color:#d50000}.user-card-danger .user-card-stats li{color:#e57373}.list-group .list-group-rank-primary{border-left:4px solid #7e57c2;padding-left:11px}.list-group .list-group-rank-primary a.rank-name,.list-group .list-group-rank-primary a.rank-name:active,.list-group .list-group-rank-primary a.rank-name:focus,.list-group .list-group-rank-primary a.rank-name:hover,.list-group .list-group-rank-primary a.rank-name:link,.list-group .list-group-rank-primary a.rank-name:visited,.list-group .list-group-rank-primary span.rank-name{color:#6200ea}.list-group .list-group-rank-success{border-left:4px solid #9ccc65;padding-left:11px}.list-group .list-group-rank-success a.rank-name,.list-group .list-group-rank-success a.rank-name:active,.list-group .list-group-rank-success a.rank-name:focus,.list-group .list-group-rank-success a.rank-name:hover,.list-group .list-group-rank-success a.rank-name:link,.list-group .list-group-rank-success a.rank-name:visited,.list-group .list-group-rank-success span.rank-name{color:#388e3c}.list-group .list-group-rank-warning{border-left:4px solid #ff7043;padding-left:11px}.list-group .list-group-rank-warning a.rank-name,.list-group .list-group-rank-warning a.rank-name:active,.list-group .list-group-rank-warning a.rank-name:focus,.list-group .list-group-rank-warning a.rank-name:hover,.list-group .list-group-rank-warning a.rank-name:link,.list-group .list-group-rank-warning a.rank-name:visited,.list-group .list-group-rank-warning span.rank-name{color:#ff6d00}.list-group .list-group-rank-danger{border-left:4px solid #f44336;padding-left:11px}.list-group .list-group-rank-danger a.rank-name,.list-group .list-group-rank-danger a.rank-name:active,.list-group .list-group-rank-danger a.rank-name:focus,.list-group .list-group-rank-danger a.rank-name:hover,.list-group .list-group-rank-danger a.rank-name:link,.list-group .list-group-rank-danger a.rank-name:visited,.list-group .list-group-rank-danger span.rank-name{color:#d50000}.page-header-rank-primary .user-rank,.page-header-rank-primary .user-rank a,.page-header-rank-primary .user-rank a:active,.page-header-rank-primary .user-rank a:focus,.page-header-rank-primary .user-rank a:hover,.page-header-rank-primary .user-rank a:link,.page-header-rank-primary .user-rank a:visited{color:#6200ea}.page-header-rank-success .user-rank,.page-header-rank-success .user-rank a,.page-header-rank-success .user-rank a:active,.page-header-rank-success .user-rank a:focus,.page-header-rank-success .user-rank a:hover,.page-header-rank-success .user-rank a:link,.page-header-rank-success .user-rank a:visited{color:#388e3c}.page-header-rank-warning .user-rank,.page-header-rank-warning .user-rank a,.page-header-rank-warning .user-rank a:active,.page-header-rank-warning .user-rank a:focus,.page-header-rank-warning .user-rank a:hover,.page-header-rank-warning .user-rank a:link,.page-header-rank-warning .user-rank a:visited{color:#ff6d00}.page-header-rank-danger .user-rank,.page-header-rank-danger .user-rank a,.page-header-rank-danger .user-rank a:active,.page-header-rank-danger .user-rank a:focus,.page-header-rank-danger .user-rank a:hover,.page-header-rank-danger .user-rank a:link,.page-header-rank-danger .user-rank a:visited{color:#d50000}
 /*# sourceMappingURL=misago.css.map*/

+ 1 - 1
misago/static/misago/css/misago.css.map

@@ -1 +1 @@
-{"version":3,"file":"../css/misago.css","mappings":"AAAA,2EAA2E,CCU3E,KAEE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDNF,CCeA,KACE,QDbF,CC0BA,2FAaE,aDxBF,CCgCA,4BAIE,oBAAqB,CACrB,uBD9BF,CCsCA,sBACE,YAAa,CACb,QDpCF,CC4CA,kBAEE,YD1CF,CCoDA,EACE,4BDlDF,CC0DA,iBAEE,SDxDF,CCmEA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCDjEF,CCwEA,SAEE,eDtEF,CC6EA,IACE,iBD3EF,CCmFA,GACE,aAAc,CACd,cDjFF,CCwFA,KACE,eAAgB,CAChB,UDtFF,CC6FA,MACE,aD3FF,CCkGA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDhGF,CCmGA,IACE,SDjGF,CCoGA,IACE,aDlGF,CC4GA,IACE,QD1GF,CCiHA,eACE,eD/GF,CCyHA,OACE,eDvHF,CC8HA,GACE,sBAAuB,CACvB,QD5HF,CCmIA,IACE,aDjIF,CCwIA,kBAIE,+BAAiC,CACjC,aDtIF,CCwJA,sCAKE,aAAc,CACd,YAAa,CACb,QDtJF,CC6JA,OACE,gBD3JF,CCqKA,cAEE,mBDnKF,CC8KA,oEAIE,yBAA0B,CAC1B,cD5KF,CCmLA,sCAEE,cDjLF,CCwLA,iDAEE,QAAS,CACT,SDtLF,CC8LA,MACE,kBD5LF,CCuMA,uCAEE,qBAAsB,CACtB,SDrMF,CC8MA,4FAEE,WD5MF,CCoNA,mBACE,4BAA6B,CAC7B,sBDlNF,CC2NA,+FAEE,uBDzNF,CCgOA,SACE,uBAAyB,CACzB,YAAa,CACb,0BD9NF,CC+OA,SACE,aDzOF,CCiPA,SACE,eD/OF,CCyPA,MACE,wBAAyB,CACzB,gBDvPF,CC0PA,MAEE,SDxPF;AACA,oFAAoF,CE3KpF,aACE,iBAKE,gCAAkC,CAClC,yBAA2B,CAH3B,oBAAsB,CACtB,0BF+KF,CE1KA,YAEE,yBF4KF,CEzKA,cACE,2BF2KF,CExKA,kBACE,4BF0KF,CErKA,gDAEE,UFuKF,CEpKA,eAEE,qBAAsB,CACtB,uBFsKF,CEnKA,MACE,0BFqKF,CElKA,OAEE,uBFoKF,CEjKA,IACE,wBFmKF,CEhKA,QAGE,SAAU,CACV,QFkKF,CE/JA,MAEE,sBFiKF,CE3JA,QACE,YF6JF,CE3JA,gCAGI,+BF4JJ,CEzJA,OACE,qBF2JF,CExJA,OACE,kCF0JF,CE3JA,oBAKI,+BF0JJ,CEvJA,sCAGI,+BFwJJ,CACF,CG7OA,iBC+DE,8BACG,2BACK,qBJuLV,CGhPA,KAEE,yCAA6C,CAD7C,cHmPF,CG/OA,KAKE,sBADA,cAHA,sDACA,eACA,sBHmPF,CG7OA,6BAIE,mBAAoB,CACpB,iBAAkB,CAClB,mBH+OF,CGzOA,EACE,cACA,oBH2OF,CGzOE,gBAEE,cACA,yBH2OJ,CGxOE,QEnDA,yCAA0C,CAC1C,mBL8RF,CGjOA,OACE,QHmOF,CG7NA,IACE,qBH+NF,CG3NA,gBG1EE,cAEA,WAAY,CADZ,cNySF,CG3NA,aACE,iBH6NF,CGvNA,eAGE,sBACA,sBACA,kBG3FA,qBAEA,WAAY,CHsFZ,uBGvFA,cAAe,CHsFf,YCmGA,uCACK,kCACG,8BJ8HV,CGvNA,YACE,iBHyNF,CGnNA,GAGE,QAAS,CACT,6BAFA,mBADA,eHwNF,CG7MA,SAOE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SHqNF,CGvME,mDAOE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UH6MJ,CG9LA,cACE,cHgMF,COrVA,0CAKE,cAHA,oBACA,gBACA,ePkWF,COtWA,gPAWI,cAFA,eAAgB,CAChB,aPwXJ,COnXA,qBAIE,mBADA,ePyXF,CO5XA,wHAQI,aPkYJ,CO/XA,qBAIE,mBADA,ePqYF,COxYA,wHAQI,aP8YJ,CO1YA,OAAU,cP8YV,CO7YA,OAAU,cPiZV,COhZA,OAAU,cPoZV,COnZA,OAAU,cPuZV,COtZA,OAAU,cP0ZV,COzZA,OAAU,cP6ZV,COvZA,EACE,ePyZF,COtZA,MAEE,eACA,eAAgB,CAChB,eAAgB,CAHhB,kBP2ZF,COtZE,+BACE,cPyZF,CACF,COjZA,aAEE,aPmZF,COhZA,WAGE,yBADA,YPmZF,CO9YA,WAAuB,ePiZvB,COhZA,YAAuB,gBPmZvB,COlZA,aAAuB,iBPqZvB,COpZA,cAAuB,kBPuZvB,COtZA,aAAuB,kBPyZvB,COtZA,gBAAuB,wBPyZvB,COxZA,gBAAuB,wBP2ZvB,CO1ZA,iBAAuB,yBP6ZvB,CO1ZA,YACE,aP4ZF,CO1ZA,cCvGE,aRogBF,CQngBE,0CAEE,aRqgBJ,CO9ZA,cC1GE,aR2gBF,CQ1gBE,0CAEE,aR4gBJ,COlaA,WC7GE,aRkhBF,CQjhBE,oCAEE,aRmhBJ,COtaA,cChHE,aRyhBF,CQxhBE,0CAEE,aR0hBJ,CO1aA,aCnHE,aRgiBF,CQ/hBE,wCAEE,aRiiBJ,CO1aA,YE1HE,yBF6HA,UP2aF,CSviBE,sCAEE,wBTyiBJ,CO5aA,YEhIE,wBT+iBF,CS9iBE,sCAEE,wBTgjBJ,COhbA,SEnIE,wBTsjBF,CSrjBE,gCAEE,wBTujBJ,COpbA,YEtIE,wBT6jBF,CS5jBE,sCAEE,wBT8jBJ,COxbA,WEzIE,wBTokBF,CSnkBE,oCAEE,wBTqkBJ,COvbA,aAGE,gCADA,mBADA,kBP2bF,COjbA,MAGE,mBADA,YPobF,COtbA,wBAMI,ePsbJ,COzaA,4BAJE,eAAgB,CADhB,cPubF,COlbA,aAEE,gBPgbF,COlbA,gBAKI,oBAAqB,CAErB,gBAAiB,CADjB,iBPibJ,CO3aA,GAEE,mBADA,YP8aF,CO3aA,MAEE,sBP6aF,CO3aA,GACE,eP6aF,CO3aA,GACE,aP6aF,COhaE,2CAII,UAAW,CAFX,UAAW,CGrNf,eAAgB,CHwNZ,gBAAiB,CGvNrB,sBAAuB,CACvB,kBAAmB,CHoNf,WPuaJ,CO1aA,kBASI,iBPoaJ,CACF,CO1ZA,sCAEE,WP4ZF,COzZA,YACE,aAAc,CA9IO,wBP0iBvB,COvZA,WAIE,8BADA,iBADA,gBADA,iBP4ZF,COpZI,0EACE,ePwZN,COlaA,qDAsBI,cAHA,aAAc,CACd,aAAc,CACd,sBPqZJ,COlZI,0EACE,qBPsZN,CO9YA,0CAME,aAAc,CADd,+BAFA,cAAe,CADf,kBAAmB,CAEnB,gBPkZF,CO1YI,gNAAW,UPkZf,COjZI,0MACE,qBPwZN,COlZA,QAEE,iBAAkB,CAClB,uBAFA,kBPsZF,CW5rBA,kBAIE,uDX8rBF,CW1rBA,KAIE,yBACA,kBAFA,aX8rBF,CWxrBA,SAPE,aAAc,CADd,eXwsBF,CWhsBA,IAIE,sBACA,kBACA,0CAHA,UX6rBF,CWhsBA,QAYI,eAAgB,CAFhB,cAAe,CACf,eAAgB,CAFhB,SX6rBJ,CWrrBA,IAQE,oBAAqB,CACrB,yBACA,sBACA,kBALA,cALA,aAAc,CAGd,eACA,uBAFA,gBADA,cAKA,oBX2rBF,CWlsBA,SAmBI,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBXwrBJ,CWjrBA,gBACE,iBACA,iBXmrBF,CY7uBA,WCAE,gBAAiB,CADjB,iBAAkB,CADlB,kBADA,kBbsvBF,CYhvBE,oCACE,WZmvBF,CACF,CYlvBE,oCACE,WZqvBF,CACF,CYpvBE,qCACE,YZuvBF,CACF,CY9uBA,iBCpBE,gBAAiB,CADjB,iBAAkB,CADlB,kBADA,kBb2wBF,CY3uBA,KCtBE,kBADA,kBbswBF,CY3uBA,gBAEE,aAAc,CADd,cZ8uBF,CY/uBA,8BAMI,cAAe,CADf,eZ8uBJ,Cc7xBC,4eCmBK,cAAe,CAGf,kBADA,mBAJA,iBfi0BN,Ccl1BC,2HCuCK,UfyzBN,Cch2BC,WC+CG,UfozBJ,Ccn2BC,WC+CG,kBfuzBJ,Cct2BC,WC+CG,kBf0zBJ,Ccz2BC,UC+CG,Sf6zBJ,Cc52BC,UC+CG,kBfg0BJ,Cc/2BC,UC+CG,kBfm0BJ,Ccl3BC,UC+CG,Sfs0BJ,Ccr3BC,UC+CG,kBfy0BJ,Ccx3BC,UC+CG,kBf40BJ,Cc33BC,UC+CG,Sf+0BJ,Cc93BC,UC+CG,kBfk1BJ,Ccj4BC,UC+CG,iBfq1BJ,Ccp4BC,gBC8DG,Ufy0BJ,Ccv4BC,gBC8DG,kBf40BJ,Cc14BC,gBC8DG,kBf+0BJ,Cc74BC,eC8DG,Sfk1BJ,Cch5BC,eC8DG,kBfq1BJ,Ccn5BC,eC8DG,kBfw1BJ,Cct5BC,eC8DG,Sf21BJ,Ccz5BC,eC8DG,kBf81BJ,Cc55BC,eC8DG,kBfi2BJ,Cc/5BC,eC8DG,Sfo2BJ,Ccl6BC,eC8DG,kBfu2BJ,Ccr6BC,eC8DG,iBf02BJ,Ccx6BC,eCmEG,Ufw2BJ,Cc36BC,gBCoDG,Sf03BJ,Cc96BC,gBCoDG,iBf63BJ,Ccj7BC,gBCoDG,iBfg4BJ,Ccp7BC,eCoDG,Qfm4BJ,Ccv7BC,eCoDG,iBfs4BJ,Cc17BC,eCoDG,iBfy4BJ,Cc77BC,eCoDG,Qf44BJ,Cch8BC,eCoDG,iBf+4BJ,Ccn8BC,eCoDG,iBfk5BJ,Cct8BC,eCoDG,Qfq5BJ,Ccz8BC,eCoDG,iBfw5BJ,Cc58BC,eCoDG,gBf25BJ,Cc/8BC,eCyDG,Sfy5BJ,Ccl9BC,kBCwEG,gBf64BJ,Ccr9BC,kBCwEG,wBfg5BJ,Ccx9BC,kBCwEG,wBfm5BJ,Cc39BC,iBCwEG,efs5BJ,Cc99BC,iBCwEG,wBfy5BJ,Ccj+BC,iBCwEG,wBf45BJ,Ccp+BC,iBCwEG,ef+5BJ,Ccv+BC,iBCwEG,wBfk6BJ,Cc1+BC,iBCwEG,wBfq6BJ,Cc7+BC,iBCwEG,efw6BJ,Cch/BC,iBCwEG,wBf26BJ,Ccn/BC,iBCwEG,uBf86BJ,Cct/BC,iBCwEG,afi7BJ,CYh7BA,yBEzEC,2HCuCK,Ufi+BJ,CcxgCD,WC+CG,Uf49BF,Cc3gCD,WC+CG,kBf+9BF,Cc9gCD,WC+CG,kBfk+BF,CcjhCD,UC+CG,Sfq+BF,CcphCD,UC+CG,kBfw+BF,CcvhCD,UC+CG,kBf2+BF,Cc1hCD,UC+CG,Sf8+BF,Cc7hCD,UC+CG,kBfi/BF,CchiCD,UC+CG,kBfo/BF,CcniCD,UC+CG,Sfu/BF,CctiCD,UC+CG,kBf0/BF,CcziCD,UC+CG,iBf6/BF,Cc5iCD,gBC8DG,Ufi/BF,Cc/iCD,gBC8DG,kBfo/BF,CcljCD,gBC8DG,kBfu/BF,CcrjCD,eC8DG,Sf0/BF,CcxjCD,eC8DG,kBf6/BF,Cc3jCD,eC8DG,kBfggCF,Cc9jCD,eC8DG,SfmgCF,CcjkCD,eC8DG,kBfsgCF,CcpkCD,eC8DG,kBfygCF,CcvkCD,eC8DG,Sf4gCF,Cc1kCD,eC8DG,kBf+gCF,Cc7kCD,eC8DG,iBfkhCF,CchlCD,eCmEG,UfghCF,CcnlCD,gBCoDG,SfkiCF,CctlCD,gBCoDG,iBfqiCF,CczlCD,gBCoDG,iBfwiCF,Cc5lCD,eCoDG,Qf2iCF,Cc/lCD,eCoDG,iBf8iCF,CclmCD,eCoDG,iBfijCF,CcrmCD,eCoDG,QfojCF,CcxmCD,eCoDG,iBfujCF,Cc3mCD,eCoDG,iBf0jCF,Cc9mCD,eCoDG,Qf6jCF,CcjnCD,eCoDG,iBfgkCF,CcpnCD,eCoDG,gBfmkCF,CcvnCD,eCyDG,SfikCF,Cc1nCD,kBCwEG,gBfqjCF,Cc7nCD,kBCwEG,wBfwjCF,CchoCD,kBCwEG,wBf2jCF,CcnoCD,iBCwEG,ef8jCF,CctoCD,iBCwEG,wBfikCF,CczoCD,iBCwEG,wBfokCF,Cc5oCD,iBCwEG,efukCF,Cc/oCD,iBCwEG,wBf0kCF,CclpCD,iBCwEG,wBf6kCF,CcrpCD,iBCwEG,efglCF,CcxpCD,iBCwEG,wBfmlCF,Cc3pCD,iBCwEG,uBfslCF,Cc9pCD,iBCwEG,afylCF,CACF,CYhlCA,yBElFC,2HCuCK,Uf0oCJ,CcjrCD,WC+CG,UfqoCF,CcprCD,WC+CG,kBfwoCF,CcvrCD,WC+CG,kBf2oCF,Cc1rCD,UC+CG,Sf8oCF,Cc7rCD,UC+CG,kBfipCF,CchsCD,UC+CG,kBfopCF,CcnsCD,UC+CG,SfupCF,CctsCD,UC+CG,kBf0pCF,CczsCD,UC+CG,kBf6pCF,Cc5sCD,UC+CG,SfgqCF,Cc/sCD,UC+CG,kBfmqCF,CcltCD,UC+CG,iBfsqCF,CcrtCD,gBC8DG,Uf0pCF,CcxtCD,gBC8DG,kBf6pCF,Cc3tCD,gBC8DG,kBfgqCF,Cc9tCD,eC8DG,SfmqCF,CcjuCD,eC8DG,kBfsqCF,CcpuCD,eC8DG,kBfyqCF,CcvuCD,eC8DG,Sf4qCF,Cc1uCD,eC8DG,kBf+qCF,Cc7uCD,eC8DG,kBfkrCF,CchvCD,eC8DG,SfqrCF,CcnvCD,eC8DG,kBfwrCF,CctvCD,eC8DG,iBf2rCF,CczvCD,eCmEG,UfyrCF,Cc5vCD,gBCoDG,Sf2sCF,Cc/vCD,gBCoDG,iBf8sCF,CclwCD,gBCoDG,iBfitCF,CcrwCD,eCoDG,QfotCF,CcxwCD,eCoDG,iBfutCF,Cc3wCD,eCoDG,iBf0tCF,Cc9wCD,eCoDG,Qf6tCF,CcjxCD,eCoDG,iBfguCF,CcpxCD,eCoDG,iBfmuCF,CcvxCD,eCoDG,QfsuCF,Cc1xCD,eCoDG,iBfyuCF,Cc7xCD,eCoDG,gBf4uCF,CchyCD,eCyDG,Sf0uCF,CcnyCD,kBCwEG,gBf8tCF,CctyCD,kBCwEG,wBfiuCF,CczyCD,kBCwEG,wBfouCF,Cc5yCD,iBCwEG,efuuCF,Cc/yCD,iBCwEG,wBf0uCF,CclzCD,iBCwEG,wBf6uCF,CcrzCD,iBCwEG,efgvCF,CcxzCD,iBCwEG,wBfmvCF,Cc3zCD,iBCwEG,wBfsvCF,Cc9zCD,iBCwEG,efyvCF,Ccj0CD,iBCwEG,wBf4vCF,Ccp0CD,iBCwEG,uBf+vCF,Ccv0CD,iBCwEG,afkwCF,CACF,CYhvCA,0BE3FC,2HCuCK,UfmzCJ,Cc11CD,WC+CG,Uf8yCF,Cc71CD,WC+CG,kBfizCF,Cch2CD,WC+CG,kBfozCF,Ccn2CD,UC+CG,SfuzCF,Cct2CD,UC+CG,kBf0zCF,Ccz2CD,UC+CG,kBf6zCF,Cc52CD,UC+CG,Sfg0CF,Cc/2CD,UC+CG,kBfm0CF,Ccl3CD,UC+CG,kBfs0CF,Ccr3CD,UC+CG,Sfy0CF,Ccx3CD,UC+CG,kBf40CF,Cc33CD,UC+CG,iBf+0CF,Cc93CD,gBC8DG,Ufm0CF,Ccj4CD,gBC8DG,kBfs0CF,Ccp4CD,gBC8DG,kBfy0CF,Ccv4CD,eC8DG,Sf40CF,Cc14CD,eC8DG,kBf+0CF,Cc74CD,eC8DG,kBfk1CF,Cch5CD,eC8DG,Sfq1CF,Ccn5CD,eC8DG,kBfw1CF,Cct5CD,eC8DG,kBf21CF,Ccz5CD,eC8DG,Sf81CF,Cc55CD,eC8DG,kBfi2CF,Cc/5CD,eC8DG,iBfo2CF,Ccl6CD,eCmEG,Ufk2CF,Ccr6CD,gBCoDG,Sfo3CF,Ccx6CD,gBCoDG,iBfu3CF,Cc36CD,gBCoDG,iBf03CF,Cc96CD,eCoDG,Qf63CF,Ccj7CD,eCoDG,iBfg4CF,Ccp7CD,eCoDG,iBfm4CF,Ccv7CD,eCoDG,Qfs4CF,Cc17CD,eCoDG,iBfy4CF,Cc77CD,eCoDG,iBf44CF,Cch8CD,eCoDG,Qf+4CF,Ccn8CD,eCoDG,iBfk5CF,Cct8CD,eCoDG,gBfq5CF,Ccz8CD,eCyDG,Sfm5CF,Cc58CD,kBCwEG,gBfu4CF,Cc/8CD,kBCwEG,wBf04CF,Ccl9CD,kBCwEG,wBf64CF,Ccr9CD,iBCwEG,efg5CF,Ccx9CD,iBCwEG,wBfm5CF,Cc39CD,iBCwEG,wBfs5CF,Cc99CD,iBCwEG,efy5CF,Ccj+CD,iBCwEG,wBf45CF,Ccp+CD,iBCwEG,wBf+5CF,Ccv+CD,iBCwEG,efk6CF,Cc1+CD,iBCwEG,wBfq6CF,Cc7+CD,iBCwEG,uBfw6CF,Cch/CD,iBCwEG,af26CF,CACF,CgB7+CA,MACE,4BhB++CF,CgBh/CA,uBASI,oBAAqB,CACrB,UAAW,CAFX,ehB6+CJ,CgBt+CI,4CAEE,kBAAmB,CACnB,UAAW,CAFX,ehB2+CN,CgBp+CA,QAGE,cADA,mBADA,ehBy+CF,CgBn+CA,WAHE,ehBy+CF,CgB/9CA,OAGE,mBADA,cAAe,CADf,UhBm+CF,CgBp+CA,kHAcQ,0BAFA,uBADA,YAEA,kBhBk+CR,CgB/+CA,mBAqBI,6BADA,qBhB+9CJ,CgBn/CA,oPA8BQ,YhB69CR,CgB3/CA,mBAoCI,yBhB09CJ,CgB9/CA,cAyCI,qBhBw9CJ,CgBj9CA,8KAOQ,WhBk9CR,CgBv8CA,wLAQQ,qBhB08CR,CgBl9CA,wDAeM,uBhBu8CN,CgB77CA,yCAEI,wBhB87CJ,CiBlkDE,oVAOI,wBjB4kDN,CiBtkDE,4LAMI,wBjBukDN,CiB1lDE,oUAOI,wBjBimDN,CiB3lDE,iMAMI,wBjB4lDN,CiB/mDE,gSAOI,wBjBsnDN,CiBhnDE,kLAMI,wBjBinDN,CiBpoDE,oUAOI,wBjB2oDN,CiBroDE,iMAMI,wBjBsoDN,CiBzpDE,wTAOI,wBjBgqDN,CiB1pDE,4LAMI,wBjB2pDN,CgBvgDA,kBACE,gBACA,ehBygDF,CgBvgDE,sDAIE,2CAA4C,CAC5C,sBAHA,mBACA,iBAAkB,CAFlB,UhB8gDF,CgB/gDA,yBASI,ehBygDJ,CgBlhDA,8NAkBU,kBhBwgDV,CgB1hDA,kCA0BI,QhBmgDJ,CgB7hDA,4VAmCU,ahBkgDV,CgBriDA,sVAuCU,chBsgDV,CgB7iDA,oOAoDU,ehB+/CV,CACF,CkBztDA,SAME,QAAS,CAFT,WlB2tDF,CkBrtDA,gBAHE,QAAS,CAFT,SlBquDF,CkBhuDA,OASE,gCAFA,cANA,aAAc,CAId,eACA,mBAAoB,CAFpB,mBAFA,UlB8tDF,CkBptDA,MACE,oBAAqB,CAGrB,eAAgB,CADhB,iBAAkB,CADlB,clBwtDF,CkB5sDA,mBAUE,uBAAwB,CACxB,eAAgB,CdkBhB,8BACG,2BACK,qBJorDV,CkBpsDA,uCAIE,kBAAmB,CAFnB,cAAe,CACf,gBlBusDF,CkBhsDE,iMAGE,kBlBqsDJ,CkBjsDA,iBACE,alBmsDF,CkB/rDA,kBACE,aAAc,CACd,UlBisDF,CkB7rDA,8BAEE,WlB+rDF,CkB3rDA,0Eb1FE,yCAA0C,CAC1C,mBL0xDF,CkB1rDA,OAEE,elB+rDF,CkBlqDA,qBA1BE,cAJA,aAAc,CAEd,eACA,sBlB+sDF,CkBprDA,cAQE,sBACA,qBAAsB,CACtB,yBACA,kBd3EA,oDACQ,4CckER,YACA,iBdsDA,6EACK,wEACG,qEc1DR,UlBkrDF,CmBlwDE,oBACE,qBfaF,iFACQ,yEebN,SnBswDJ,CIxtDE,gCACE,WACA,SJ0tDJ,CIxtDE,oCAA0B,UJ2tD5B,CI1tDE,yCAAgC,UJ6tDlC,CkB9qDE,0BACE,4BAA6B,CAC7B,QlBgrDJ,CkBxqDE,iFAGE,yBACA,SlB0qDJ,CkBvqDE,yDAEE,kBlByqDJ,CkBrqDE,sBACE,WlBuqDJ,CkBzpDA,qDAKI,mIACE,gBlB0pDJ,CkBvpDE,kQAEE,gBlB+pDJ,CkB5pDE,kQAEE,gBlBoqDJ,CACF,CkB1pDA,YACE,kBlB4pDF,CkBppDA,iBAGE,aAAc,CAEd,kBAAmB,CADnB,eAAgB,CAFhB,iBlBypDF,CkBnpDE,kHAGI,kBlBspDN,CkBjqDA,6BAoBI,cAAe,CADf,eAAgB,CADhB,eAAgB,CAFhB,gBACA,iBlBwpDJ,CkBlpDA,8HAME,iBAAkB,CADlB,gBAAkB,CADlB,iBlBspDF,CkBjpDA,kCAEE,elBmpDF,CkB/oDA,+BAQE,cAAe,CALf,oBAAqB,CAGrB,eAAgB,CADhB,eAAgB,CADhB,iBAAkB,CAFlB,iBAAkB,CAKlB,qBlBkpDF,CkB9oDE,sHAEE,kBlBkpDJ,CkB/oDA,8DAGE,gBAAiB,CADjB,YlBkpDF,CkBxoDA,qBAME,eAAgB,CALhB,gBAGA,mBADA,elB2oDF,CkBtoDE,4DAGE,cAAe,CADf,elByoDJ,CkB3nDA,UCvPE,kBAFA,eAFA,YAGA,gBAFA,gBnB43DF,CmBv3DE,gBACE,YACA,gBnBy3DJ,CmBt3DE,4CAEE,WnBw3DJ,CkBvoDA,6BAMI,kBAFA,eAFA,YAGA,gBAFA,gBlB2oDJ,CkB9oDA,mCASI,YACA,gBlBwoDJ,CkBlpDA,kFAcI,WlBwoDJ,CkBtpDA,oCAoBI,eAHA,YAIA,gBAHA,gBACA,gBlB0oDJ,CkBpoDA,UCnRE,kBAFA,eAFA,YAGA,sBAFA,iBnBi6DF,CmB55DE,gBACE,YACA,gBnB85DJ,CmB35DE,4CAEE,WnB65DJ,CkBhpDA,6BAMI,kBAFA,eAFA,YAGA,sBAFA,iBlBopDJ,CkBvpDA,mCASI,YACA,gBlBipDJ,CkB3pDA,kFAcI,WlBipDJ,CkB/pDA,oCAoBI,eAHA,YAIA,sBAHA,gBACA,iBlBmpDJ,CkBxoDA,cAEE,iBlByoDF,CkB3oDA,4BAMI,oBlBwoDJ,CkBpoDA,uBAKE,aAAc,CAEd,YACA,iBAEA,mBAAoB,CATpB,iBAAkB,CAElB,OAAQ,CAMR,iBAAkB,CAPlB,KAAM,CAIN,WAFA,SlB4oDF,CkBpoDA,4HAIE,YACA,iBAFA,UlBwoDF,CkBpoDA,4HAIE,YACA,iBAFA,UlBwoDF,CkBloDA,iRClZI,anBgiEJ,CkB9oDA,2BC9YI,qBfiDF,oDACQ,2CJ++DV,CmB/hEI,iCACE,qBf8CJ,oEACQ,2DJo/DV,CkBxpDA,gCCnYI,yBACA,qBAFA,anBiiEJ,CkB7pDA,oCC9XI,anB8hEJ,CkB7pDA,iRCrZI,anB8jEJ,CkBzqDA,2BCjZI,qBfiDF,oDACQ,2CJ6gEV,CmB7jEI,iCACE,qBf8CJ,oEACQ,2DJkhEV,CkBnrDA,gCCtYI,yBACA,qBAFA,anB+jEJ,CkBxrDA,oCCjYI,anB4jEJ,CkBxrDA,6PCxZI,anB4lEJ,CkBpsDA,yBCpZI,qBfiDF,oDACQ,2CJ2iEV,CmB3lEI,+BACE,qBf8CJ,oEACQ,2DJgjEV,CkB9sDA,8BCzYI,yBACA,qBAFA,anB6lEJ,CkBntDA,kCCpYI,anB0lEJ,CkB/sDE,2CACE,QlBitDJ,CkB/sDE,mDACE,KlBitDJ,CkBvsDA,YAIE,cAHA,aAAc,CAEd,kBAAmB,CADnB,clB2sDF,CkBvrDE,kDAGI,oBAAqB,CACrB,eAAgB,CAChB,qBlBwrDJ,CkB7rDA,2BAUI,oBAAqB,CAErB,qBAAsB,CADtB,UlBurDJ,CkBlsDA,kCAiBI,oBlBorDJ,CkBrsDA,0BAqBI,oBAAqB,CACrB,qBlBmrDJ,CkBzsDA,gIA2BM,UlBmrDN,CkB9sDA,wCAiCI,UlBgrDJ,CkBjtDA,4BAqCI,eAAgB,CAChB,qBlB+qDJ,CkBrtDA,2CA6CI,oBAAqB,CAErB,eAAgB,CADhB,YAAa,CAEb,qBlB4qDJ,CkB5tDA,uDAmDM,clB6qDN,CkBhuDA,kFAyDI,aAAc,CADd,iBlB6qDJ,CkBruDA,kDA8DI,KlB0qDJ,CACF,CkBhqDA,oHAWI,eAAgB,CADhB,YAAa,CADb,elB+pDJ,CkBxqDA,mDAiBI,elB2pDJ,CkB5qDA,6BL7gBE,kBADA,kBb8rEF,CkBrpDE,yDAGI,eAAgB,CADhB,gBAEA,gBlBupDJ,CACF,CkBvrDA,sDAwCI,UlBkpDJ,CkB1oDI,wEAGI,eADA,gBlB6oDN,CkBvoDE,+CAGI,eADA,elB2oDN,CALF,CoBntEA,KASE,qBAAsB,CACtB,4BAA6B,CCuC7B,kBDzCA,cAAe,CAPf,oBAAqB,CC8CrB,eD5CA,gBC6CA,uBD9CA,eAAgB,CC4ChB,iBD1CA,iBAAkB,CAGlB,yBAA0B,ChB+M1B,yBACG,sBACC,qBACI,iBgBnNR,qBAAsB,CADtB,kBpBwuEF,CoB5tEI,8FfrBF,yCAA0C,CAC1C,mBLyvEF,CoB/tEE,iCAGE,cACA,oBpBiuEJ,CoB9tEE,wBAEE,qBAAsB,ChB4BxB,oDACQ,4CgB5BN,SpBkuEJ,CoB9tEE,qDhBuBA,wBACQ,gBgBrBN,mBE9CF,yBACA,WtBixEF,CoB9tEI,wCAEE,mBpBguEN,CoBvtEA,aC5DE,yBACA,kBAFA,arByxEF,CqBrxEE,sCAGE,yBACA,qBAFA,arByxEJ,CqBrxEE,mBAEE,yBACA,qBAFA,arByxEJ,CqBrxEE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,arB0xEJ,CqBrxEI,uRAIE,yBACA,qBAFA,arB+xEN,CqBvxEI,6RAGE,yBACA,iBrB+xEN,CoBxwEA,oBCjBI,yBADA,arB8xEJ,CoBzwEA,aC/DE,yBACA,qBAFA,UrB80EF,CqB10EE,sCAGE,yBACA,qBAFA,UrB80EJ,CqB10EE,mBAEE,yBACA,qBAFA,UrB80EJ,CqB10EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrB+0EJ,CqB10EI,uRAIE,yBACA,qBAFA,UrBo1EN,CqB50EI,6RAGE,yBACA,oBrBo1EN,CoB1zEA,oBCpBI,sBADA,arBm1EJ,CoB1zEA,aCnEE,yBACA,qBAFA,UrBm4EF,CqB/3EE,sCAGE,yBACA,qBAFA,UrBm4EJ,CqB/3EE,mBAEE,yBACA,qBAFA,UrBm4EJ,CqB/3EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBo4EJ,CqB/3EI,uRAIE,yBACA,qBAFA,UrBy4EN,CqBj4EI,6RAGE,yBACA,oBrBy4EN,CoB32EA,oBCxBI,sBADA,arBw4EJ,CoB32EA,UCvEE,yBACA,qBAFA,UrBw7EF,CqBp7EE,gCAGE,yBACA,qBAFA,UrBw7EJ,CqBp7EE,gBAEE,yBACA,qBAFA,UrBw7EJ,CqBp7EE,kEAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBy7EJ,CqBp7EI,4PAIE,yBACA,qBAFA,UrB87EN,CqBt7EI,kQAGE,yBACA,oBrB87EN,CoB55EA,iBC5BI,sBADA,arB67EJ,CoB55EA,aC3EE,yBACA,qBAFA,UrB6+EF,CqBz+EE,sCAGE,yBACA,kBAFA,UrB6+EJ,CqBz+EE,mBAEE,yBACA,qBAFA,UrB6+EJ,CqBz+EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrB8+EJ,CqBz+EI,uRAIE,yBACA,kBAFA,UrBm/EN,CqB3+EI,6RAGE,yBACA,oBrBm/EN,CoB78EA,oBChCI,sBADA,arBk/EJ,CoB78EA,YC/EE,yBACA,qBAFA,UrBkiFF,CqB9hFE,oCAGE,yBACA,qBAFA,UrBkiFJ,CqB9hFE,kBAEE,yBACA,qBAFA,UrBkiFJ,CqB9hFE,wEAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBmiFJ,CqB9hFI,8QAIE,yBACA,qBAFA,UrBwiFN,CqBhiFI,oRAGE,yBACA,oBrBwiFN,CoB9/EA,mBCpCI,sBADA,arBuiFJ,CoBz/EA,UAGE,eAAgB,CADhB,cADA,epB6/EF,CoBz/EE,6FAKE,4BAA6B,ChBnC/B,wBACQ,eJ+hFV,CoB1/EE,2DAIE,wBpB4/EJ,CoB1/EE,gCAIE,4BAA6B,CAF7B,cACA,yBpB6/EJ,CoBx/EI,0HAEE,cACA,oBpB4/EN,CoBn/EA,2BC3EE,kBAFA,eACA,sBAFA,iBrBwkFF,CoBt/EA,2BC/EE,kBAFA,eACA,gBAFA,gBrB+kFF,CoBz/EA,2BCnFE,kBAFA,eACA,gBAFA,erBslFF,CoBx/EA,WACE,aAAc,CACd,UpB0/EF,CoBt/EA,sBACE,cpBw/EF,CoBj/EE,sFACE,UpBq/EJ,CuB/oFA,MACE,SAAU,CnBoLV,uCACK,kCACG,8BJ89EV,CuBjpFE,SACE,SvBmpFJ,CuB/oFA,UACE,YvBipFF,CuB/oFE,aAAY,avBkpFd,CuBjpFE,eAAY,iBvBopFd,CuBnpFE,kBAAY,uBvBspFd,CuBnpFA,YAEE,QAAS,CACT,eAAgB,CAFhB,iBAAkB,CnBgLlB,iCACQ,yBATR,8CACQ,sCAWR,wCACQ,+BJw+EV,CwBprFA,OASE,kCADA,mCAFA,sBACA,uBANA,oBAAqB,CAErB,QAAS,CACT,eAAgB,CAChB,qBAAsB,CAHtB,OxB6rFF,CwBlrFA,kBAEE,iBxBorFF,CwBhrFA,uBACE,SxBkrFF,CwB9qFA,eAcE,2BAA4B,CAD5B,sBAEA,sBACA,iCACA,kBpBuBA,+CACQ,uCoBpCR,YAAa,CACb,UAAW,CAIX,eAPA,MAAO,CASP,eAAgB,CAHhB,cAAe,CAFf,eAAgB,CAChB,aAAc,CAPd,iBAAkB,CAUlB,eAAgB,CAThB,QAAS,CAET,YxB+rFF,CwB5qFE,0BAEE,SAAU,CADV,OxB+qFJ,CwBvsFA,wBCtBE,yBAHA,UAAW,CACX,aACA,ezBouFF,CwB7sFA,oBAqCI,UAAW,CAGX,cALA,aAAc,CAGd,eAAgB,CAChB,uBAHA,gBAAiB,CAKjB,kBxB6qFJ,CwB3qFI,oDAIE,yBAFA,cACA,oBxB8qFN,CwBtqFE,uFAKE,yBAFA,WAGA,SAAU,CAFV,oBxB0qFJ,CwB/pFE,6FAGE,axBiqFJ,CwB7pFE,kEAIE,4BAA6B,CAC7B,qBAAsB,CAFtB,mBEvGF,mEFsGE,oBxBmqFJ,CwB1pFA,qBAGI,axB0pFJ,CwB7pFA,QAQI,SxBwpFJ,CwBhpFA,qBAEE,SAAU,CADV,OxBmpFF,CwB1oFA,oBAEE,MAAO,CADP,UxB6oFF,CwBxoFA,iBAKE,cAJA,aAAc,CAEd,eACA,uBAFA,gBAAiB,CAIjB,kBxB0oFF,CwBtoFA,mBAIE,QAAS,CACT,MAAO,CAJP,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,WxBwoFF,CwBpoFA,2BAEE,SAAU,CADV,OxBuoFF,CwB9nFA,qDAMI,yBACA,0BAFA,YAAa,CADb,UxBioFJ,CwBroFA,qEAYI,WAAY,CACZ,iBAAkB,CAFlB,QxBgoFJ,CwBrnFA,yBACE,6BAnEA,SAAU,CADV,OxB6rFA,CwBznFA,kCAzDA,MAAO,CADP,UxBurFA,CACF,C2B9zFA,KAGE,eAAgB,CADhB,eAAgB,CADhB,c3Bk0FF,C2Bn0FA,kBAQI,aAAc,CADd,iB3Bq0FJ,C2B50FA,UAaM,iB3B+zFN,C2B9zFM,gCAGE,yBADA,oB3Bi0FR,C2B3zFI,mBACE,a3B6zFN,C2B3zFM,kDAKE,4BAA6B,CAH7B,cAEA,mBADA,oB3B+zFR,C2BtzFI,mDAGE,yBACA,oB3BwzFN,C2Bj2FA,kBFFE,yBAHA,UAAW,CACX,aACA,ezB02FF,C2Bv2FA,cA0DI,c3BgzFJ,C2BvyFA,UACE,4B3ByyFF,C2B1yFA,aAGI,UAAW,CAEX,kB3ByyFJ,C2B9yFA,eAWM,4BAA6B,CAC7B,0BAFA,uBADA,gB3B2yFN,C2BvyFM,qBACE,iC3ByyFR,C2BnyFM,8EAKE,sBAEA,gBAAgC,CAAhC,kCAAgC,CAJhC,cACA,c3BwyFR,C2BhyFE,wBAmFA,eAAgB,CA9BhB,U3B+uFF,C2BpyFE,2BAwDE,U3B+uFJ,C2BvyFE,6BA0DI,iBAAkB,CAClB,iB3BgvFN,C2B3yFE,iDAiEE,SAAU,CADV,Q3B+uFJ,C2B3uFE,oDAEI,kBAAmB,CACnB,Q3B6uFJ,C2BhvFA,6BAKM,e3B8uFN,CACF,C2BxzFE,6BAwFE,kBADA,c3BquFJ,C2B5zFE,kHA8FE,qB3BmuFJ,C2BhuFE,sDAEI,6BACA,yB3BkuFJ,C2BruFA,kHAQI,wB3BkuFJ,CACF,C2Bn0FA,cAEI,U3Bo0FJ,C2Bt0FA,gBAMM,iB3Bm0FN,C2Bz0FA,iBASM,e3Bm0FN,C2B9zFM,iFAIE,yBADA,U3Bi0FR,C2BxzFA,gBAEI,U3ByzFJ,C2B3zFA,mBAKM,aAAc,CADd,c3B2zFN,C2B9yFA,eACE,U3BgzFF,C2BjzFA,kBAII,U3BgzFJ,C2BpzFA,oBAMM,iBAAkB,CAClB,iB3BizFN,C2BxzFA,wCAaI,SAAU,CADV,Q3BgzFJ,C2B5yFE,2CAEI,kBAAmB,CACnB,Q3B8yFJ,C2BjzFA,oBAKM,e3B+yFN,CACF,C2BvyFA,oBACE,e3ByyFF,C2B1yFA,yBAMI,kBADA,c3ByyFJ,C2B9yFA,sGAYI,qB3BuyFJ,C2BpyFE,kDAEI,6BACA,yB3BsyFJ,C2BzyFA,sGAQI,wB3BsyFJ,CACF,C2B7xFA,uBAEI,Y3B8xFJ,C2BhyFA,qBAKI,a3B8xFJ,C2BrxFA,yBC3OE,yBACA,0BD4OA,e3BwxFF,C6B5/FA,QAIE,4BAA6B,CAD7B,mBADA,gBADA,iB7BigGF,C6Bz/FE,iCACE,iB7B4/FF,C6B/+FA,eACE,U7Bm/FF,CAJF,C6Bh+FA,iBAOE,gCAAiC,CAHjC,gCAAiC,CACjC,4CAFA,kBAAmB,CADnB,kBADA,kB7B4+FF,C6Bp+FE,oBACE,e7Bs+FJ,C6Bn+FE,0CAEE,YAAa,CACb,eAAgB,CAFhB,U7Bw+FF,C6Bp+FE,0BACE,uBAAyB,CACzB,qBAAuB,CAEvB,0BAA4B,CAD5B,gB7Bu+FJ,C6Bn+FE,oBACE,kB7Bq+FJ,C6Bh+FE,6GAIE,cAAe,CADf,e7Bm+FJ,CACF,C6B99FA,uCAaE,MAAO,CAFP,cAAe,CACf,OAAQ,CAER,Y7Bu9FF,C6Br+FA,yEAGI,gB7Bs+FJ,C6Bp+FI,qIACE,gB7Bw+FJ,CACF,C6B99FE,gEACE,e7Bk+FF,CACF,C6B/9FA,kBAEE,oBAAqB,CADrB,K7Bk+FF,C6B/9FA,qBAGE,oBAAqB,CAFrB,QAAS,CACT,e7Bk+FF,C6Bz9FA,wHAKI,kBADA,kB7B49FJ,C6Bz9FI,iJAEE,aAAc,CADd,c7Bg+FJ,CACF,C6Bn9FA,mBAEE,oBAAqB,CADrB,Y7Bs9FF,C6Bn9FE,4CACE,e7Bs9FF,CACF,C6Bh9FA,cACE,UAAW,CAGX,eAFA,YAGA,iBAFA,iB7Bo9FF,C6Bh9FE,wCAEE,oB7Bk9FJ,C6B39FA,kBAaI,a7Bi9FJ,C6B98FE,yBACE,wEAEE,iB7Bg9FJ,CACF,C6Bt8FA,eAME,4BAA6B,CAC7B,qBAAsB,CACtB,4BAA6B,CAC7B,kBAPA,WAAY,CC3LZ,mBD6LA,kBC9LA,gBD6LA,gBAAiB,CAFjB,iB7Bi9FF,C6Br8FE,qBACE,S7Bu8FJ,C6Br9FA,yBAsBI,iBAAkB,CAHlB,aAAc,CAEd,UAAW,CADX,U7Bu8FJ,C6B39FA,mCAyBI,c7Bq8FJ,C6Bl8FE,wCACE,Y7Bq8FF,CACF,C6B57FA,YACE,kB7B87FF,C6B/7FA,iBAMI,iBADA,mBAAoB,CADpB,gB7Bg8FJ,C6B37FE,0DAOI,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CALhB,UAAW,CAEX,YAAa,CAHb,eAAgB,CAEhB,U7Bg8FJ,C6Br8FA,wFAYM,yB7B67FN,C6Bz8FA,sCAeM,gB7B67FN,C6B57FM,wFAEE,qB7B87FR,CACF,C6Bx7FE,qCACE,UAAW,CACX,Q7B27FF,C6B77FA,eAKI,U7B27FJ,C6Bh8FA,iBAQM,oBADA,gB7B67FN,CACF,C6Bj7FA,aAKE,mCAAoC,CADpC,gCAAiC,CzB3NjC,+EACQ,uE0BhER,kBDuRA,iB7B27FF,CkBrwFE,kDAGI,oBAAqB,CACrB,eAAgB,CAChB,qBlBswFJ,CkB3wFA,2BAUI,oBAAqB,CAErB,qBAAsB,CADtB,UlBqwFJ,CkBhxFA,kCAiBI,oBlBkwFJ,CkBnxFA,0BAqBI,oBAAqB,CACrB,qBlBiwFJ,CkBvxFA,gIA2BM,UlBiwFN,CkB5xFA,wCAiCI,UlB8vFJ,CkB/xFA,4BAqCI,eAAgB,CAChB,qBlB6vFJ,CkBnyFA,2CA6CI,oBAAqB,CAErB,eAAgB,CADhB,YAAa,CAEb,qBlB0vFJ,CkB1yFA,uDAmDM,clB2vFN,CkB9yFA,kFAyDI,aAAc,CADd,iBlB2vFJ,CkBnzFA,kDA8DI,KlBwvFJ,CACF,C6Bj+FI,kDACE,iB7Bo+FJ,C6Bl+FI,oCACE,e7Bo+FN,CACF,C6B59FE,sCAME,QAAS,CzBvPX,wBACQ,gByBqPN,aAAc,CADd,cAAe,CADf,gBAAiB,CADjB,aAAc,CADd,U7Bs+FF,CACF,C6Bz9FA,8BDnUE,yBACA,0BCmUA,Y7B69FF,C6Bz9FA,mDD/TE,4BADA,6BARA,2BACA,4BCwUA,e7B+9FF,C6Br9FA,YC/UE,mBADA,e9ByyGF,C6Bt9FE,mBClVA,mBADA,e9B6yGF,C6Bv9FE,mBCrVA,mBADA,e9BizGF,C6Bj9FA,aC/VE,mBADA,e9BqzGF,C6Bl9FE,sCACE,UAAW,CAEX,iBADA,iB7Bs9FF,C6Bv8FA,aEtWA,oB/BkzGA,C6B38FA,cE1WA,qBAAuB,CF4WrB,kB7B68FF,C6B/8FA,4BAKI,c7B68FJ,CAXF,C6Bx7FA,gBACE,sBACA,oB7Bs8FF,C6Bx8FA,8BAKI,a7Bs8FJ,C6Br8FI,wEAGE,6BADA,a7Bw8FN,C6Bh9FA,6BAcI,U7Bq8FJ,C6Bn9FA,iCAmBM,a7Bm8FN,C6Bj8FM,8EAGE,6BADA,a7Bo8FR,C6B/7FM,8HAIE,yBADA,a7Bk8FR,C6B77FM,oIAIE,6BADA,a7Bg8FR,C6Bx7FM,wHAIE,yBADA,a7B27FR,C6Bt7FI,+EAIM,a7Bs7FR,C6Br7FQ,wHAGE,6BADA,a7Bw7FV,C6Bn7FQ,6LAIE,yBADA,a7Bs7FV,C6Bj7FQ,mMAIE,6BADA,a7Bo7FV,CACF,C6BngGA,+BAuFI,iB7B+6FJ,C6B96FI,0EAEE,qB7Bg7FN,C6B1gGA,yCA6FM,qB7Bg7FN,C6B7gGA,8DAmGI,oB7B86FJ,C6BjhGA,6BA4GI,a7Bw6FJ,C6Bv6FI,mCACE,a7By6FN,C6BvhGA,0BAmHI,a7Bu6FJ,C6Bt6FI,gEAEE,a7Bw6FN,C6Bp6FM,0LAEE,a7Bw6FR,C6Bh6FA,gBACE,sBACA,oB7Bk6FF,C6Bp6FA,8BAKI,a7Bk6FJ,C6Bj6FI,wEAGE,6BADA,U7Bo6FN,C6B56FA,8DAmBM,a7B+5FN,C6B75FM,8EAGE,6BADA,U7Bg6FR,C6B35FM,8HAIE,yBADA,U7B85FR,C6Bz5FM,oIAIE,6BADA,U7B45FR,C6Br5FM,wHAIE,yBADA,U7Bw5FR,C6Bn5FI,2FAIM,oB7Bm5FR,C6Bv5FE,0DAOM,wB7Bm5FR,C6B15FE,sDAUM,a7Bm5FR,C6Bl5FQ,wHAGE,6BADA,U7Bq5FV,C6Bh5FQ,6LAIE,yBADA,U7Bm5FV,C6B94FQ,mMAIE,6BADA,U7Bi5FV,CACF,C6Br+FA,+BA6FI,iB7B24FJ,C6B14FI,0EAEE,qB7B44FN,C6B5+FA,yCAmGM,qB7B44FN,C6B/+FA,8DAyGI,oB7B04FJ,C6Bn/FA,6BA6GI,a7By4FJ,C6Bx4FI,mCACE,U7B04FN,C6Bz/FA,0BAoHI,a7Bw4FJ,C6Bv4FI,gEAEE,U7By4FN,C6Br4FM,0LAEE,U7By4FR,CgC/gHA,YAIE,yBACA,kBAFA,eAAgB,CADhB,mBADA,gBhCqhHF,CgCthHA,eAQI,oBhCihHJ,CgCzhHA,yBAYM,WACA,iBAFA,ahCmhHN,CgC9hHA,oBAkBI,ahC+gHJ,CiC9hHA,OAGE,4BAA6B,CAC7B,kBAFA,mBADA,YjCmiHF,CiCpiHA,UASI,aAAc,CADd,YjCgiHJ,CiCxiHA,mBAcI,ejC6hHJ,CiC3iHA,mBAoBI,ejC2hHJ,CiC/iHA,WAwBI,cjC0hHJ,CiCjhHA,sCAEE,kBjCmhHF,CiCrhHA,oDASI,aAAc,CAHd,iBAAkB,CAElB,WAAY,CADZ,QjCqhHJ,CiC3gHA,eCtDE,yBACA,qBAFA,UlCukHF,CiChhHA,kBClDI,wBlCqkHJ,CiCnhHA,2BC9CI,alCokHJ,CiClhHA,YC1DE,yBACA,qBAFA,UlCklHF,CiCvhHA,eCtDI,wBlCglHJ,CiC1hHA,wBClDI,alC+kHJ,CiCzhHA,eC9DE,yBACA,qBAFA,UlC6lHF,CiC9hHA,kBC1DI,wBlC2lHJ,CiCjiHA,2BCtDI,alC0lHJ,CiChiHA,cClEE,yBACA,qBAFA,UlCwmHF,CiCriHA,iBC9DI,wBlCsmHJ,CiCxiHA,0BC1DI,alCqmHJ,CmC7mHA,OAUE,oBAJA,WALA,cAAe,CAEf,aAAc,CACd,eAAgB,CAChB,aAAc,CAHd,uBAKA,iBAAkB,CAElB,uBAAwB,CADxB,kBnCinHF,CmC3mHI,4BAEE,WAEA,cAAe,CADf,oBnC8mHN,CmCxmHE,aACE,YnC0mHJ,CmCtmHE,YACE,iBAAkB,CAClB,QnCwmHJ,CmCjmHA,eCtCE,wBpC0oHF,CoCvoHI,sDAEE,wBpCyoHN,CmCpmHA,eC1CE,wBpCipHF,CoC9oHI,sDAEE,wBpCgpHN,CmCvmHA,eC9CE,wBpCwpHF,CoCrpHI,sDAEE,wBpCupHN,CmC1mHA,YClDE,wBpC+pHF,CoC5pHI,gDAEE,wBpC8pHN,CmC7mHA,eCtDE,wBpCsqHF,CoCnqHI,sDAEE,wBpCqqHN,CmChnHA,cC1DE,wBpC6qHF,CoC1qHI,oDAEE,wBpC4qHN,CqCzqHA,wCACE,GAAQ,0BrC4qHR,CqC3qHA,GAAQ,uBrC8qHR,CACF,CqC3qHA,gCACE,GAAQ,0BrC8qHR,CqC7qHA,GAAQ,uBrCgrHR,CACF,CqCzqHA,UAIE,yBACA,kBjCsCA,kDACQ,0CiC3CR,YACA,mBACA,erC+qHF,CqCxqHA,cAQE,yBjCyBA,kDACQ,0CiC5BR,WALA,UAAW,CAGX,eADA,WAAY,CAEZ,iBAEA,iBAAkB,CjCoJlB,kCACK,6BACG,0BiC3JR,OrCqrHF,CqCrqHA,sDCDI,8KACA,+KACA,sKDEF,yBrCyqHF,CqClqHA,oDjC5CE,0DACK,qDACG,iDJktHV,CqC/pHA,sBEvEE,wBvCyuHF,CuCtuHE,wCDgDE,8KACA,+KACA,qKtCyrHJ,CqCnqHA,mBE3EE,wBvCivHF,CuC9uHE,qCDgDE,8KACA,+KACA,qKtCisHJ,CqCvqHA,sBE/EE,wBvCyvHF,CuCtvHE,wCDgDE,8KACA,+KACA,qKtCysHJ,CqC3qHA,qBEnFE,wBvCiwHF,CuC9vHE,uCDgDE,8KACA,+KACA,qKtCitHJ,CwClwHA,+BAGE,oBAAqB,CADrB,iBAAkB,CAElB,qBxCowHF,CwCxwHA,yCAOI,UAAW,CADX,iBxCuwHJ,CwCpwHI,wNAIE,SxC0wHN,CwCpwHA,4GAKI,gBxCqwHJ,CwChwHA,aACE,gBxCkwHF,CwCnwHA,oEAOI,UxCiwHJ,CwCxwHA,oEAYI,exCiwHJ,CwC7vHA,yEACE,exC+vHF,CwC3vHA,4BACE,axC6vHF,CwC5vHE,mEZnDA,6BADA,yB5BozHF,CwC3vHA,2FZhDE,4BADA,wB5BizHF,CwC1vHA,sBACE,UxC4vHF,CwC1vHA,8DACE,exC4vHF,CwC1vHA,uIZpEE,6BADA,yB5Bo0HF,CwCzvHA,oEZlEE,4BADA,wB5Bg0HF,CwCxvHA,oEAEE,SxC0vHF,CwCzuHA,iCAEE,gBAAiB,CADjB,iBxC4uHF,CwCzuHA,oCAEE,iBAAkB,CADlB,kBxC4uHF,CwCtuHA,iCpC/CE,oDACQ,2CJwxHV,CwCtuHE,0CpCnDA,wBACQ,eJ4xHV,CwCnuHA,YACE,axCquHF,CwCluHA,eAEE,sBxCouHF,CwCjuHA,uBACE,sBxCmuHF,CwC5tHA,4FAII,aAAc,CACd,UAAW,CAEX,cAAe,CADf,UxC8tHJ,CwCpuHA,oCAcM,UxCytHN,CwCvuHA,gJAuBI,aAAc,CADd,exCwtHJ,CwCltHE,4DACE,exCotHJ,CwCltHE,sDZpKA,4BADA,6BARA,2BACA,2B5Bo4HF,CwCptHE,sDZxKA,8BADA,+BARA,yBACA,yB5B04HF,CwCrtHA,uEACE,exCutHF,CwCrtHA,yJZhLE,4BADA,4B5B24HF,CwCptHA,6EZ/LE,yBACA,yB5Bs5HF,CwChtHA,qBAIE,wBAAyB,CAHzB,aAAc,CAEd,kBAAmB,CADnB,UxCotHF,CwCttHA,0DAOI,kBAAmB,CACnB,UAAW,CACX,QxCmtHJ,CwC5tHA,qCAYI,UxCmtHJ,CwC/tHA,+CAgBI,SxCktHJ,CwCjsHA,gNAMM,kBAAsB,CACtB,mBAAoB,CAFpB,iBxCosHN,CyC56HA,aAGE,wBAAyB,CADzB,aAAc,CADd,iBzCg7HF,CyC36HE,0BACE,UAAW,CAEX,cAAe,CADf,ezC86HJ,CyCt7HA,2BAqBI,UAAW,CAGX,eAAgB,CAThB,iBAAkB,CAQlB,UAAW,CAPX,SzC66HJ,CyCn6HI,iCACE,SzCq6HN,CyC35HA,uGtB4BE,kBAFA,eAFA,YAGA,sBAFA,iBnB24HF,CmBt4HE,yHACE,YACA,gBnB04HJ,CmBv4HE,sRAEE,WnB64HJ,CyC76HA,uGtBuBE,kBAFA,eAFA,YAGA,gBAFA,gBnBk6HF,CmB75HE,yHACE,YACA,gBnBi6HJ,CmB95HE,sRAEE,WnBo6HJ,CyC37HA,+DAGE,kBzC67HF,CyC37HE,wKACE,ezC+7HJ,CyC37HA,oCAIE,qBAAsB,CADtB,kBAAmB,CADnB,QzC+7HF,CyCx7HA,mBAOE,yBACA,yBACA,kBAJA,cAHA,eACA,eAAgB,CAChB,aAAc,CAHd,iBAKA,iBzC67HF,CyCv7HE,4BAGE,kBADA,eADA,gBzC27HJ,CyCv7HE,4BAGE,kBADA,eADA,iBzC27HJ,CyC78HA,6EA0BI,YzCu7HJ,CyCl7HA,wUbrGE,6BADA,yB5BkiIF,CyCn7HA,+BACE,czCq7HF,CyCn7HA,iTbzGE,4BADA,wB5BuiIF,CyCp7HA,8BACE,azCs7HF,CyCj7HA,iBAIE,WAAY,CACZ,kBzCi7HF,CyCt7HA,uCACE,iBzCw7HF,CyCz7HA,2BAYM,gBzCg7HN,CyC76HI,qFAGE,SzC+6HN,CyC16HE,0EAGI,iBzC26HN,CyCx6HE,wEAII,gBAAiB,CADjB,SzC06HN,C0CllIA,OAEE,e1CmlIF,C0CjlIE,mBACE,Y1CmlIJ,C0C/kIA,mBAGE,MAAO,CADP,e1CklIF,C0C9kIA,YACE,a1CglIF,C0C7kIA,cACE,a1C+kIF,C0C5kIE,4BACE,c1C8kIJ,C0C1kIA,gCAEE,iB1C4kIF,C0CzkIA,8BAEE,kB1C2kIF,C0CxkIA,qCAGE,kBAAmB,CACnB,kB1C0kIF,C0CvkIA,cACE,qB1CykIF,C0CtkIA,cACE,qB1CwkIF,C0CpkIA,eAEE,iBAAkB,CADlB,Y1CukIF,C0ChkIA,YAEE,eAAgB,CADhB,c1CmkIF,C2CvnIA,YAGE,kBAAmB,CADnB,c3CynIF,C2ChnIA,iBAME,sBACA,yBALA,aAAc,CAGd,kBAAmB,CAFnB,iBAAkB,CAFlB,iB3CunIF,C2C9mIE,6Bf7BA,2BACA,2B5B8oIF,C2C/mIE,4BfvBA,8BADA,+BeyBE,e3CmnIJ,C2C9mIE,0FAKE,yBAFA,cACA,kB3CinIJ,C2CrnIE,qKASI,a3CinIN,C2C1nIE,4JAYI,a3CmnIN,C2C9mIE,oFAKE,sBACA,qBAFA,cADA,S3CmnIJ,C2CtnIE,ogBAYI,a3CqnIN,C2CjoIE,sJAeI,U3CunIN,C2C5mIA,yCAEE,a3C8mIF,C2ChnIA,2FAKI,U3C+mIJ,C2C3mIE,0GAIE,sBAFA,cACA,oB3CgnIJ,C2C3mIA,uBAEE,eAAgB,CADhB,U3C8mIF,CcptIC,yB8BKG,yBADA,a5CotIJ,C4CjtII,yDAEE,a5CmtIN,C4CrtII,2GAKI,a5CotIR,C4CjtIM,0IAGE,yBADA,a5CstIR,C4CntIM,6OAIE,yBACA,qBAFA,U5C0tIR,CcjvIC,sB8BKG,yBADA,a5CivIJ,C4C9uII,mDAEE,a5CgvIN,C4ClvII,qGAKI,a5CivIR,C4C9uIM,8HAGE,yBADA,a5CmvIR,C4ChvIM,2NAIE,yBACA,qBAFA,U5CuvIR,Cc9wIC,yB8BKG,yBADA,a5C8wIJ,C4C3wII,yDAEE,a5C6wIN,C4C/wII,2GAKI,a5C8wIR,C4C3wIM,0IAGE,yBADA,a5CgxIR,C4C7wIM,6OAIE,yBACA,qBAFA,U5CoxIR,Cc3yIC,wB8BKG,yBADA,a5C2yIJ,C4CxyII,uDAEE,a5C0yIN,C4C5yII,yGAKI,a5C2yIR,C4CxyIM,sIAGE,yBADA,a5C6yIR,C4C1yIM,uOAIE,yBACA,qBAFA,U5CizIR,C2C9sIA,yBAEE,iBAAkB,CADlB,Y3CitIF,C2C9sIA,sBAEE,eAAgB,CADhB,e3CitIF,C6Cx0IA,OAEE,sBACA,4BAA6B,CzC2D7B,6CACQ,qCyC9DR,kB7C+0IF,C6Cv0IA,YACE,Y7Cy0IF,C6Cp0IA,eAEE,mCAAoC,CjBtBpC,2BACA,4BiBoBA,iB7Cy0IF,C6C/zIA,uDALI,a7C60IJ,C6Cx0IA,aAGE,eADA,eAAgB,CADhB,Y7Cu0IF,C6Cx0IA,iGAWI,a7Co0IJ,C6C/zIA,cAEE,sBjBxCA,8BADA,+BiB0CA,6BAFA,iB7Cq0IF,C6CzzIA,sDAGI,e7C0zIJ,C6C7zIA,wFAOM,eAAgB,CADhB,kB7C4zIN,C6CvzII,wIAEI,YAAa,CjBzEnB,2BACA,2B5Bm4IF,C6CrzII,oIAEI,eAAgB,CjBxEtB,8BADA,8B5Bk4IF,C6C90IA,+EjB5DE,yBACA,yB5B64IF,C6C5yIA,kFACE,kB7CizIF,C6CzyIA,4EAII,e7C0yIJ,C6C9yIA,oGAQM,kBADA,kB7C6yIN,C6CpzIA,0XAmBQ,2BACA,2B7C4yIR,C6Ch0IA,wsBAwBU,0B7CkzIV,C6C10IA,gsBA4BU,2B7CwzIV,C6Cp1IA,yWA0CQ,8BADA,8B7CuzIR,C6Ch2IA,4qBA8CU,6B7C4zIV,C6C12IA,oqBAkDU,8B7Ck0IV,C6Cp3IA,8HA2DI,yB7C+zIJ,C6C13IA,oGA+DI,Y7C+zIJ,C6C93IA,gEAmEI,Q7C+zIJ,C6Cl4IA,gqBA0EU,a7Cs0IV,C6Ch5IA,opBA8EU,c7Cg1IV,C6C95IA,w3BAgGU,e7Ck1IV,C6Cl7IA,yBAuGI,QAAS,CADT,e7Cg1IJ,C6Cr0IA,aACE,kB7Cu0IF,C6Cx0IA,oBAMI,kBADA,e7Cu0IJ,C6C50IA,2BASM,c7Cs0IN,C6C/0IA,4BAcI,e7Co0IJ,C6Cl1IA,gHAkBM,4B7Co0IN,C6Ct1IA,2BAuBI,Y7Ck0IJ,C6Cz1IA,uDAyBM,+B7Cm0IN,C6C5zIA,eC5PE,iB9C2jJF,C8CzjJE,8BAEE,sBACA,kBAFA,a9C6jJJ,C8C9jJE,0DAMI,qB9C2jJN,C8CjkJE,qCAUI,yBADA,U9C4jJN,C8CxjJE,yDAEI,wB9CyjJN,C6C30IA,eC/PE,oB9C6kJF,C8C3kJE,8BAEE,yBACA,qBAFA,U9C+kJJ,C8ChlJE,0DAMI,wB9C6kJN,C8CnlJE,qCAUI,sBADA,a9C8kJN,C8C1kJE,yDAEI,2B9C2kJN,C6C11IA,eClQE,oB9C+lJF,C8C7lJE,8BAEE,yBACA,qBAFA,a9CimJJ,C8ClmJE,0DAMI,wB9C+lJN,C8CrmJE,qCAUI,yBADA,a9CgmJN,C8C5lJE,yDAEI,2B9C6lJN,C6Cz2IA,YCrQE,oB9CinJF,C8C/mJE,2BAEE,yBACA,qBAFA,a9CmnJJ,C8CpnJE,uDAMI,wB9CinJN,C8CvnJE,kCAUI,yBADA,a9CknJN,C8C9mJE,sDAEI,2B9C+mJN,C6Cx3IA,eCxQE,oB9CmoJF,C8CjoJE,8BAEE,yBACA,qBAFA,a9CqoJJ,C8CtoJE,0DAMI,wB9CmoJN,C8CzoJE,qCAUI,yBADA,a9CooJN,C8ChoJE,yDAEI,2B9CioJN,C6Cv4IA,cC3QE,oB9CqpJF,C8CnpJE,6BAEE,yBACA,qBAFA,a9CupJJ,C8CxpJE,yDAMI,wB9CqpJN,C8C3pJE,oCAUI,yBADA,a9CspJN,C8ClpJE,wDAEI,2B9CmpJN,C+ClqJA,OAIE,eAAgB,CAFhB,cADA,cAAe,CAEf,iB/CqqJF,C+CxqJA,UAOI,c/CoqJJ,C+C3qJA,2BAYM,sBACA,sBACA,mBAJA,oBAAqB,CACrB,gB/CwqJN,C+CnrJA,oCAoBM,yBADA,oB/CqqJN,C+CxrJA,iCA2BM,W/CiqJN,C+C5rJA,yCAkCM,U/C8pJN,C+ChsJA,2FA6CM,sBAFA,cACA,kB/C4pJN,CgD1sJA,YAIE,kBAHA,oBAAqB,CAErB,cADA,chD8sJF,CgDhtJA,eAOI,chD4sJJ,CgDntJA,qCAiBM,sBACA,sBAHA,cAJA,UAAW,CAGX,uBADA,gBAAiB,CADjB,iBAFA,iBAAkB,CAMlB,oBhD+sJN,CgD3sJM,kGAIE,yBACA,kBAFA,cADA,ShDktJR,CgD5sJI,6DpBfF,8BADA,2BoBmBM,ahD+sJR,CgD3sJI,2DpB9BF,+BADA,2B5B+uJF,CgDtsJI,qKAME,yBACA,qBAHA,WACA,cAAe,CAFf,ShD+sJN,CgD/vJA,iLAiEM,sBACA,kBAHA,cACA,kBhD0sJN,CgD/rJA,2CCvEM,eACA,sBAFA,iBjD6wJN,CiDzwJI,mErBMF,8BADA,0B5BywJF,CiDxwJI,iErBRF,+BADA,2B5BsxJF,CgD1sJA,2CC5EM,eACA,gBAFA,gBjD6xJN,CiDzxJI,mErBMF,8BADA,0B5ByxJF,CiDxxJI,iErBRF,+BADA,2B5BsyJF,CkDzyJA,kBAEE,aAAc,CACd,QAAS,CAET,eAAgB,CADhB,SAAU,CAHV,iBlD+yJF,CkDhzJA,2IAkBI,QAAS,CAJT,QAAS,CAGT,WAAY,CAFZ,MAAO,CAHP,iBAAkB,CAClB,KAAM,CAGN,UlD6yJJ,CkDtyJA,wBACE,qBlDwyJF,CkDpyJA,uBACE,kBlDsyJF,CmDj0JA,MAIE,sBAEA,kB/C0DA,mDACQ,2C+C9DR,kBAAmB,CAFnB,eAAgB,CAChB,YnDy0JF,CmD30JA,iBASI,iBAAkB,CAClB,4BnDq0JJ,CmDh0JA,SAEE,kBADA,YnDm0JF,CmDh0JA,SAEE,kBADA,WnDm0JF,CoDt1JA,OAKE,W9BRA,yB8BIA,WAAY,CACZ,eACA,gBACA,aAAc,C9BNd,W8BQA,wBpD01JF,CoDv1JE,0BAEE,WAEA,cAAe,C9BhBjB,yBACA,W8BcE,oBpD41JJ,CoDn1JE,aAKE,uBAAwB,CACxB,eAAgB,CAHhB,sBAAuB,CACvB,QAAS,CAFT,cAAe,CADf,SpD01JJ,CqDj3JA,OAWE,yBACA,mBALA,WANA,oBAAqB,CAGrB,eACA,gBACA,cAJA,cAAe,CACf,eAAgB,CAKhB,iBAAkB,CAElB,qBAAsB,CADtB,kBrDs3JF,CqDh3JE,aACE,YrDk3JJ,CqD92JE,YACE,iBAAkB,CAClB,QrDg3JJ,CqD72JE,yCAGE,eAAgB,CADhB,KrDg3JJ,CqD12JI,4BAEE,WAEA,cAAe,CADf,oBrD62JN,CqDv2JE,2DAGE,sBADA,arD02JJ,CqDt2JE,wBACE,WrDw2JJ,CqDr2JE,+BACE,gBrDu2JJ,CqDp2JE,uBACE,erDs2JJ,CsDt5JA,mBAJE,etDy6JF,CsDr6JA,OASE,gCAAiC,CALjC,QAAS,CAGT,YAAa,CAFb,MAAO,CAQP,SAAU,CAZV,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,YtD+5JF,CsDr5JE,0BlDiHA,mCACI,+BACC,8BACG,2BAkER,kDACG,4CACE,wCACG,iCJsuJV,CsD35JE,wBlD6GA,+BACI,2BACC,0BACG,sBJizJV,CsD/5JA,mBACE,iBAAkB,CAClB,etDi6JF,CsD75JA,cAGE,WAAY,CAFZ,iBAAkB,CAClB,UtDg6JF,CsD35JA,eAGE,2BAA4B,CAD5B,sBAEA,sBACA,gCACA,kBlDcA,4CACQ,oCkDZR,SAAU,CARV,iBtDq6JF,CsDz5JA,gBAOE,yBAHA,QAAS,CACT,MAAO,CAJP,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,YtD45JF,CsDz5JE,qBhCpEA,wBACA,StBg+JF,CsD55JE,mBhCrEA,yBACA,UtBo+JF,CsD35JA,cAEE,gCADA,YtD85JF,CsDz5JA,qBACE,etD25JF,CsDv5JA,aAEE,uBADA,QtD05JF,CsDp5JA,YAEE,aADA,iBtDu5JF,CsDl5JA,cAGE,6BAFA,aACA,gBtDq5JF,CsDv5JA,wBAQI,eAAgB,CAChB,etDk5JJ,CsD35JA,mCAaI,gBtDi5JJ,CsD95JA,oCAiBI,atDg5JJ,CsD34JA,yBAIE,WAAY,CACZ,eAAgB,CAJhB,iBAAkB,CAClB,WAAY,CACZ,UtD+4JF,CsDz4JA,yBAEE,cAEE,gBAAiB,CADjB,WtD24JF,CsDx4JA,elDrEA,6CACQ,oCJg9JR,CsDv4JA,UAAY,WtD04JZ,CACF,CsDx4JA,yBACE,UAAY,WtD24JZ,CACF,CuDnhKE,qsBAGE,WAAY,CADZ,avDsjKJ,CuDnjKE,0VACE,UvDqkKJ,C+B3kKA,cyBVE,aAAc,CAEd,gBAAiB,CADjB,iBxDylKF,C+B7kKA,YACE,qB/B+kKF,C+B7kKA,WACE,oB/B+kKF,C+BvkKA,MACE,sB/BykKF,C+BvkKA,MACE,uB/BykKF,C+BvkKA,WACE,iB/BykKF,C+BvkKA,W0BtBE,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,WAEA,gBzDqmKF,C+BrkKA,QACE,sB/BukKF,C+BhkKA,OACE,c/BkkKF,CcnmKA,cACE,kBdqmKF,CcxlKA,wSAYE,sBdgmKF,Cc5lKE,qC4CjDA,uB1DipKA,C0DhpKA,iBAAU,uB1DmpKV,C0DlpKA,cAAU,2B1DqpKV,C0DppKA,4BACU,4B1DupKV,CcrmKA,kBACE,uBdymKF,CcrmKA,mBACE,wBdymKF,CcrmKA,yBACE,8BdymKF,CAdF,CctlKE,2D4CtEA,uB1D+qKA,C0D9qKA,iBAAU,uB1DirKV,C0DhrKA,cAAU,2B1DmrKV,C0DlrKA,4BACU,4B1DqrKV,Cc9mKA,kBACE,uBdknKF,Cc9mKA,mBACE,wBdknKF,Cc9mKA,yBACE,8BdknKF,CAdF,Cc/lKE,4D4C3FA,uB1D6sKA,C0D5sKA,iBAAU,uB1D+sKV,C0D9sKA,cAAU,2B1DitKV,C0DhtKA,4BACU,4B1DmtKV,CcvnKA,kBACE,uBd2nKF,CcvnKA,mBACE,wBd2nKF,CcvnKA,yBACE,8Bd2nKF,CAdF,CcxmKE,sC4ChHA,uB1D2uKA,C0D1uKA,iBAAU,uB1D6uKV,C0D5uKA,cAAU,2B1D+uKV,C0D9uKA,4BACU,4B1DivKV,CchoKA,kBACE,uBdooKF,CchoKA,mBACE,wBdooKF,CchoKA,yBACE,8BdooKF,CAdF,CcjnKE,oC4C7HA,sB1DiwKA,CACF,CchoKE,0D4ClIA,sB1DswKA,CACF,CchoKE,2D4CvIA,sB1D2wKA,CACF,CchoKE,qC4C5IA,sB1DgxKA,CACF,Cc1nKA,e4CvJE,sB1DoxKF,Cc1nKE,4B4ClKA,uB1DgyKA,C0D/xKA,oBAAU,uB1DkyKV,C0DjyKA,iBAAU,2B1DoyKV,C0DnyKA,kCACU,4B1DsyKV,CACF,CcroKA,qBACE,sBduoKF,CcroKE,kCACE,uBdwoKF,CACF,CctoKA,sBACE,sBdwoKF,CctoKE,mCACE,wBdyoKF,CACF,CcvoKA,4BACE,sBdyoKF,CcvoKE,yCACE,8Bd0oKF,CcroKA,c4CrLA,sB1D+zKA,CAJF,C2Dj0KA,oCACE,UAEE,iB3Dw0KF,CACF,C2Dp0KA,oCACE,kBACE,sB3Ds0KF,CACF,C2Dn0KA,0DACE,eACE,yB3Dq0KF,C2Dl0KA,kBACE,sB3Do0KF,C2Dj0KA,oBACE,0B3Dm0KF,C2Dh0KA,sBACE,wB3Dk0KF,CACF,C2D/zKA,oCACE,eACE,yB3Di0KF,C2D9zKA,oBACE,0B3Dg0KF,CACF,C4Dx2KA,cACE,yBAMA,MAAS,CALT,eAGA,cAAe,CACf,SAAU,CAKV,uBAA0B,CAR1B,UAAW,CAMX,Y5Dy2KF,C4Dr2KE,mBAEE,WAAY,CADZ,K5Dw2KJ,C4Dt3KA,gBAqBI,cAFA,a5Du2KJ,C4Dj2KE,kDACE,iB5Do2KF,C4Dr2KA,mBAMI,eAFA,iB5Dq2KJ,CACF,C6Dn4KA,iBAOE,eAIA,mBAAoB,CAVpB,cAAe,CAKf,iBAAkB,CAJlB,SAAU,CAOV,uBAA0B,CAN1B,UAAW,CACX,Y7Dy4KF,C6Dh4KE,oBACE,KAAQ,CACR,uB7Dk4KJ,C6Dj5KA,mBAoBI,0BADA,oBAAqB,CAErB,QAAW,CAEX,kB7Dg4KJ,C8Dv5KA,mBAQE,kCALA,WAAY,CAEZ,MAAS,CAIT,iBAAkB,CARlB,cAAe,CAGf,KAAQ,CAFR,UAAW,CAIX,Y9D25KF,C8Dj6KA,8BAYI,gBACA,iB9Dw5KJ,C8Dp5KA,mBAME,2BAA4B,CAL5B,sBACA,sBACA,gCACA,kB1D6CA,4CACQ,oC0D3CR,SAAU,CAEV,iB9Ds5KF,C8Dn5KA,kBAGE,gCAFA,c9Ds5KF,C8Dv5KA,qBAMI,Y9Do5KJ,C8D15KA,oBAUI,QAAS,CACT,S9Dm5KJ,C8D/4KA,gBACE,c9Di5KF,C8Dl5KA,uBAII,QAAS,CACT,S9Di5KJ,C8D74KA,kBRgDE,6BQ7CA,eR4CA,gBtDo2KF,C8Dn5KA,4BRqDI,eAAgB,CAChB,etDi2KJ,C8Dv5KA,uCR0DI,gBtDg2KJ,C8D15KA,wCR8DI,atD+1KJ,C8Dt5KA,+BACE,e9Dw5KF,C+Dr9KA,QAEE,WAAY,CACZ,iBAAkB,CAFlB,U/Dy9KF,C+Dr9KE,sBACE,a/Du9KJ,C+Dn9KA,uBAQE,4CAA6C,CAC7C,+CAAgD,CAChD,gDAAiD,CACjD,oDAAqD,CACrD,iDAAkD,CALlD,gCAA+B,CAF/B,iBAAkB,CAElB,kBAA+B,CAA/B,gBAA+B,CAL/B,WAAY,CACZ,aAAc,CAFd,U/Dg+KF,C+Dl9KA,wBACE,GAEE,uB/Dm9KF,CACF,C+Dh9KA,2BACE,GACE,0BAA4B,CAC5B,uB/Dk9KF,CACF,C+D/8KA,4BACE,GACE,2BAA6B,CAC7B,uB/Di9KF,CACF,C+D98KA,gCACE,GACE,+BAAiC,CACjC,uB/Dg9KF,CACF,C+D78KA,6BACE,GACE,4BAA8B,CAC9B,uB/D+8KF,CACF,CgEvgLA,QACE,ehEygLF,CgErgLA,mCAMI,eAFA,oBADA,gBhEugLJ,CgElgLI,qCACE,oBAAqB,CACrB,qBhEogLN,CgE9gLA,uCAcM,YACA,gBhEmgLN,CgElhLA,sCAoBI,gBhEigLJ,CgErhLA,kCA+BI,cAPA,aAAc,CACd,YAGA,kBACA,iBhEigLJ,CgE7/KI,gFAGE,6BADA,ahEggLN,CgEniLA,iDA2CM,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,UhEigLN,CgEziLA,yCAgDM,yBAMA,aAAc,CALd,iBAAkB,CAGlB,SAAU,CADV,OhE6/KN,CgEr/KI,oIAGE,yBAEA,ahEs/KN,CgEtjLA,+DAuEI,WhEm/KJ,CgE1jLA,uFA0EM,gBhEo/KN,CgE9jLA,gDAgFI,YhEi/KJ,CgEjkLA,oDAoFM,YADA,UhEk/KN,CgE3+KA,8BACE,wBAAyB,CACzB,aAAc,CACd,QAAW,CACX,kBAAmB,CACnB,UhE6+KF,CgE3+KE,iCACE,kBAAmB,CACnB,UhE6+KJ,CgE1+KE,2EAEE,eAAgB,CAChB,WAAY,CAOZ,cANA,aAAc,CAEd,mBAAoB,CADpB,gBAAiB,CAMjB,iBAAkB,CAHlB,UhE6+KJ,CgEx+KI,uQAIE,yBADA,ahE8+KN,CgE1+KI,mFAEE,YADA,UhE8+KN,CgEz+KE,wCACE,oBhE2+KJ,CgEx+KE,kDACE,eACA,gBhE0+KJ,CgEr+KA,yBACE,sBACE,ehEu+KF,CACF,CgEn+KA,mCACE,YhEq+KF,CgEl+KA,yBACE,qCACE,YhEo+KF,CgEj+KA,mCACE,ahEm+KF,CACF,CiEroLE,2BAKE,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CATjB,2BAEA,iBAAkB,CAGlB,UjEwoLJ,CiEhpLA,mBAgBI,iBAAkB,CAClB,OjEmoLJ,CkEppLA,WACE,0BAA6B,CAC7B,iBAAkB,CAClB,eAAgB,CAChB,4CACA,uOlEupLF,CkEjpLA,eAYE,gBAAiB,CAKjB,kCAAmC,CAKnC,iCAAkC,CAGlC,4BAA6B,CAX7B,aAAc,CAVd,oBAAqB,CAHrB,0BAA6B,CAE7B,iBAAkB,CADlB,eAAmB,CAInB,UAAW,CAIX,qBAAsB,CAHtB,aAAc,CACd,iBAAkB,CAWlB,iCAAkC,CAVlC,mBAAoB,CAEpB,qBAAsB,CAEtB,kBAAmB,CARnB,SlEoqLF,CmEnrLA,eACE,mBACA,gCACA,aAAc,CACd,gBnEqrLF,CmEzrLA,0BAOI,gBnEqrLJ,CmE5rLA,iBAYI,eAAkB,CADlB,anEqrLJ,CmE7qLA,oCACE,eACE,iBnE+qLF,CmEhrLA,6BAII,WnE+qLJ,CmEnrLA,4CAOM,enE+qLN,CACF,CmEzqLA,oCACE,2BAGI,oBADA,gBnE2qLJ,CmE7qLA,6BAOI,UAAW,CAEX,QAAS,CADT,iBnE0qLJ,CmElrLA,4CAYM,cnEyqLN,CmErrLA,6BAiBI,iBACA,enEuqLJ,CmEzrLA,+BAqBM,enEuqLN,CmE5rLA,mCA0BM,eAAkB,CADlB,YnEuqLN,CACF,CmEhqLA,cACE,cnEkqLF,CmEnqLA,sBAKI,YACA,iBAAkB,CAFlB,UnEoqLJ,CmExqLA,qCAWI,YADA,UnEkqLJ,CmE5pLA,wBACE,enE8pLF,CmE1pLA,kBACE,kBnE4pLF,CmEzpLA,oDACE,enE2pLF,CmEvpLA,+BAEI,QnEwpLJ,CmE1pLA,+BAMI,anEupLJ,CoE/vLA,mDAIE,qBACA,uBAHA,WADA,OpEowLF,CoE5vLA,0BACE,eACA,iBpE8vLF,CoEhwLA,wCAOI,eACA,iBAHA,kBpEgwLJ,CoErwLA,wCAYI,kBpE4vLJ,CoEvvLA,8BACE,eACA,iBpEyvLF,CoE3vLA,4CAOI,eACA,iBAHA,kBpE2vLJ,CqE1xLA,gCAEE,sBAAuB,CACvB,wBrE4xLF,CqE/xLA,8DAUI,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CATjB,sBAAiB,CAEjB,iBAAkB,CAGlB,UrE8xLJ,CqEtxLA,oCACE,gBAEE,aAAc,CADd,UrEyxLF,CqE1xLA,+BAKI,UAAW,CACX,crEwxLJ,CqE9xLA,0BAUI,aAAc,CAEd,gBAAiB,CAEjB,eAAgB,CAChB,kBrEqxLJ,CACF,CqEhxLA,yBAGE,YAAa,CAFb,iBAAkB,CAClB,WrEmxLF,CqE9wLA,aACE,iBrEgxLF,CqEjxLA,2BAII,kBrEgxLJ,CqEpxLA,4BAYI,cACA,cAAe,CACf,gBAAiB,CAEjB,mBAAoB,CARpB,iBAAkB,CAElB,SAAU,CADV,OrEoxLJ,CsE70LE,sIAOE,iBtE80LJ,CsEr1LE,sLAWI,WAAY,CACZ,gBtEk1LN,CsEh1LM,8MAEE,WAAY,CADZ,UtEw1LR,CsEl1LE,yCAEE,4BADA,wBtEq1LJ,CsE7zLE,yMAEE,yBADA,qBtEg1LJ,CsE10LA,oBAGE,UAAW,CAFX,gBAAiB,CACjB,iBtE60LF,CsEx0LA,yBAME,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,gBAAiB,CAEjB,UtE40LF,CsEr0LA,oBACE,gBtEu0LF,CsEp0LA,yBACE,iBtEs0LF,CsEl0LA,oBACE,cAAiB,CACjB,etEo0LF,CuEt5LA,0FAKE,WAAY,CACZ,UAAW,CAKX,cAPA,aAAc,CAGd,UAAW,CAKX,eAAmB,CACnB,uBALA,gBAAiB,CAMjB,eAAgB,CAChB,kBAAmB,CANnB,UvE65LF,CuE74LE,0VANE,yBAEA,cACA,oBvEo6LJ,CuE15LE,8HACE,uBvE+5LJ,CuEh8LA,sJA0CI,UAAW,CAEX,cAAe,CALf,uBAEA,iBvEi6LJ,CuE18LA,sHAgDI,WAAY,CAEZ,iBAAkB,CAClB,OvE+5LJ,CuE15LA,YACE,cACA,SvE45LF,CuEz5LA,eAIE,eAAgB,CAHhB,sBACA,SvE45LF,CuEt5LA,eACE,WvEw5LF,CuEp5LA,gCACE,gBvEs5LF,CuEl5LA,iCAEE,oBvEo5LF,CuEt5LA,sCAKI,YvEo5LJ,CuE/4LA,iBACE,iBvEi5LF,CuE94LA,sEAEE,WAAY,CACZ,eAAgB,CAEhB,aAAc,CACd,QAAW,CACX,UvE+4LF,CuE34LA,8BACE,iBvE64LF,CuE94LA,mCAII,QvE64LJ,CuEx4LA,uBACE,WvE04LF,CuEv4LA,gCAGE,eAFA,gBvE04LF,CuE34LA,uCAMI,evEw4LJ,CuEj4LE,oEACE,WvEo4LF,CACF,CuEj4LA,6CAEE,oBAAqB,CADrB,kBvEo4LF,CuE/3LA,oCACE,+BAEE,WAAY,CADZ,eAAkB,CAalB,QAAW,CnE3Fb,oCACQ,4BmEqFN,UAAW,CAOX,QAAW,CAZX,gBAAiB,CACjB,eAAgB,CAchB,iBANA,cAAe,CAHf,QAAS,CACT,UvEo4LF,CuE/4LA,kCA0BI,UAAW,CAJX,UAAW,CAEX,QvE43LJ,CuEx3LI,2EAKE,gCAFA,oBADA,gBvE43LN,CACF,CwE7iMA,gBACE,mBAAqB,CACrB,sBxE+iMF,CwE5iMA,oKAME,UxE8iMF,CwE3iMA,sLAME,yBACA,axE6iMF,CyE9jMA,sDAIE,SAAU,CAHV,QAAW,CACX,aAAgB,CAGhB,OAAU,CAFV,WzEkkMF,CyE5jMA,qCACE,QAAW,CACX,YzE8jMF,CyE1jMA,2BACE,iBzE4jMF,CyExjMA,wBACE,UzE0jMF,CyE3jMA,2BAII,QAAW,CAEX,eAAgB,CAChB,sBAAuB,CAFvB,kBzE4jMJ,CyEjkMA,8BAWI,aAAc,CAEd,czEyjMJ,C0E1lMA,gBACE,kB1E4lMF,C0EzlMA,aACE,QAAW,CACX,c1E2lMF,C0E7lMA,gBAOI,oBAAqB,CAFrB,Q1E4lMJ,C0EjmMA,0BAWI,WAAY,CACZ,e1EylMJ,C0EvlMI,oCACE,aAAgB,CAChB,gB1EylMN,C0ErlME,oEAGM,e1EslMN,C0EzlMA,kCAOM,c1EqlMN,CACF,C0E/kMA,oCACE,cAEI,gB1EglMJ,C0EllMA,oCAYM,cAAe,CAJf,WAAY,CAKZ,gBAAiB,CAHjB,aAAgB,CAHhB,U1EklMN,CACF,C0EtkMA,kBACE,kB1EwkMF,C0ErkMA,8BACE,eAAgB,CAEhB,iBAEA,aAAc,CADd,S1EwkMF,C0EnkME,yEAEE,aAAc,CACd,U1EqkMJ,C0ElkME,wCACE,e1EokMJ,C0E/jMA,YAEE,mBADA,gB1EkkMF,C0EnkMA,2BAQI,eAHA,YAIA,iBAEA,iBAAkB,CAClB,QAAS,CANT,U1EqkMJ,C0E3jMA,8BACE,e1E6jMF,C0EzjMA,cAEE,oBADA,e1E4jMF,C0ExjMA,2BACE,e1E0jMF,C0EvjMA,8BACE,eAAkB,CAClB,gBAAiB,CACjB,aAAc,CACd,kB1EyjMF,C0E7jMA,2CAaI,UAAW,CAEX,cAAe,CAPf,WAAY,CAQZ,gBAAiB,CANjB,gBAAiB,CAEjB,iBAAkB,CALlB,U1E+jMJ,C0EnjME,wFAEE,U1EqjMJ,C0EljME,6CACE,gBAAiB,CAEjB,iBAAkB,CAClB,O1EmjMJ,C0E/iMA,oCACE,2BACE,c1EijMF,C0EljMA,6CAII,O1EijMJ,CACF,C0E5iMA,wBAEE,oBADA,e1E+iMF,C0E1iME,gCACE,Q1E4iMJ,C0E1iMI,kCACE,e1E4iMN,C0EviMA,cAEI,aAAc,CACd,eAAgB,CAEhB,kB1EuiMJ,C0E5iMA,iCASM,oBAAqB,CACrB,UAAW,CAEX,kB1EsiMN,C0EljMA,+DAeQ,gB1EuiMR,C0EliME,0DAEI,cAAiB,CACjB,e1EoiMJ,C0EviMA,gBAOI,oBACA,oB1EmiMJ,C0E5hMA,yBACE,e1EgiMF,CAJF,C0EvhMA,iBACE,kB1E8hMF,C2EpvMA,oCACE,oBACE,iB3EsvMF,C2EvvMA,kCAII,W3EsvMJ,C2E1vMA,iDAOM,e3EsvMN,CACF,C2EhvMA,oCACE,oBAEE,sB3EkvMF,C2EpvMA,kCAKI,U3EkvMJ,C2EvvMA,iDAQM,c3EkvMN,C2E1vMA,kCAaI,iBACA,e3EgvMJ,C2E9vMA,wCAiBM,e3EgvMN,C2EjwMA,8CAqBM,iB3E+uMN,CACF,C2EzuMA,oBACE,SAAY,CAEZ,iB3E0uMF,C4EzxMA,eAEE,mBADA,e5E4xMF,C4E7xMA,+BAMI,gB5E2xMJ,C4EtxMA,gDAEE,UAAW,CAEX,eAHA,iB5E0xMF,C6EtyMA,YzEgBE,0DACK,qDACG,kDyEjBR,a7E2yMF,C6EtyMA,gCACE,GvDRA,0BACA,StBizMA,C6EvyMA,IvDXA,yBACA,UtBqzMA,C6ExyMA,GvDdA,0BACA,StByzMA,CACF,C6EvyMA,iBACE,mBACA,mBAAoB,CACpB,oBAAqB,CACrB,YAEA,iBAAkB,CAClB,O7EwyMF,C6EryMA,uCAEI,gB7EsyMJ,C6EpyMI,kDACE,c7EsyMN,C6EhyMA,gBACE,mBACA,iB7EkyMF,C8E70MA,oBACE,gB9E+0MF,C8E30MA,YACE,iB9E60MF,C8Ez0MA,oCACE,iBACE,kBACA,kB9E20MF,CACF,C+Ez1MA,mBACE,Y/E21MF,C+E51MA,wBAII,aAAc,CACd,U/E21MJ,C+Eh2MA,6BASI,gB/E01MJ,C+Er1MA,oCACE,iCACE,M/Eu1MF,CACF,CgFx2MA,eACE,YhF02MF,CgFt2ME,uHAIE,sBAAuB,CACvB,kBAAmB,C5EwDrB,wBACQ,gB4EtDN,aAIA,YAAa,CAFb,kBAIA,ehFs2MJ,CgFr3MA,wCAyBI,eAAgB,CAEhB,cAHA,cAAe,CAHf,WAAY,CAFZ,iBAGA,UhFu2MJ,CgF/1ME,qDACE,ahFi2MJ,CgF71MA,WACE,chF+1MF,CgF51MA,oCAWE,eAAgB,CAPhB,UAAW,CAKX,cACA,cAAe,CAJf,WAAY,CALZ,gBAAiB,CAEjB,iBAAkB,CAIlB,UhF+1MF,CgFx1MA,cACE,ehF01MF,CgFx1ME,kDACE,ehF21MF,CgF51MA,mBAII,YhF21MJ,CACF,CiF15ME,sCACE,ajF45MJ,CiFz5ME,sCACE,ajF25MJ,CiFx5ME,uCACE,ajF05MJ,CkFn6ME,+CACE,iBlFs6MF,CACF,CkFl6MA,4BAEE,WAAY,CADZ,UlFq6MF,CkFh6MA,oCACE,wBACE,YlFk6MF,CACF,CkF/5MA,oCACE,kBACE,YlFi6MF,CACF,CmFx7MA,SACE,aAAc,CACd,cnF07MF,CmFv7MA,iBAEE,YAAa,CACb,MAAO,CAFP,oBAAqB,CAGrB,kBnFy7MF,CmFt7MA,cACE,MAAO,CACP,cnFw7MF,CmF17MA,iCAMI,QnFw7MJ,CmFp7MA,qBACE,MnFs7MF,CmFn7MA,gBACE,YnFq7MF,CmFl7MA,oCACE,SACE,YnFo7MF,CmFj7MA,+BAIE,kBAAmB,CAFnB,MnFo7MF,CmF/6MA,0FAEE,MnFi7MF,CmF96MA,gBACE,aAAc,CACd,MnFg7MF,CmF76MA,2BACE,WnF+6MF,CACF,CmF16MA,oCACE,gBACE,iBnF46MF,CACF,CoF1+MA,KACE,qBpF4+MF,CoFz+MA,YAGE,oBpF2+MF,CoFv+ME,0FANA,cACA,epFm/MF,CoFt+ME,mBACE,yBpFw+MJ,CoFp+MA,cACE,iBpFs+MF,CoFv+MA,6BAMI,cAAe,CAGf,WAAY,CAFZ,gBAAiB,CAHjB,0BAMA,UpFo+MJ,CoFh+MA,eAEE,eAAgB,CAChB,sBAAuB,CAFvB,kBpFo+MF,CqF1gNA,6HAQI,oBrF2gNJ,CqFtgNA,4GAOI,erFugNJ,CqFlgNA,6CAEE,arFogNF,CqFlgNE,mEACE,YrFqgNJ,CqFlgNE,iEACE,erFqgNJ,CqFhgNA,mBAEE,gBAAiB,CADjB,crFmgNF,CqF9/MA,sDAEE,mBACA,WAAY,CAEZ,crF+/MF,CqFpgNA,oFAQI,gCAGA,eACA,eAAiB,CAHjB,iBrFkgNJ,CqF3/MA,sDAEE,wBrF6/MF,CqF1/MA,2BACE,gBACA,QAAW,CACX,YrF4/MF,CqF1/ME,8EAEE,wBrF4/MJ,CqFv/MA,8BACE,mBAGA,crFw/MF,CqFr/MA,8BACE,yBACA,iBrFu/MF,CqFp/MA,6BACE,gBACA,QAAW,CACX,YrFs/MF,CqFn/MA,gCASE,erFq/MF,CqFl/MA,wDACE,YrFo/MF,CqFh/MA,uCAII,sBrFk/MJ,CqF9+MA,uCAII,uBrFg/MJ,CqF3+MA,mBACE,eAAgB,CAChB,WAAY,CAIZ,UAAW,CAFX,eAAgB,CADhB,YrF++MF,CqFl/MA,6BASI,aACA,arF4+MJ,CsFxnNA,yDAEI,kBAMA,YAAa,CALb,aAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAElB,WtFynNJ,CsFhoNA,iEAWM,YAAa,CAIb,YAAa,CAFb,iBAAkB,CAClB,QtFwnNN,CsFtoNA,wFAqBQ,6BAA+B,CAH/B,iBAAkB,CAMlB,YAAa,CADb,WtFunNR,CsFlnNI,6EhE7BF,yBACA,WtBkpNF,CsFtnNI,iFAMI,atFmnNR,CsF/mNI,kFAIE,YAAa,CAHb,mBAEA,WtFknNJ,CsFrnNE,6DAQI,YAAa,CADb,WtFknNN,CsFznNE,iEAaI,YAAa,CADb,QtFinNN,CsF7nNE,wFAiBM,YAAa,CADb,WtFinNR,CACF,CsFxqNA,8CA8DI,etF6mNJ,CsFxmNA,0CACE,iBtF0mNF,CsF3mNA,yDAII,sBAAuB,CACvB,yBACA,kBlFRF,wBACQ,gBkFWN,cACA,eAJA,kBAKA,iBtF0mNJ,CsFxmNI,wEACE,aAAc,CAId,eAEA,YAJA,qBAGA,UtF0mNN,CsFtmNI,+HAEE,qBACA,atFwmNN,CsFnoNA,sDAgCI,iBtFsmNJ,CsFtoNA,+DAqCM,kBACA,mBAEA,eAAgB,CAChB,UtFmmNN,CsF5oNA,qEA8CM,aAAgB,CADhB,StFmmNN,CsF5lNA,8BACE,atF8lNF,CsF/lNA,uDAOI,uBAAwB,CAGxB,qBAAuB,CANvB,gBASA,UtFylNJ,CsFvlNI,sFAGE,mBACA,WAAY,CACZ,iBAAkB,CAHlB,UAAW,CADX,UtF6lNN,CsFtlNI,6EACE,uBAAwB,CAKxB,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CAIZ,eAAgB,CAHhB,UtF2lNN,CsFrlNI,6DACE,YtFulNN,CsFplNI,4FACE,kBtFslNN,CsFnlNI,yEAGE,mBACA,WAAY,CACZ,iBAAkB,CAHlB,UAAW,CADX,UtFylNN,CsFllNI,yEAKE,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CACZ,UtFslNN,CsFhlNI,sEACE,sBAAwB,CACxB,mBtFklNN,CsF/kNI,kEAKE,sBAAuB,CAGvB,wBAAyB,CACzB,kBAAmB,CAGnB,iBAAkB,CAVlB,UAAW,CADX,UtFylNN,CsFtkNI,8IACE,mBACA,kBtF4kNN,CsFzkNI,kEAKE,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CACZ,UtF6kNN,CsFpkNI,0JACE,kBtFykNN,CsFnkNA,2CACE,gBtFqkNF,CsFtkNA,4DAII,kBtFqkNJ,CsFzkNA,+DAOM,YtFqkNN,CsF5kNA,wEAaM,kBtFkkNN,CsF/kNA,wEAmBM,eAAgB,CADhB,yBADA,kBAGA,WAAY,CACZ,iBtFikNN,CsF/jNM,4JAEE,oBtFikNR,CsF9jNM,uKAEE,oBtFgkNR,CsF9lNA,4EAkCQ,kBAEA,WAAY,CADZ,UtFgkNR,CuFl0NA,2CACE,avFo0NF,CuFj0NA,oDACE,avFm0NF,CuF/zNA,uCAEI,oBAAqB,CACrB,eAAgB,CAKhB,sBAAuB,CACvB,kBAAmB,CAJnB,kBAAmB,CACnB,WvFi0NJ,CuF5zNI,2EACE,WvF+zNJ,CACF,CuF7zNI,2EACE,WvFg0NJ,CACF,CuF3zNA,wCAKI,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,UvF+zNJ,CuFj0NA,2BAUI,QvF0zNJ,CuFpzNA,gCAEE,iBADA,avFuzNF,CuFxzNA,mCAKI,aAAc,CACd,UvFszNJ,CuF5zNA,8PAcM,yBACA,yBACA,kBAKA,cAJA,oBAAqB,CACrB,gBACA,gBvFuzNN,CuFlzNI,gIAGE,yBAEA,cACA,oBvFmzNN,CuF9yNA,6BAEI,gBAEA,evF8yNJ,CwFv4NA,qBACE,yBACA,YAAa,CAEb,oBADA,gBAEA,eAEA,qBxFw4NF,CwFt4NE,8BACE,axFw4NJ,CwFn4NA,gCACE,kBxFq4NF,CwFt4NA,8CAII,wBxFq4NJ,CwFz4NA,sDAUM,kBAAmB,CADnB,exFo4NN,CwF74NA,gEAaQ,gBAEA,iBAAkB,CAClB,OxFk4NR,CwFl5NA,gEA6BM,cAAe,CAPf,WAAY,CAQZ,gBAAiB,CANjB,cAAiB,CAEjB,iBAAkB,CAKlB,iBAAkB,CAJlB,OAAQ,CANR,UxFu4NN,CwFv3NA,oBACE,eACA,iBxFy3NF,CwF33NA,kCAKI,eAAgB,CAChB,WxFy3NJ,CwFp3NA,gBACE,iBxFs3NF,CwFn3NA,wBACE,YxFq3NF,CwFt3NA,+CAKI,YAAa,CADb,WxFs3NJ,CwF92NA,iBACE,iBxFg3NF,CwFj3NA,gCAWI,eAFA,YAGA,iBARA,0BACA,iBAAkB,CAClB,QAAS,CAET,UxFk3NJ,CwF13NA,iCAiBM,cxF42NN,CyF38NA,eACE,qBAAsB,CACtB,yBACA,iBzF68NF,CyF18NA,6BAEE,WAAY,CACZ,WzF28NF,CyFx8NE,oGrFoDA,wBACQ,eJy5NV,CyFt8NA,eACE,6BAEA,aAAc,CADd,gBzFy8NF,CyF38NA,0BAMI,iBzFw8NJ,CyF98NA,2BAUI,gBzFu8NJ,CyFj9NA,wCAcI,kBzFs8NJ,CyFl8NE,iEAEI,oBAAsB,CAGtB,ezFm8NJ,CyFx8NA,kCAQM,oBAAqB,CACrB,oBAAsB,CAEtB,mBzFk8NN,CyF78NA,sCAiBM,gBzF+7NN,CyFh9NA,2CAsBM,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAPjB,iBAAkB,CAGlB,UzFg8NN,CACF,CyFv7NA,0DAEI,+BACE,azFw7NJ,CACF,CyFn7NA,oCACE,cACE,iBzFq7NF,CyFt7NA,2BAII,aAAc,CACd,oBAAsB,CAKtB,gBAHA,UzFs7NJ,CACF,CyF96NA,yBACE,QAAW,CACX,SzFg7NF,CyFl7NA,4BAKI,QzFg7NJ,CyF56NA,4BACE,6BAEA,sBzF86NF,CyFj7NA,qDAMI,UAAW,CACX,UzF86NJ,CyFr7NA,uDAWM,uBAA2B,CAD3B,qBAAsB,CAEtB,kBACA,aAAc,CAId,WAAY,CAFZ,aAAgB,CAChB,UzF86NN,CyF97NA,oDAsBI,UAAW,CAGX,iBAAkB,CAFlB,UzF46NJ,CyFn8NA,mEAkCM,cAAe,CAHf,WAAY,CAIZ,gBAAiB,CAPjB,iBAAkB,CAClB,OAAQ,CAGR,UzF26NN,CyF38NA,uDAwCI,gBzFs6NJ,CyF98NA,mHA+CM,eAHA,QAAW,CACX,SzFu6NN,CyFp9NA,yDAqDM,cACA,eAHA,czFs6NN,CyFz9NA,4DA0DM,kBzFk6NN,CyF55NE,+DACE,ezF+5NF,CACF,CyF75NE,+DACE,kBACA,kBzFg6NF,CACF,CyF75NA,yBACE,6BAEA,sBzF+5NF,CyF55NA,8BACE,UAAW,CAGX,iBAAkB,CAFlB,UzF+5NF,CyFj6NA,6CAaI,cAAe,CAHf,WAAY,CAIZ,gBAAiB,CAPjB,iBAAkB,CAClB,OAAQ,CAGR,UzF85NJ,CyFv5NA,iCACE,gBAAiB,CACjB,cACA,iBzFy5NF,CyF55NA,uEAUI,eAHA,QAAW,CACX,SzF05NJ,CyFl6NA,mCAeI,eADA,czFw5NJ,CyFt6NA,sCAmBI,iBAAkB,CAElB,WADA,OzFu5NJ,CyFp5NI,0EACE,aAAc,CAEd,gBAEA,ezFq5NJ,CACF,CyFj5NA,gCACE,mBACA,azFm5NF,CyFh5NA,4BACE,mBACA,UAAW,CACX,UzFk5NF,CyF/4NA,kCACE,QAAW,CACX,gBzFi5NF,CyF74NA,qBAEE,YAAa,CADb,iBAAkB,CAElB,WzF+4NF,CyF34NA,sBACE,kBAIA,YAHA,0BAEA,UzF64NF,C0FzpOA,uEAEE,kB1F2pOF,C0FzpOE,8UAME,eAAgB,CAFhB,SAAY,CAIZ,e1F6pOJ,C0FzqOA,+EAgBI,qBAAsB,CAEtB,WAAY,CAEZ,gBAAiB,CAHjB,U1F+pOJ,C0FvpOA,sBAEE,c1FypOF,C2FprOA,uCAEI,S3FqrOJ,C2FvrOA,4CAMI,sBAAuB,CACvB,kBAAmB,CACnB,UAAW,CAKX,WAAY,CAHZ,kBAAoB,CACpB,SAAY,CAIZ,iBAAkB,CAClB,OAAQ,CAJR,U3FurOJ,C2FnsOA,2DAsBM,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,U3FsrON,C2F7qOI,iGAGE,sBAAuB,CACvB,WAAY,CvFkChB,wBACQ,gBuFhCJ,gBAAiB,CADjB,YAAa,CAEb,iBACA,U3FgrON,C4FptOA,YAGE,UAAW,CAFX,QAAW,CACX,S5FutOF,C4FztOA,eAMI,eAAgB,CAChB,QAAW,CACX,S5FstOJ,C6F9tOA,WACE,c7FguOF,C6FjuOA,kBAII,Q7FguOJ,C6FpuOA,0BAQI,WAAY,CACZ,U7F+tOJ,C6F7tOI,8DAGE,WAAY,CAFZ,cAAe,CAGf,U7F+tOJ,CACF,C6F/uOA,wBAoBI,gB7F8tOJ,C6FlvOA,0BAwBI,aAAc,CAOd,eAFA,e7FwtOJ,C6FrvOA,uCAmCM,eAAgB,CADhB,c7F4tON,C6F9vOA,uBAwCI,gB7FytOJ,C6FrtOE,8DAII,eAFA,c7FwtOJ,C6F1tOA,uCAOM,Y7FstON,C6F7tOA,uBAaI,iBAAkB,CADlB,c7FqtOJ,C6FjuOA,mDAqBI,a7FktOJ,CACF,C6F7sOA,cACE,W7F+sOF,C6F7sOE,kDACE,e7FgtOF,CACF,C6FrtOA,0BAQI,gB7FgtOJ,C6FxtOA,qBAmBI,eACA,eAAmB,CAHnB,c7FgtOJ,C6FjuOA,4BAwBI,yBAEA,U7F2sOJ,C6FtsOA,oCACE,uBACE,Y7FwsOF,CACF,C6FrsOA,oCACE,0BACE,Y7FusOF,CACF,C6FnsOA,WAEE,oBADA,gB7FssOF,C6FjsOA,qBACE,a7FmsOF,C6FpsOA,oCAII,UAAW,CAEX,cAAe,CACf,gB7FksOJ,C6FzsOA,uBAaI,mB7FisOJ,C6F7rOA,yBACE,yBAEA,U7F8rOF,C6F3rOA,oBACE,yBAEA,U7F4rOF,C6FzrOA,wBACE,yBAEA,U7F0rOF,C6FvrOA,uBACE,yBAEA,U7FwrOF,C6FprOA,wBAEI,iB7FqrOJ,C6FvrOA,yBAMI,gB7ForOJ,C6F1rOA,eAYI,eAAkB,CADlB,kBAAmB,CADnB,e7FqrOJ,C6F9qOA,kBAGE,6BACA,gB7F8qOF,C6FlrOA,uBAOI,kB7F8qOJ,C6FrrOA,mCAWI,oB7F6qOJ,C6FxrOA,2BAeI,a7F4qOJ,C6F3rOA,2CAmBI,UAAW,CACX,YAGA,iBAAkB,CAFlB,U7F4qOJ,C6FjsOA,mCA2BI,gB7FyqOJ,C6FpsOA,kCAiCI,uBAA2B,CAD3B,qBAAsB,CAEtB,kBAHA,aAAc,CAKd,YADA,U7FyqOJ,C6F5sOA,iCA8CI,cAAe,CALf,WAAY,CAMZ,gBAAiB,CAJjB,iBAAkB,CAClB,OAAQ,CAJR,U7F4qOJ,C6FnqOI,qMAKE,cACA,oB7FqqON,C6F5tOA,+CA+DI,cACA,eAJA,QAAW,CACX,S7FqqOJ,C8Fv5OA,qCAII,eAFA,Q9Fy5OJ,C8F35OA,kCAUI,eAFA,Q9Fu5OJ,C8Fj5OA,2BACE,oB9Fm5OF,C8Fh5OA,0BAIE,WAAY,CAHZ,YAAe,CAEf,U9Fk5OF,C8F94OA,yBACE,WAAY,CACZ,a9Fg5OF,C8F74OA,8BAME,oBAAqB,CALrB,kBACA,cAAe,CAEf,eAAgB,CAChB,kB9F+4OF,C+Fj7OA,mBAGE,cAFA,kB/Fo7OF,C+Fr7OA,0BAMI,c/Fk7OJ,C+F76OA,uCAEI,yBAEA,U/F66OJ,C+Fx6OA,+BACE,eAAkB,CAElB,gB/Fy6OF,C+F56OA,8CAWI,eAHA,YAIA,iBANA,kBAAmB,CAQnB,iBAAkB,CALlB,U/F26OJ,C+Fj6OA,8BACE,iB/Fm6OF,C+F/5OA,kCAGE,eAFA,iB/Fk6OF,C+F75OA,+BAGE,eAFA,Q/Fg6OF,C+Fj6OA,kCAMI,iB/F85OJ,C+F55OI,6CACE,c/F85ON,C+Fx5OA,6CAEI,QAAW,CAKX,eAHA,kBACA,S/F05OJ,C+Ft5OI,wDACE,c/Fw5ON,C+Fl5OA,oCACE,+BAGE,gBAAiB,CAFjB,U/Fq5OF,C+Fh5OA,0CACE,c/Fk5OF,C+F/4OA,+BACE,c/Fi5OF,C+F94OA,mCACE,UAAW,CACX,c/Fg5OF,C+Fl5OA,6CAOI,eAFA,iB/Fi5OJ,C+F74OI,wDACE,c/F+4ON,CACF,CgG3/OA,qBAEE,QAAW,CADX,ShG8/OF,CgG//OA,oCAMI,aADA,ShG8/OJ,CgGngPA,gCAUI,gBhG4/OJ,CgGtgPA,oCAcI,ahG2/OJ,CgGzgPA,oCAkBI,ahG0/OJ,CgGt/OA,6BACE,iBAAkB,CAClB,kBhGw/OF,CgGp/OE,oCC1BA,mGAGI,iBjGqhPJ,CiGxhPA,sDAQI,eADA,WjGshPJ,CAVF,CiGrgPA,oCACE,wDAGI,iBACA,mBACA,ajGihPJ,CiGthPA,sDASI,UjGihPJ,CiG1hPA,oFAYM,cjGkhPN,CiG9hPA,sDAoBI,eAFA,kBADA,ejGmhPJ,CiGpiPA,oEAuBM,cjGihPN,CACF,CkG1jPA,cACE,kBlG4jPF,CkGxjPA,mBAEE,kBAAmB,CADnB,YlG2jPF,CkG5jPA,uBAMI,YADA,UlG2jPJ,CkGtjPA,2BAEE,MlG0jPF,CkGrjPA,yDAJE,kBAAmB,CAFnB,YAAa,CAGb,sBlG6jPF,CkGnjPA,4BACE,kBlGqjPF,CkGljPA,mBAEE,kBAAmB,CAKnB,kBANA,YAAa,CAOb,eAHA,YAFA,sBAAuB,CAMvB,iBALA,UlGwjPF,CkGjjPE,+HAKE,yBACA,cACA,oBlGmjPJ,CkG9iPE,mJAKE,yBACA,UlGgjPJ,CkG3iPA,6BACE,MlG6iPF,CkGziPE,kKAOE,cAFA,eAGA,wBlG0iPJ,CkGtiPA,6BACE,clGwiPF,CkGtiPE,iLAKE,cACA,wBlGwiPJ,CkGniPE,sLAKE,alGqiPJ,CkGhiPA,6BACE,iBlGkiPF,CkG/hPA,yBAEE,kBAAmB,CADnB,YAAa,CAKb,QAAS,CAFT,WAGA,SlG+hPF,CkGtiPA,4BAWI,kBAAmB,CAMnB,kBAPA,YAAa,CAKb,YAHA,sBAAuB,CAMvB,oBAAqB,CAJrB,UlGiiPJ,CkG/iPA,+BAsBI,iBlG4hPJ,CkGljPA,wCA0BI,eACA,gBlG2hPJ,CkGvhPA,oGAGI,SlGwhPJ,CkGphPA,wCAEE,mBADA,alGuhPF,CkGnhPA,uCAEE,mBADA,alGshPF,CkGlhPA,iCAEE,mBADA,alGqhPF,CkGjhPA,6BAEE,mBADA,alGohPF,CkGhhPA,mCAEE,mBADA,UlGmhPF,CkG/gPA,+BAEE,mBADA,alGkhPF,CkG9gPA,+BAEE,mBADA,UlGihPF,CkG5gPA,gCACE,kBAEA,kBlG6gPF,CkG1gPA,6BAGE,kBAEA,eACA,eAAiB,CALjB,elG+gPF,CkGxgPE,8MAOE,mBADA,cAEA,oBlG0gPJ,CkGtgPI,0ZAOE,6BAA8B,CAD9B,UlGygPN,CkGngPA,mCACE,0BACA,gBlGqgPF,CkGlgPA,gEACE,yBlGogPF,CkGhgPA,+BAEE,kBADA,UlGmgPF,CkG//OA,2BAEE,kBAAmB,CAEnB,cAHA,YAAa,CAIb,eACA,elGggPF,CkGtgPA,0CASI,mBACA,8BlGggPJ,CkG3/OA,mCACE,iBlG6/OF,CkG9/OA,uCAII,iBlG6/OJ,CkGx/OA,qCAIE,eAAgB,CAFhB,kBAIA,sBAAuB,CADvB,kBAAmB,CAJnB,WlG8/OF,CkG//OA,mOAaI,cACA,clGy/OJ,CkGp/OA,oEAEE,iBlGs/OF,CkGl/OA,+DAEE,YlGo/OF,CkGj/OA,oCAEE,cACE,kBACA,kBlGk/OF,CkGp/OA,yDAOI,aAAc,CADd,eAAgB,CAEhB,clGk/OJ,CkG7+OA,yBACE,YlG++OF,CkG5+OA,4BACE,oBlG8+OF,CkG1+OA,4BACE,YlG4+OF,CACF,CkGz+OA,oCAEE,mBACE,alG0+OF,CkG3+OA,uBAMI,YADA,UlG0+OJ,CkGp+OA,2BACE,iBAAkB,CAClB,mBlGs+OF,CkGl+OA,8BAEE,MAAO,CADP,mBlGq+OF,CkGl+OE,kCAEE,mBADA,UlGq+OJ,CkG/9OA,oEAEE,YlGi+OF,CkG79OA,mCACE,aAAc,CACd,iBlG+9OF,CkGj+OA,6CAKI,WlG+9OJ,CkGp+OA,4DAQM,clG+9ON,CACF,CkGz9OA,qCAEE,mCAAqC,CADrC,UlG49OF,CkGx9OA,gBACE,IACE,UlG09OF,CACF,CkGt9OA,4BACE,SlGw9OF,CkGr9OA,gCAGE,mBAEA,WAAY,CACZ,0BAFA,cAHA,iBlG29OF,CkGn9OA,4EAEE,mBACA,alGq9OF,CkGl9OA,uCACE,mBACA,UlGo9OF,CmGz2PA,mBAEI,aAAc,CACd,anG02PJ,CmGr2PA,kCACE,UnGu2PF,CmGr2PE,sEACE,WnGw2PF,CmGz2PA,sCAKI,WAAY,CAEZ,iBAAkB,CAClB,OAAQ,CAJR,UnG22PJ,CACF,CmGl2PA,2BACE,UAAW,CACX,cnGo2PF,CmGl2PE,+DACE,mBACA,SnGq2PF,CACF,CmGn2PE,+DACE,UAAW,CACX,gBAAiB,CACjB,UnGs2PF,CACF,CmGp2PE,+DACE,iBACA,SnGu2PF,CmGz2PA,sCAKI,cnGu2PJ,CACF,CmGl2PA,8BAGE,sBAAuB,CAFvB,anGq2PF,CmGt2PA,8HAQI,aAAc,CACd,UAAW,CAGX,eAFA,gBnGo2PJ,CmGh2PI,kKACE,gBnGq2PJ,CACF,CmGr3PA,0CAoBI,cnGo2PJ,CmGj2PE,kEACE,gBnGo2PF,CmGr2PA,mFAKI,WAAY,CACZ,eAAgB,CAEhB,iBAAkB,CAClB,OAAQ,CAER,uBnGk2PJ,CACF,CmG/1PE,kEACE,cnGk2PF,CmGn2PA,mFAKI,enGk2PJ,CACF,CmG71PA,6BACE,aAAc,CAEd,iBAAkB,CAClB,OnG81PF,CmGl2PA,kCAOI,aAAc,CACd,UnG81PJ,CmG31PE,iEACE,WAAY,CACZ,enG81PF,CACF,CmG52PA,0CAiBI,iBnG81PJ,CmG51PI,8EAME,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,KAAQ,CAER,UnGi2PJ,CACF,CmG31PI,8EAQE,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,gBAAiB,CAFjB,OAAQ,CAIR,UnG+1PJ,CACF,CmGt1PA,uIASI,cAAe,CALf,WAAY,CAMZ,gBAAiB,CAJjB,iBAAkB,CAClB,OnGw1PJ,CmG/1PA,yFAiBM,enGk1PN,CmG50PA,iPAMM,anG80PN,CmG30PI,yIACE,anGg1PJ,CmGj1PE,iPAKI,UAAW,CAEX,gBnGm1PN,CmG11PE,0HAYI,gBAAiB,CADjB,cAAe,CAGf,gBnGm1PN,CmGj2PE,wJAuBI,aAAc,CALd,UAAW,CAMX,eAAgB,CAJhB,iBAAkB,CAClB,QnGq1PN,CACF,CmG/0PI,yIACE,UAAW,CAIX,eAHA,cAAe,CAIf,iBAAkB,CAHlB,SnGs1PJ,CmGz1PE,uHASI,eACA,enGq1PN,CACF,CmGh1PA,gLAKM,oBAAqB,CACrB,UnGi1PN,CmGv1PA,yFAUM,cnGi1PN,CmG31PA,uFAcM,iBnGi1PN,CmG9zPA,0DAEE,+BACE,cnGu0PF,CmGn0PA,kCACE,YnGq0PF,CACF,CoG5kQA,gCACE,gBpG8kQF,CoG/kQA,uCAII,kBpG8kQJ,CoGllQA,mCAQI,epG6kQJ,CoGrlQA,6CAYI,YpG4kQJ,CoGvkQA,oCACE,gCACE,iBpGykQF,CoG1kQA,oCAII,UAAW,CAIX,YAAa,CAHb,gBAEA,WpGykQJ,CoGhlQA,mCAcI,eAFA,epGwkQJ,CoGplQA,iDAkBI,iBpGqkQJ,CoGvlQA,oDAqBM,oBAAqB,CAErB,kBpGokQN,CoG/jQA,wCACE,YpGikQF,CACF,CoG7jQA,0DACE,uEAGI,UpG8jQJ,CoGjkQA,oCAWI,WAAY,CAHZ,iBAAkB,CADlB,gBAGA,UpG6jQJ,CoGvkQA,mCAeI,iBAAkB,CAClB,QpG2jQJ,CoG3kQA,8CAyBI,YAHA,oBAFA,kBACA,gBAGA,iBpG0jQJ,CACF,CoGpjQA,oCACE,gDAEI,YpGqjQJ,CoGvjQA,mCAMI,iBAAkB,CAClB,OpGojQJ,CoG3jQA,oDAYM,aAAc,CACd,UpGkjQN,CoG7iQA,4CAEE,WAAY,CAEZ,mBADA,kBAFA,UpGkjQF,CqGxpQA,qBACE,aAAc,CACd,arG4pQF,CALF,CqGlpQA,iCACE,UrG0pQF,CqG3pQA,yEAKI,iBrG0pQJ,CqG/pQA,iFASM,WAAY,CADZ,UrG4pQN,CqGvpQE,qHAQM,UAAW,CAHX,WAAY,CAEZ,iBAAkB,CAHlB,UrG2pQN,CqG/oQA,iCACE,UAAW,CACX,SrGmpQF,CALF,CqGzoQA,0BACE,gBACA,arGipQF,CqGnpQA,+BAKI,aAAc,CACd,UrGipQJ,CqGvpQA,yCAUI,aAEA,iBAAkB,CAClB,OrG+oQJ,CqG5oQE,8DACE,UAAW,CACX,SrG+oQF,CqGzoQA,+BACE,UAAW,CACX,SrG6oQF,CALF,CsG/sQA,iBAGE,cACA,eAHA,gBAIA,iBtGstQF,CsGltQE,sDACE,gBtGqtQF,CACF,CsGntQE,sDACE,mBtGstQF,CsGvtQA,qBAII,iBAAkB,CAClB,OtGstQJ,CsG3tQA,8BASI,etGqtQJ,CACF,CuGxuQA,MAIE,eAAgB,CAAE,UAAY,CAH9B,aAAc,CACd,eAAgB,CAChB,YvGmvQF,CuG/uQA,yDAIE,UvGivQF,CuG9uQA,eACE,iBvGgvQF,CuG7uQA,yCAGE,UvG+uQF,CuG5uQA,aACE,evG8uQF,CuG3uQA,0BAEE,UAAW,CACX,iBvG6uQF,CuG1uQA,0BAEE,UvG4uQF,CuGzuQA,mCAEE,UvG2uQF,CuGxuQA,uCAEE,UvG0uQF,CuGvuQA,aACE,UvGyuQF,CuGtuQA,WACE,UvGwuQF,CuGruQA,uEAKE,UvGuuQF,CuGpuQA,aACE,wBAAyB,CACzB,UvGsuQF,CuGnuQA,aACE,avGquQF,CuGluQA,4DAIE,UvGouQF,CwG1zQA,YAMI,eAAiB,CAEjB,qBAAsB,CACtB,iBAAkB,CAClB,kCAHA,UAAY,CAHZ,YAAa,CADb,MAAO,CAEP,eAAgB,CAMhB,eAAgB,CAVhB,kBACA,KAAM,CAUN,uBxG4zQJ,CwGzzQA,0BAII,+BAAgC,CAChC,aAAc,CAFd,cAAe,CAGf,cAAe,CACf,eAAiB,CALjB,UAAW,CADX,WxGi0QJ,CwGxzQA,iCACI,aAAc,CACd,WAAY,CAGZ,cAAe,CACf,eAAmB,CAFnB,iBAAkB,CADlB,exG6zQJ,CwGvzQA,gCACI,cxGyzQJ,CwGtzQA,iBACI,eAAmB,CACnB,UxGwzQJ,CwGtzQA,uBACI,UxGwzQJ,CwGtzQA,mBACI,UxGwzQJ,CwGtzQA,wBACI,UAAY,CACZ,QxGwzQJ,CwGtzQA,eAEI,gBAEA,YACA,gBAAiB,CACjB,eAAgB,CAHhB,SxG2zQJ,CwGtzQA,kBAGI,4BAA6B,CAC7B,cAAe,CAHf,aAAc,CACd,gBxG2zQJ,CwGtzQA,kBAEI,UAAW,CADX,iBAAkB,CAElB,exGwzQJ,CyG13QA,KACE,YAAa,CACb,oBzG43QF,C0G93QA,YACE,iG1Gg4QF,C0G33QA,YACE,iG1G63QF,C0Gx3QA,YACE,kG1G03QF,C0Gr3QA,YACE,mG1Gu3QF,C0Gl3QA,YACE,uG1Go3QF,C0G/2QA,aACE,yG1Gi3QF,C0G52QA,aACE,0G1G82QF,C2Gj5QE,8IAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,a3Go5QJ,C2G/4QE,iIrFhBA,yBACA,WtBs6QF,C2G/4QE,sCAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,a3Gk5QJ,C2G74QE,2PAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,a3Gg5QJ,C2G14QI,uOAOE,iB3G44QN,C2Gl8QE,8IAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,U3Gq8QJ,C2Gh8QE,iIrFhBA,yBACA,WtBu9QF,C2Gh8QE,sCAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,U3Gm8QJ,C2G97QE,2PAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,U3Gi8QJ,C2G37QI,uOAOE,iB3G67QN,C2Gn/QE,8IAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,U3Gs/QJ,C2Gj/QE,iIrFhBA,yBACA,WtBwgRF,C2Gj/QE,sCAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,U3Go/QJ,C2G/+QE,2PAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,U3Gk/QJ,C2G5+QI,uOAOE,iB3G8+QN,C2GpiRE,wIAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,U3GuiRJ,C2GliRE,4HrFhBA,yBACA,WtByjRF,C2GliRE,oCAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,U3GqiRJ,C2GhiRE,qPAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,U3GmiRJ,C2G7hRI,gOAOE,iB3G+hRN,C2GvhRE,sNAME,mBACA,yBvGLF,wBACQ,gBuGMN,a3G0hRJ,C2GrhRE,6LrF9EA,yBACA,WtB0mRF,C2GrhRE,8DAEE,mBACA,yBvGvBF,wBACQ,gBuGwBN,a3GwhRJ,C2GnhRE,+PAME,mBACA,yBvGrCF,wBACQ,gBuGsCN,a3GshRJ,C2GhhRI,2TAOE,mBACA,yBvGrDJ,wBACQ,gBuGsDJ,iB3GmhRN,C2G5kRE,sNAME,mBACA,yBvGLF,wBACQ,gBuGMN,U3G+kRJ,C2G1kRE,6LrF9EA,yBACA,WtB+pRF,C2G1kRE,8DAEE,mBACA,yBvGvBF,wBACQ,gBuGwBN,U3G6kRJ,C2GxkRE,+PAME,mBACA,yBvGrCF,wBACQ,gBuGsCN,U3G2kRJ,C2GrkRI,2TAOE,mBACA,yBvGrDJ,wBACQ,gBuGsDJ,iB3GwkRN,C2G1+QA,4BAEI,iB3G2+QJ,C2GpoRE,wOAME,uBACA,yBvGLF,wBACQ,gBuGMN,a3GuoRJ,C2GloRE,4MrF9EA,yBACA,WtButRF,C2GloRE,oEAEE,mBACA,yBvGvBF,wBACQ,gBuGwBN,a3GqoRJ,C2GhoRE,iRAME,mBACA,yBvGrCF,wBACQ,gBuGsCN,a3GmoRJ,C2G7nRI,gVAOE,uBACA,yBvGrDJ,wBACQ,gBuGsDJ,iB3GgoRN,C2GliRA,6BAoBI,iB3GihRJ,C2G5rRE,8OAME,mBACA,yBvGLF,wBACQ,gBuGMN,U3G+rRJ,C2G1rRE,iNrF9EA,yBACA,WtB+wRF,C2G1rRE,sEAEE,mBACA,yBvGvBF,wBACQ,gBuGwBN,U3G6rRJ,C2GxrRE,uRAME,mBACA,yBvGrCF,wBACQ,gBuGsCN,U3G2rRJ,C2GrrRI,uVAOE,mBACA,yBvGrDJ,wBACQ,gBuGsDJ,iB3GwrRN,C4G/yRE,yMAGE,cACA,e5GozRJ,C4GxzRE,iFAGE,cACA,e5G0zRJ,C4G9zRE,0LAGE,cACA,e5Gm0RJ,C4Gv0RE,kiBAGE,WACA,e5Gq1RJ,C4Gz1RE,iFAGE,cACA,e5G21RJ,C4G/1RE,qfAGE,cACA,e5G62RJ,C4Gj3RE,uFAGE,cACA,e5Gm3RJ,C4Gv3RE,8EAGE,cACA,e5Gy3RJ,C4G73RE,oFAGE,cACA,e5G+3RJ,C4G70RA,uBAGI,mBADA,e5G+0RJ,C4Gj1RA,uBAOI,Y5G60RJ,C6G34RA,yCAEE,qBACA,kC7G64RF,C6G34RE,qDACE,qBACA,kC7G84RJ,C6G14RA,8BACE,qBACA,kC7G44RF,C6G14RE,oCACE,qBACA,kC7G44RJ,C6Gx4RA,gCACE,qBACA,kC7G04RF,C6Gx4RE,sCACE,qBACA,kC7G04RJ,C6Gr4RA,mBACE,e7Gu4RF,C6Gx4RA,+BAMI,cACA,eAHA,c7Gy4RJ,C6G74RA,6BAWI,Q7Gq4RJ,C8Gj7RA,cACE,mBJwBA,wGIvBA,c9Go7RF,C8Gt7RA,gBAOI,U9Gk7RJ,C8Gz7RA,mBAYM,mBACA,qBAEA,a9G+6RN,C8G56RI,kDAEE,mBACA,qBAEA,a9G66RN,C8G16RI,0BACE,mBACA,qBAEA,a9G26RN,C+Gz8RA,eACE,WAAY,CLYZ,kG1Gg8RF,C+Gt8RA,uCAII,cAFA,aAAc,CAGd,e/Gs8RJ,C+G38RA,4CAWI,eAFA,e/Gs8RJ,C+G/8RA,2DAiBM,UAAW,CAKX,cAAe,CAFf,WAAY,CANZ,gBAAiB,CAEjB,iBAAkB,CAGlB,U/Go8RN,C+G57RA,8BACE,mB/G87RF,C+G37RA,sBACE,wB/G67RF,C+G17RA,8MAQM,qBAAsB,CAEtB,a/Gy7RN,C+Gn7RA,sBACE,Q/Gq7RF,CgHh/RA,eACE,kBAAmB,CACnB,0BhHk/RF,CgH9+RA,4BACE,eAAgB,CAChB,iBhHg/RF,CgH5+RA,+BACE,iBhH8+RF,CiH3/RA,yBACE,yBjH6/RF,CiH1/RA,yBAIE,ajH2/RF,CiHx/RA,iDANE,6BACA,iBjHigSF,CiHv/RA,wBACE,6BAGA,cACA,eAAiB,CAHjB,gBjH2/RF,CiHp/RA,0DAGI,ajHq/RJ,CiHj/RA,sDAII,eAAgB,CAFhB,eAAgB,CAChB,kBjHm/RJ,CiHt/RA,qDASI,eAAgB,CAChB,sBAAuB,CAFvB,kBjHm/RJ,CiH5+RA,wBACE,kBjH8+RF,CiH5+RE,mCACE,gBjH8+RJ,CiH1+RA,2CACE,ejH4+RF,CkHniSA,aACE,eAAgB,CAChB,kBlHqiSF,CkHliSA,gBACE,mBACA,qBlHoiSF,CkHliSE,oDACE,kBlHqiSF,CACF,CkHjiSA,gBACE,clHmiSF,CkH/hSA,gBAEI,cACA,elHgiSJ,C2GtjSE,oSAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,U3GyjSJ,C2GpjSE,8PrFhBA,yBACA,WtB2kSF,C2GpjSE,wFAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,U3GujSJ,C2GljSE,iZAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,U3GqjSJ,C2G/iSI,sZAOE,iB3GijSN,C2GvmSE,oSAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,U3G0mSJ,C2GrmSE,8PrFhBA,yBACA,WtB4nSF,C2GrmSE,wFAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,U3GwmSJ,C2GnmSE,iZAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,U3GsmSJ,C2GhmSI,sZAOE,iB3GkmSN,CkHhmSA,oFAOM,alHimSN,CkHxmSA,4EAaM,alHgmSN,CkHnlSE,gJAGE,alHwlSJ,CkHrlSE,8FAGE,alHulSJ,CkHllSA,8PAgBI,alHklSJ,CkH7kSA,wBACE,6BACA,iBlH+kSF,CkHjlSA,6BAKI,elH+kSJ,CkH7kSI,oGAGE,6BACA,0BAEA,alH8kSN,CkH3kSI,sEAEE,6BAEA,alH4kSN,CkH1kSM,0GAEE,6BAEA,alH4kSN,CACF,CkHvkSI,wPAME,sBAEA,alHwkSN,CmHtuSA,eACE,enHwuSF,CmHzuSA,+BAII,6BAGA,cAFA,gBnHyuSJ,CmHruSI,mEACE,iBnHwuSJ,CmHzuSE,8CAII,UAAW,CACX,kBnHwuSN,CACF,CmHvvSA,gHAqBM,anHuuSN,CmH5vSA,8EA0BM,anHsuSN,CmHluSM,6JAGE,anHouSR,CmHjuSM,4GAEE,anHmuSR,CoH1wSA,YACE,iBpH4wSF,CoH7wSA,6BAII,0BACA,0BpH4wSJ,CoHjxSA,yCASI,wBpH2wSJ,CoHpxSA,wCAaI,2BpH0wSJ,CoHtwSA,+BAEE,oBADA,iBAGA,iBpHuwSF,CoH3wSA,iCAOI,apHuwSJ,CqH/xSA,UjHkEE,wBACQ,eJguSV,CqH/xSA,2BACE,gBAAiB,CACjB,iBAAkB,CAClB,iBrHiySF,CqH/xSE,uCACE,erHiySJ,CqH9xSE,sCACE,kBrHgySJ,CqH7xSE,8FAGE,mBACA,WAAY,CAEZ,arH8xSJ,CqH3xSE,oGAGE,mBAEA,arH4xSJ,CqHxxSI,4OAME,mBAEA,WACA,erHyxSN,CqHlySI,sRAYI,mBAEA,arH6xSR,CsH90SA,+BACE,iBtHg1SF,CuHj1SA,OACE,WAAY,CACZ,iBvHm1SF,CuHr1SA,2CAMI,evHm1SJ,CuHz1SA,oBAUI,avHk1SJ,CuH51SA,+BAcI,evHi1SJ,CuH/1SA,2CAkBI,evHg1SJ,CuHl2SA,gBAsBI,evH+0SJ,CuH70SI,4BACE,YvH+0SN,CuHx2SA,uBA6BM,WAAY,CAEZ,cACA,evH60SN,CuHv0SA,kCACE,avHy0SF,CwHh3SA,YACE,yBACA,exHk3SF,CwH/2SA,qDAEE,oBxHi3SF,CwH72SA,kBACE,QxH+2SF,CwH32SA,oCAEE,axH62SF,CyH93SA,wCAEI,mBACA,kBACA,ezH+3SJ,CyHn4SA,0CAWI,cACA,cAAe,CAJf,WAAY,CAKZ,gBAAiB,CAJjB,UzHi4SJ,CyH14SA,iDAiBI,wBzH43SJ,CyH74SA,gEAoBM,UzH43SN,CyHx3SE,+DACE,azH23SF,CACF,CyHv3SA,2BACE,iBzHy3SF,CyHv3SE,+DACE,yBzH03SF,CACF,CyHv3SA,kEAEI,ezHw3SJ,CyHt3SI,sGACE,czHy3SJ,CACF,CyHp3SA,6GAII,azHq3SJ,CyHz3SA,mHAUI,azHo3SJ,CyH/2SA,gBACE,azHi3SF,CyH72SA,uCACE,czH+2SF,CyH72SE,kDACE,ezH+2SJ,CyH12SA,0BACE,qBAAsB,CACtB,iBzH42SF,CyHx2SA,qCACE,iBzH02SF,CyHx2SE,yEACE,ezH22SF,CACF,CyHx2SA,mCACE,cACA,czH02SF,CyH52SA,4HAOI,azH02SJ,CyHh2SI,4RAGE,azHu2SN,CyHp2SI,gKAGE,azHs2SN,CyHh2SA,yBACE,azHk2SF,CyHn2SA,wCAKI,iBADA,azHm2SJ,CyH/1SE,6DAGE,eAFA,gBzHm2SF,CyHp2SA,wCAMI,azHi2SJ,CACF,C0H7+SA,oBACE,wB1H++SF,C0H5+SA,4BACE,kB1H8+SF,C0H3+SA,yCACE,a1H6+SF,C0H9+SA,wDAOI,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,U1Hg/SJ,C0Hp/SA,oDAYI,eAAgB,CAEhB,iBAAkB,CAClB,O1H0+SJ,C0Ht+SA,sBACE,a1Hw+SF,C0Ht+SE,0DACE,gBAEA,iB1Hw+SF,CACF,C2H1gTA,YACE,wB3H4gTF,C2HxgTA,iCACE,gB3H0gTF,C2HtgTA,0BAGE,cACA,eAHA,kB3H0gTF,C2HpgTA,sBAEE,kBADA,uB3HugTF,C2HngTA,wBACE,cACA,c3HqgTF,C2HlgTA,0BACE,e3HogTF,C4HhiTA,qBACE,wB5HkiTF,C4H/hTA,gCAEI,a5HgiTJ,C4HliTA,sBAMI,e5H+hTJ,C6HxiTA,YACE,gBACA,qB7H0iTF,C6HtiTA,WACE,a7HwiTF,C6HziTA,0BAII,iB7HwiTJ,C6H5iTA,6MAgBM,a7HuiTN,C6HjiTA,4BAEI,sBACA,iB7HkiTJ,C6HriTA,+BAOI,4BAA6B,CAM7B,cALA,iBAEA,iBAAkB,CAClB,O7HiiTJ,C6H5iTA,8CAqBM,cAAe,CACf,gBAAiB,CANjB,gBAAiB,CAEjB,iBAAkB,CAClB,Q7HgiTN,C6HzhTE,wBACE,cAAiB,CACjB,e7H2hTJ,C6HzhTI,qFAGE,a7H2hTN,C6HxhTI,gIAIE,cACA,oB7H0hTN,C6HnkTA,6BA8CI,gB7HwhTJ,C6HnhTA,qBACE,kBACA,gBACA,gB7HqhTF,C6HnhTE,yDACE,c7HshTF,C6HvhTA,oCAII,c7HshTJ,C6H1hTA,uBAQI,Y7HqhTJ,CACF,C6HhhTA,sBACE,mB7HkhTF,C6H9gTA,kBACE,yBACA,WAAY,CACZ,kBACA,kB7HghTF,C6H9gTE,6BACE,kB7HghTJ,C6H7gTE,sDACE,eAAkB,CAElB,mB7HghTF,CACF,C6H3gTE,uBACE,cAAiB,CACjB,e7H6gTJ,C6H3gTI,kFAGE,a7H6gTN,C6H1gTI,4HAIE,cACA,oB7H4gTN,C6H5hTA,eAqBI,cACA,c7H0gTJ,C6HrgTA,qCAGE,oBADA,gB7HwgTF,C6H1gTA,iDAMI,kB7HwgTJ,C6H9gTA,6DAYI,eAFA,e7HygTJ,C6HlgTA,avGtKE,yBACA,WtB2qTF,C8H5qTA,uBACE,gB9H8qTF,C8H3qTA,sBAIE,gBAAiB,CACjB,iBAAkB,CAFlB,oBADA,aAAgB,CADhB,iB9HirTF,C8H3qTE,4BAKE,QAAW,CAJX,6BAAqC,CAUrC,iBAAkB,CADlB,WAAY,CARZ,aAAc,CAKd,QAAW,CAHX,iBAAkB,CAIlB,U9H6qTJ,C+H/rTA,gCACE,iB/HisTF,C+H9rTA,iCACE,sBAEA,U/H+rTF,C+H3rTA,6HAKI,a/H4rTJ,C+HjsTA,wOAcI,a/H2rTJ,C+HtrTA,0BzG/BE,yBACA,WtBwtTF,CgIxtTA,WACE,kBhI0tTF,CgIttTA,kDAGI,iBhIutTJ,CgIltTA,kBACE,ahIotTF,CgIrtTA,sBAKI,YAAa,CADb,WhIqtTJ,CgI/sTA,oKAOI,cACA,eACA,ehIgtTJ,CgI3sTA,4FAKI,ahI4sTJ,CgIjtTA,4EAWI,ahI2sTJ,CgIrsTE,qDACE,ehIwsTF,CACF,CgI3sTA,oBAMI,QhIwsTJ,CgI9sTA,oBAaI,cAHA,oBAAqB,CAIrB,eAHA,iBhIysTJ,CgIpsTI,wDACE,YhIusTJ,CACF,CgIztTA,oCAsBI,YhIssTJ,CgIjsTA,oCACE,qBACE,aAAc,CACd,QhImsTF,CACF,CgIhsTA,oCACE,qBACE,YhIksTF,CACF,CgI9rTA,oCACE,iBACE,ehIgsTF,CACF,CgI5rTA,oCACE,gBACE,ehI8rTF,CACF,CiItyTA,kC7HiEE,wBACQ,gB6H9DR,UjIwyTF,CkI5yTA,mBACE,iBlI8yTF,CkI1yTA,sDAEE,wBAAyB,CACzB,oBAAqB,CAGrB,aAAc,CAFd,elI6yTF,CkIjzTA,oFASI,wBAAyB,CACzB,WAAY,CAEZ,alI2yTJ,CkIvzTA,kSAiBM,alI8yTN,CkI/zTA,8SAuBM,alIgzTN,CkIv0TA,4DA4BI,oBlI+yTJ,CkI3yTA,sDAEE,kBAAmB,CACnB,WAAY,CACZ,iBlI6yTF,CkItyTA,2GACE,kBlI4yTF,CkI1yTE,8EAEE,oBAAqB,CACrB,iBlI4yTJ,CkIvyTA,8BACE,4GAOA,WlImyTF,CkIhyTA,6BACE,sBAAuB,CAMvB,cALA,wBAAyB,CACzB,qBAAsB,CACtB,mBAAoB,CACpB,oBAAqB,CACrB,gBlImyTF,CkI/xTA,qDACE,mBAAoB,CACpB,gBAAiB,CACjB,cAAe,CACf,eAAgB,CAChB,WlIiyTF,CkI9xTA,gCAOE,kBAAmB,CAEnB,8BAHA,YAAa,CADb,WAAY,CAGZ,sBAAuB,CALvB,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAEN,UlIqyTF,CkI7xTA,+B7GlGE,yBACA,kBAFA,arBq4TF,CqBj4TE,0EAGE,yBACA,qBAFA,arBq4TJ,CqBj4TE,qCAEE,yBACA,qBAFA,arBq4TJ,CqBj4TE,iIAIE,yBACA,qBAAsB,CACtB,qBAHA,arBs4TJ,CqBj4TI,ybAIE,yBACA,qBAFA,arB24TN,CqBn4TI,+bAGE,yBACA,iBrB24TN,CkI90TA,sC7GvDI,yBADA,arB04TJ,C2Gr7TE,0PAME,mBACA,yBvGyDF,wBACQ,gBuGxDN,a3Gw7TJ,C2Gn7TE,2NrFhBA,yBACA,WtB08TF,C2Gn7TE,0EAEE,mBACA,yBvGuCF,wBACQ,gBuGtCN,a3Gs7TJ,C2Gj7TE,uWAME,mBACA,yBvGyBF,wBACQ,gBuGxBN,a3Go7TJ,C2G96TI,qWAOE,iB3Gg7TN,CkI/3TA,0GAGE,iBAAkB,CAClB,0BACA,gBlIi4TF,CmI9+TA,cACE,gBACA,4BACA,0BAEA,anI++TF,CmIp/TA,qBAUI,cACA,cAAe,CACf,gBAAiB,CAJjB,aAAgB,CAKhB,gBnI8+TJ,CmIz+TA,6BACE,anI2+TF,CmIv+TA,wBACE,anIy+TF,CmIv+TE,oCACE,YnIy+TJ,CmIt+TE,mCACE,enIw+TJ,CmIn+TA,2BAGI,gBAAmB,CADnB,anIq+TJ,CmIl+TI,uCACE,anIo+TN,CmI99TA,sBAEI,enI+9TJ,CmIj+TA,4BAQI,cAFA,gBnI+9TJ,CmIx9TA,oCAEI,eAAgB,CAChB,iBnIy9TJ,CmIr9TA,mCAEI,eAAgB,CAChB,anIs9TJ,CmIz9TA,4CAQI,mBADA,enIs9TJ,CmIh9TA,0BAEI,gCACA,mBnIi9TJ,CmIp9TA,8BAMM,kBAGA,WAAY,CADZ,UnIi9TN,CmI78TI,qCACE,WAAY,CACZ,gBnI+8TN,CoI/iUA,MACE,qBpIijUF,CqIljUA,sCACE,iBrIojUF,CqIjjUA,8BACE,arImjUF,CqIhjUI,2IAGE,cACA,erIkjUN,CqI/iUI,iJAGE,arIijUN,CqI/jUA,6CAmBI,cACA,erI+iUJ,CqI3iUA,sBACE,arI6iUF,CsI1kUA,0BACE,atI4kUF,CsIrkUA,6DACE,atI0kUF,CsIvkUA,oCACE,atIykUF,CuItlUA,mIAMI,avIwlUJ,CuI9lUA,wJAaI,avIulUJ,CwInmUA,uCACE,iBxIqmUF,CwIjmUA,oCAEI,qBAAsB,CACtB,qBAAsB,CACtB,kB9BTF,iG1G4mUF,CwIvmUA,0DAYI,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,UxIomUJ,CwI5lUA,4CAEI,qBAAsB,CACtB,qBAAsB,CACtB,kB9BdF,kG1G4mUF,CyIznUA,mCACE,wBzI2nUF,CyIxnUA,+CACE,QzI0nUF,CyIvnUA,+DAEI,ezIwnUJ,C0I/iUA,0BAjFI,oB1ImoUJ,C0IljUA,kOArEM,a1IkoUN,C0IzjUA,0BArFI,oB1IipUJ,C0I5jUA,kOAzEM,a1IgpUN,C0InkUA,0BAzFI,oB1I+pUJ,C0ItkUA,kOA7EM,a1I8pUN,C0I7kUA,yBA7FI,oB1I6qUJ,C0IhlUA,2NAjFM,a1I4qUN,C0ItlUA,+BA/EI,gBACA,yBACA,kBACA,Y1IwqUJ,C0IjqUM,0WAME,a1IsqUR,C0IvmUA,uCAzDI,a1ImqUJ,C0ItmUA,+BAnFI,gBACA,yBACA,kBACA,Y1I4rUJ,C0IrrUM,0WAME,a1I0rUR,C0IvnUA,uCA7DI,a1IurUJ,C0ItnUA,+BAvFI,gBACA,yBACA,kBACA,Y1IgtUJ,C0IzsUM,0WAME,a1I8sUR,C0IvoUA,uCAjEI,a1I2sUJ,C0ItoUA,8BA3FI,gBACA,yBACA,kBACA,Y1IouUJ,C0I7tUM,mWAME,a1IkuUR,C0IvpUA,sCArEI,a1I+tUJ,C0IrpUA,qCArEE,8BACA,iB1I6tUF,C0IttUI,0XAME,a1I2tUN,C0IpqUA,qCArEE,8BACA,iB1I4uUF,C0IruUI,0XAME,a1I0uUN,C0InrUA,qCArEE,8BACA,iB1I2vUF,C0IpvUI,0XAME,a1IyvUN,C0IlsUA,oCArEE,8BACA,iB1I0wUF,C0InwUI,mXAME,a1IwwUN,C0I9rUA,+SA3DM,a1IowUN,C0IrsUA,+SA/DM,a1I+wUN,C0I5sUA,+SAnEM,a1I0xUN,C0IntUA,wSAvEM,a1IqyUN","sources":["webpack://misago/./src/style/index.less","webpack://misago/./node_modules/bootstrap/less/normalize.less","webpack://misago/./node_modules/bootstrap/less/print.less","webpack://misago/./node_modules/bootstrap/less/scaffolding.less","webpack://misago/./node_modules/bootstrap/less/mixins/vendor-prefixes.less","webpack://misago/./node_modules/bootstrap/less/mixins/tab-focus.less","webpack://misago/./node_modules/bootstrap/less/mixins/image.less","webpack://misago/./node_modules/bootstrap/less/type.less","webpack://misago/./node_modules/bootstrap/less/mixins/text-emphasis.less","webpack://misago/./node_modules/bootstrap/less/mixins/background-variant.less","webpack://misago/./node_modules/bootstrap/less/mixins/text-overflow.less","webpack://misago/./node_modules/bootstrap/less/code.less","webpack://misago/./node_modules/bootstrap/less/grid.less","webpack://misago/./node_modules/bootstrap/less/mixins/grid.less","webpack://misago/./node_modules/bootstrap/less/responsive-utilities.less","webpack://misago/./node_modules/bootstrap/less/mixins/grid-framework.less","webpack://misago/./node_modules/bootstrap/less/tables.less","webpack://misago/./node_modules/bootstrap/less/mixins/table-row.less","webpack://misago/./node_modules/bootstrap/less/forms.less","webpack://misago/./node_modules/bootstrap/less/mixins/forms.less","webpack://misago/./node_modules/bootstrap/less/buttons.less","webpack://misago/./node_modules/bootstrap/less/mixins/buttons.less","webpack://misago/./node_modules/bootstrap/less/mixins/opacity.less","webpack://misago/./node_modules/bootstrap/less/component-animations.less","webpack://misago/./node_modules/bootstrap/less/dropdowns.less","webpack://misago/./node_modules/bootstrap/less/mixins/nav-divider.less","webpack://misago/./node_modules/bootstrap/less/mixins/reset-filter.less","webpack://misago/./node_modules/bootstrap/less/navs.less","webpack://misago/./node_modules/bootstrap/less/mixins/border-radius.less","webpack://misago/./node_modules/bootstrap/less/navbar.less","webpack://misago/./node_modules/bootstrap/less/mixins/nav-vertical-align.less","webpack://misago/./node_modules/bootstrap/less/utilities.less","webpack://misago/./node_modules/bootstrap/less/breadcrumbs.less","webpack://misago/./node_modules/bootstrap/less/alerts.less","webpack://misago/./node_modules/bootstrap/less/mixins/alerts.less","webpack://misago/./node_modules/bootstrap/less/labels.less","webpack://misago/./node_modules/bootstrap/less/mixins/labels.less","webpack://misago/./node_modules/bootstrap/less/progress-bars.less","webpack://misago/./node_modules/bootstrap/less/mixins/gradients.less","webpack://misago/./node_modules/bootstrap/less/mixins/progress-bar.less","webpack://misago/./node_modules/bootstrap/less/button-groups.less","webpack://misago/./node_modules/bootstrap/less/input-groups.less","webpack://misago/./node_modules/bootstrap/less/media.less","webpack://misago/./node_modules/bootstrap/less/list-group.less","webpack://misago/./node_modules/bootstrap/less/mixins/list-group.less","webpack://misago/./node_modules/bootstrap/less/panels.less","webpack://misago/./node_modules/bootstrap/less/mixins/panels.less","webpack://misago/./node_modules/bootstrap/less/pager.less","webpack://misago/./node_modules/bootstrap/less/pagination.less","webpack://misago/./node_modules/bootstrap/less/mixins/pagination.less","webpack://misago/./node_modules/bootstrap/less/responsive-embed.less","webpack://misago/./node_modules/bootstrap/less/wells.less","webpack://misago/./node_modules/bootstrap/less/close.less","webpack://misago/./node_modules/bootstrap/less/badges.less","webpack://misago/./node_modules/bootstrap/less/modals.less","webpack://misago/./node_modules/bootstrap/less/mixins/clearfix.less","webpack://misago/./node_modules/bootstrap/less/mixins/center-block.less","webpack://misago/./node_modules/bootstrap/less/mixins/hide-text.less","webpack://misago/./node_modules/bootstrap/less/mixins/responsive-visibility.less","webpack://misago/./src/style/misago/scaffolding.less","webpack://misago/./src/style/misago/auth-message.less","webpack://misago/./src/style/misago/alerts-snackbar.less","webpack://misago/./src/style/misago/agreement-overlay.less","webpack://misago/./src/style/misago/loaders.less","webpack://misago/./src/style/misago/navbar.less","webpack://misago/./src/style/misago/navs.less","webpack://misago/./src/style/misago/material-icons.less","webpack://misago/./src/style/misago/modals.less","webpack://misago/./src/style/misago/forms.less","webpack://misago/./src/style/misago/inputs.less","webpack://misago/./src/style/misago/buttons.less","webpack://misago/./src/style/misago/dropdowns.less","webpack://misago/./src/style/misago/category-label.less","webpack://misago/./src/style/misago/search-dropdown.less","webpack://misago/./src/style/misago/page-header.less","webpack://misago/./src/style/misago/panels.less","webpack://misago/./src/style/misago/footer.less","webpack://misago/./src/style/misago/ui-preview.less","webpack://misago/./src/style/misago/pager.less","webpack://misago/./src/style/misago/pagination.less","webpack://misago/./src/style/misago/poll.less","webpack://misago/./src/style/misago/user-status.less","webpack://misago/./src/style/misago/user-card.less","webpack://misago/./src/style/misago/toolbar.less","webpack://misago/./src/style/misago/type.less","webpack://misago/./src/style/misago/markup.less","webpack://misago/./src/style/misago/change-avatar.less","webpack://misago/./src/style/misago/categories-lists.less","webpack://misago/./src/style/misago/posting.less","webpack://misago/./src/style/misago/editor.less","webpack://misago/./src/style/misago/participants.less","webpack://misago/./src/style/misago/poll-editor.less","webpack://misago/./src/style/misago/posts-list.less","webpack://misago/./src/style/misago/post.less","webpack://misago/./src/style/misago/post-feed.less","webpack://misago/./src/style/misago/event.less","webpack://misago/./src/style/misago/post-changelog.less","webpack://misago/./src/style/misago/message-pages.less","webpack://misago/./src/style/misago/threads-lists.less","webpack://misago/./src/style/misago/active-posters.less","webpack://misago/./src/style/misago/user-profile.less","webpack://misago/./src/style/misago/username-history.less","webpack://misago/./src/style/misago/search.less","webpack://misago/./highlight/styles/foundation.css","webpack://misago/./node_modules/at.js/dist/css/jquery.atwho.css","webpack://misago/./src/style/flavor/typo.less","webpack://misago/./src/style/flavor/shadows.less","webpack://misago/./src/style/flavor/buttons.less","webpack://misago/./src/style/flavor/social-buttons.less","webpack://misago/./src/style/flavor/inputs.less","webpack://misago/./src/style/flavor/auth-message.less","webpack://misago/./src/style/flavor/dropdowns.less","webpack://misago/./src/style/flavor/navbar.less","webpack://misago/./src/style/flavor/search-dropdown.less","webpack://misago/./src/style/flavor/page-header.less","webpack://misago/./src/style/flavor/page-footer.less","webpack://misago/./src/style/flavor/list-group.less","webpack://misago/./src/style/flavor/navs.less","webpack://misago/./src/style/flavor/username-history.less","webpack://misago/./src/style/flavor/panels.less","webpack://misago/./src/style/flavor/form.less","webpack://misago/./src/style/flavor/categories-lists.less","webpack://misago/./src/style/flavor/participants.less","webpack://misago/./src/style/flavor/poll.less","webpack://misago/./src/style/flavor/posting.less","webpack://misago/./src/style/flavor/post.less","webpack://misago/./src/style/flavor/post-feed.less","webpack://misago/./src/style/flavor/event.less","webpack://misago/./src/style/flavor/user-card.less","webpack://misago/./src/style/flavor/progress-bars.less","webpack://misago/./src/style/flavor/markup.less","webpack://misago/./src/style/flavor/modals.less","webpack://misago/./src/style/flavor/wells.less","webpack://misago/./src/style/flavor/active-posters.less","webpack://misago/./src/style/flavor/message-pages.less","webpack://misago/./src/style/flavor/user-options.less","webpack://misago/./src/style/flavor/user-profile.less","webpack://misago/./src/style/flavor/profile-details.less","webpack://misago/./src/style/flavor/ranks-flavors.less"],"sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #0065ff;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #0747a6;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #ebecf0;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: 400;\n  line-height: 1;\n  color: #7a869a;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #7a869a;\n}\n.text-primary {\n  color: #0052cc;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #003d99;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #0052cc;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #003d99;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #ebecf0;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: 700;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 700px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #ebecf0;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #7a869a;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #ebecf0;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: \"\\00A0 \\2014\";\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #344563;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.row-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1,\n  .col-sm-2,\n  .col-sm-3,\n  .col-sm-4,\n  .col-sm-5,\n  .col-sm-6,\n  .col-sm-7,\n  .col-sm-8,\n  .col-sm-9,\n  .col-sm-10,\n  .col-sm-11,\n  .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1,\n  .col-md-2,\n  .col-md-3,\n  .col-md-4,\n  .col-md-5,\n  .col-md-6,\n  .col-md-7,\n  .col-md-8,\n  .col-md-9,\n  .col-md-10,\n  .col-md-11,\n  .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1,\n  .col-lg-2,\n  .col-lg-3,\n  .col-lg-4,\n  .col-lg-5,\n  .col-lg-6,\n  .col-lg-7,\n  .col-lg-8,\n  .col-lg-9,\n  .col-lg-10,\n  .col-lg-11,\n  .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #7a869a;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  min-height: 0.01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #344563;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: 700;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-appearance: none;\n  appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ced0da;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #ebecf0;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\n.form-control-static {\n  min-height: 34px;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #3462af;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    padding-top: 7px;\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #172b4d;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  opacity: 0.65;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #172b4d;\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #172b4d;\n  background-color: #ced0da;\n  background-image: none;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #172b4d;\n  background-color: #b9bdcb;\n  border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #ebecf0;\n  background-color: #172b4d;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #6554c0;\n  border-color: #5643b7;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #4d3da4;\n  border-color: #2a215a;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #4d3da4;\n  border-color: #41338a;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #4d3da4;\n  background-image: none;\n  border-color: #41338a;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #41338a;\n  border-color: #2a215a;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #6554c0;\n  border-color: #5643b7;\n}\n.btn-primary .badge {\n  color: #6554c0;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #00c853;\n  border-color: #00af48;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #00953e;\n  border-color: #002f14;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #00953e;\n  border-color: #00712f;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #00953e;\n  background-image: none;\n  border-color: #00712f;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #00712f;\n  border-color: #002f14;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #00c853;\n  border-color: #00af48;\n}\n.btn-success .badge {\n  color: #00c853;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #3d5afe;\n  border-color: #2444fe;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #0a2ffe;\n  border-color: #0119a1;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #0a2ffe;\n  border-color: #0123e3;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #0a2ffe;\n  background-image: none;\n  border-color: #0123e3;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #0123e3;\n  border-color: #0119a1;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #3d5afe;\n  border-color: #2444fe;\n}\n.btn-info .badge {\n  color: #3d5afe;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #ffab00;\n  border-color: #e69a00;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #cc8900;\n  border-color: #664400;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #cc8900;\n  border-color: #a87100;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #cc8900;\n  background-image: none;\n  border-color: #a87100;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #a87100;\n  border-color: #664400;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #ffab00;\n  border-color: #e69a00;\n}\n.btn-warning .badge {\n  color: #ffab00;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #ef5350;\n  border-color: #ed3c39;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #eb2521;\n  border-color: #98110e;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #eb2521;\n  border-color: #d51713;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #eb2521;\n  background-image: none;\n  border-color: #d51713;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #d51713;\n  border-color: #98110e;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #ef5350;\n  border-color: #ed3c39;\n}\n.btn-danger .badge {\n  color: #ef5350;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: 400;\n  color: #0065ff;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #0747a6;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #7a869a;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #ebecf0;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: 400;\n  line-height: 1.42857143;\n  color: #172b4d;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #172b4d;\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #172b4d;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #7a869a;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #7a869a;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: \"\";\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 700px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.nav > li.disabled > a {\n  color: #7a869a;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #7a869a;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #ebecf0;\n  border-color: #0065ff;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #ebecf0 #ebecf0 #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #5e6c84;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #0065ff;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 54px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 700px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 700px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 700px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 700px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-brand {\n  float: left;\n  height: 54px;\n  padding: 17px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 700px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-right: 15px;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 700px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 8.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 699px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 17px;\n    padding-bottom: 17px;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-right: -15px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 699px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 12px;\n  margin-bottom: 12px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 16px;\n  margin-bottom: 16px;\n}\n.navbar-text {\n  margin-top: 17px;\n  margin-bottom: 17px;\n}\n@media (min-width: 700px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #ffffff;\n  border-color: #c1c7d0;\n}\n.navbar-default .navbar-brand {\n  color: #344563;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #344563;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #8993a4;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #505f79;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #c1c7d0;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n@media (max-width: 699px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #8993a4;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #505f79;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #6b778c;\n    background-color: #dfe1e6;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #c1c7d0;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #c1c7d0;\n}\n.navbar-default .navbar-link {\n  color: #8993a4;\n}\n.navbar-default .navbar-link:hover {\n  color: #505f79;\n}\n.navbar-default .btn-link {\n  color: #8993a4;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #505f79;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #c1c7d0;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 699px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #a5aebb;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #a5aebb;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n  color: #7a869a;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #fff;\n  background-color: #00875a;\n  border-color: #00875a;\n}\n.alert-success hr {\n  border-top-color: #006e49;\n}\n.alert-success .alert-link {\n  color: #e6e6e6;\n}\n.alert-info {\n  color: #fff;\n  background-color: #448aff;\n  border-color: #448aff;\n}\n.alert-info hr {\n  border-top-color: #2a7aff;\n}\n.alert-info .alert-link {\n  color: #e6e6e6;\n}\n.alert-warning {\n  color: #fff;\n  background-color: #ff8b00;\n  border-color: #ff8b00;\n}\n.alert-warning hr {\n  border-top-color: #e67d00;\n}\n.alert-warning .alert-link {\n  color: #e6e6e6;\n}\n.alert-danger {\n  color: #fff;\n  background-color: #de350b;\n  border-color: #de350b;\n}\n.alert-danger hr {\n  border-top-color: #c62f0a;\n}\n.alert-danger .alert-link {\n  color: #e6e6e6;\n}\n.label {\n  display: inline;\n  padding: 0.2em 0.6em 0.3em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #7a869a;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #616d80;\n}\n.label-primary {\n  background-color: #0052cc;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #003d99;\n}\n.label-success {\n  background-color: #36b37e;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #2a8c62;\n}\n.label-info {\n  background-color: #3d5afe;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #0a2ffe;\n}\n.label-warning {\n  background-color: #ffab00;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #cc8900;\n}\n.label-danger {\n  background-color: #ff5630;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #fc2e00;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #ebecf0;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #6554c0;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #36b37e;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #3d5afe;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #ffab00;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #ff5630;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  display: table-cell;\n  float: none;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1;\n  color: #172b4d;\n  text-align: center;\n  background-color: #ebecf0;\n  border: 1px solid #ced0da;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  padding-left: 0;\n  margin-bottom: 20px;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ebecf0;\n}\n.list-group-item:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #ebecf0;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #7a869a;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #0065ff;\n  background-color: #fff;\n  border-color: #ebecf0;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #ffffff;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #7a869a;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  color: #172b4d;\n  text-decoration: none;\n  background-color: #fff;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 14px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 14px 15px;\n  background-color: #fff;\n  border-top: 1px solid #ebecf0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ebecf0;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ebecf0;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #344563;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #fff;\n  background-color: #344563;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #0052cc;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #0052cc;\n  border-color: #0052cc;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #0052cc;\n}\n.panel-primary > .panel-heading .badge {\n  color: #0052cc;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #0052cc;\n}\n.panel-success {\n  border-color: #36b37e;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #36b37e;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #36b37e;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #36b37e;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ff5630;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ff5630;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ff5630;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ff5630;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #fff;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #0065ff;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #0747a6;\n  background-color: #ebecf0;\n  border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  cursor: default;\n  background-color: #0052cc;\n  border-color: #0052cc;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  filter: alpha(opacity=20);\n  opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  filter: alpha(opacity=50);\n  opacity: 0.5;\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n  appearance: none;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: #7a869a;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #0065ff;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #091e42;\n}\n.modal-backdrop.fade {\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.modal-backdrop.in {\n  filter: alpha(opacity=50);\n  opacity: 0.5;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #ced0da;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #ced0da;\n}\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.panel-body:before,\n.panel-body:after,\n.pager:before,\n.pager:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.agreement-footer:before,\n.agreement-footer:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.panel-body:after,\n.pager:after,\n.modal-header:after,\n.modal-footer:after,\n.agreement-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n@media screen and (max-width: 991px) {\n  html,\n  body {\n    overflow-x: hidden;\n  }\n}\n@media screen and (min-width: 992px) {\n  .md-margin-top-no {\n    margin-top: 0px !important;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .sm-margin-top {\n    margin-top: 20px !important;\n  }\n  .sm-margin-top-no {\n    margin-top: 0px !important;\n  }\n  .sm-margin-top-half {\n    margin-top: 6.6px !important;\n  }\n  .sm-align-row-buttons {\n    margin-top: 5px !important;\n  }\n}\n@media screen and (max-width: 767px) {\n  .xs-margin-top {\n    margin-top: 20px !important;\n  }\n  .xs-margin-top-half {\n    margin-top: 6.6px !important;\n  }\n}\n.auth-message {\n  background-color: #ebecf0;\n  padding: 20px 0px;\n  width: 100%;\n  position: fixed;\n  top: -100%;\n  left: 0px;\n  z-index: 1070;\n  transition: top 300ms ease;\n}\n.auth-message.show {\n  top: 0px;\n  bottom: auto;\n}\n.auth-message p {\n  padding: 5px 0px;\n  color: #172b4d;\n}\n@media screen and (max-width: 991px) {\n  .auth-message {\n    text-align: center;\n  }\n  .auth-message .btn {\n    padding: 10px 16px;\n    font-size: 18px;\n  }\n}\n.alerts-snackbar {\n  position: fixed;\n  top: -100%;\n  width: 100%;\n  z-index: 1060;\n  text-align: center;\n  font-size: 18px;\n  transition: top 300ms ease;\n  pointer-events: none;\n}\n.alerts-snackbar.in {\n  top: 0px;\n  transition: top 200ms ease;\n}\n.alerts-snackbar p {\n  display: inline-block;\n  border-radius: 0px 0px 4px 4px;\n  margin: 0px;\n  pointer-events: all;\n}\n.agreement-overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  z-index: 1060;\n  background-color: rgba(9, 30, 66, 0.5);\n  overflow-x: scroll;\n}\n.agreement-overlay .container {\n  max-width: 900px;\n  padding: 20px 30px;\n}\n.agreement-content {\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n  padding: 10px 16px;\n}\n.agreement-header {\n  padding: 10px 0;\n  border-bottom: 1px solid #ebecf0;\n}\n.agreement-header h2 {\n  margin-top: 0;\n}\n.agreement-header p {\n  margin: 0;\n  padding: 0;\n}\n.agreement-body {\n  padding: 20px 0;\n}\n.agreement-body p.lead {\n  margin: 0;\n  padding: 0;\n}\n.agreement-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #ced0da;\n  padding: 10px 0;\n}\n.agreement-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.agreement-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.agreement-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\nbody.agreement-overlay-visible {\n  overflow: hidden;\n}\n.loader {\n  width: 100%;\n  height: 49px;\n  text-align: center;\n}\n.loader.loader-spaced {\n  margin: 40px 0px;\n}\n.loader-spinning-wheel {\n  width: 49px;\n  height: 49px;\n  margin: 0 auto;\n  border: 3px solid #7a869a;\n  border-radius: 50%;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  animation: cssload-spin 575ms infinite linear;\n  -o-animation: cssload-spin 575ms infinite linear;\n  -ms-animation: cssload-spin 575ms infinite linear;\n  -webkit-animation: cssload-spin 575ms infinite linear;\n  -moz-animation: cssload-spin 575ms infinite linear;\n}\n@keyframes cssload-spin {\n  100% {\n    transform: rotate(360deg);\n  }\n}\n@-o-keyframes cssload-spin {\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-ms-keyframes cssload-spin {\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-webkit-keyframes cssload-spin {\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-moz-keyframes cssload-spin {\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n.navbar {\n  margin-bottom: 0px;\n}\n.navbar .navbar-full .navbar-brand {\n  padding-top: 11px;\n  padding-bottom: 11px;\n  font-size: 21px;\n}\n.navbar .navbar-full .navbar-brand > * {\n  display: inline-block;\n  vertical-align: middle;\n}\n.navbar .navbar-full .navbar-brand img {\n  height: 32px;\n  margin-right: 6px;\n}\n.navbar .navbar-full .navbar-nav > li > a {\n  font-size: 16.8px;\n}\n.navbar .navbar-full .navbar-icon {\n  display: block;\n  height: 54px;\n  padding: 10px 15px;\n  padding-top: 13px;\n  padding-bottom: 13px;\n  position: relative;\n  color: #8993a4;\n}\n.navbar .navbar-full .navbar-icon:hover,\n.navbar .navbar-full .navbar-icon:focus {\n  color: #505f79;\n  background-color: transparent;\n}\n.navbar .navbar-full .navbar-icon .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.navbar .navbar-full .navbar-icon .badge {\n  background-color: #ff5630;\n  position: absolute;\n  top: 6px;\n  right: 6px;\n  font-size: 9px;\n}\n.navbar .navbar-full .open .navbar-icon,\n.navbar .navbar-full .open .navbar-icon:hover,\n.navbar .navbar-full .open .navbar-icon:focus {\n  background-color: #dfe1e6;\n  color: #6b778c;\n}\n.navbar .navbar-full .nav-guest,\n.navbar .navbar-full .nav-user {\n  float: right;\n}\n.navbar .navbar-full .nav-guest .navbar-btn,\n.navbar .navbar-full .nav-user .navbar-btn {\n  margin-left: 15px;\n}\n.navbar .navbar-full .nav-user .dropdown-toggle {\n  padding: 10px;\n}\n.navbar .navbar-full .nav-user .dropdown-toggle img {\n  width: 34px;\n  height: 34px;\n}\n.navbar ul.navbar-compact-nav {\n  border-collapse: collapse;\n  display: table;\n  margin: 0px;\n  table-layout: fixed;\n  width: 100%;\n}\n.navbar ul.navbar-compact-nav > li {\n  display: table-cell;\n  width: 100%;\n}\n.navbar ul.navbar-compact-nav > li > a,\n.navbar ul.navbar-compact-nav > li > button {\n  background: none;\n  border: none;\n  display: block;\n  padding-top: 13px;\n  padding-bottom: 13px;\n  width: 100%;\n  color: #8993a4;\n  text-align: center;\n}\n.navbar ul.navbar-compact-nav > li > a.active,\n.navbar ul.navbar-compact-nav > li > button.active,\n.navbar ul.navbar-compact-nav > li > a:hover,\n.navbar ul.navbar-compact-nav > li > button:hover,\n.navbar ul.navbar-compact-nav > li > a:focus,\n.navbar ul.navbar-compact-nav > li > button:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n.navbar ul.navbar-compact-nav > li > a > img,\n.navbar ul.navbar-compact-nav > li > button > img {\n  width: 24px;\n  height: 24px;\n}\n.navbar ul.navbar-compact-nav > li > button {\n  display: inline-block;\n}\n.navbar ul.navbar-compact-nav > li > a > .material-icon {\n  font-size: 24px;\n  line-height: 24px;\n}\n@media (max-width: 700px) {\n  .navbar.navbar-misago {\n    min-height: auto;\n  }\n}\n.navbar-misago .navbar-desktop-nav {\n  display: none;\n}\n@media (min-width: 700px) {\n  .navbar-misago ul.navbar-compact-nav {\n    display: none;\n  }\n  .navbar-misago .navbar-desktop-nav {\n    display: block;\n  }\n}\n.nav-side > a > .material-icon {\n  margin: -5px;\n  margin-right: 10px;\n  position: relative;\n  bottom: 1px;\n  width: 24px;\n  height: 24px;\n  font-size: 24px;\n  line-height: 24px;\n}\n.nav-side > a .badge {\n  position: relative;\n  top: 1px;\n}\n@font-face {\n  font-family: \"Material Icons\";\n  font-style: normal;\n  font-weight: 400;\n  src: url(./fonts/MaterialIcons-Regular.eot);\n  /* For IE6-8 */\n  src: local(\"Material Icons\"), local(\"MaterialIcons-Regular\"), url(./fonts/MaterialIcons-Regular.woff2) format(\"woff2\"), url(./fonts/MaterialIcons-Regular.woff) format(\"woff\"), url(./fonts/MaterialIcons-Regular.ttf) format(\"truetype\");\n}\n.material-icon {\n  font-family: \"Material Icons\";\n  font-weight: normal;\n  font-style: normal;\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  line-height: 1;\n  text-align: center;\n  text-transform: none;\n  letter-spacing: normal;\n  vertical-align: middle;\n  word-wrap: normal;\n  white-space: nowrap;\n  direction: ltr;\n  /* Support for all WebKit browsers. */\n  -webkit-font-smoothing: antialiased;\n  /* Support for Safari and Chrome. */\n  text-rendering: optimizeLegibility;\n  /* Support for Firefox. */\n  -moz-osx-font-smoothing: grayscale;\n  /* Support for IE. */\n  font-feature-settings: \"liga\";\n}\n.modal-toolbar {\n  background: #ebecf0;\n  border-bottom: 1px solid #ced0da;\n  overflow: auto;\n  padding: 6px 12px;\n}\n.modal-toolbar .pull-left {\n  margin-right: 8px;\n}\n.modal-toolbar p {\n  padding: 5px 0px;\n  margin-bottom: 0px;\n}\n@media screen and (max-width: 991px) {\n  .modal-message {\n    text-align: center;\n  }\n  .modal-message .message-icon {\n    margin: 30px;\n  }\n  .modal-message .message-icon .material-icon {\n    font-size: 160px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .modal-message .modal-body {\n    padding-top: 20px;\n    padding-bottom: 30px;\n  }\n  .modal-message .message-icon {\n    float: left;\n    position: relative;\n    left: 7px;\n  }\n  .modal-message .message-icon .material-icon {\n    font-size: 50px;\n  }\n  .modal-message .message-body {\n    margin-left: 75px;\n    margin-top: 10px;\n  }\n  .modal-message .message-body p {\n    margin-top: 20px;\n  }\n  .modal-message .message-body .lead {\n    margin-top: 0px;\n    margin-bottom: 0px;\n  }\n}\n.modal-loader {\n  padding: 50px 0px;\n}\n.modal-loader .loader {\n  width: 100%;\n  height: 80px;\n  text-align: center;\n}\n.modal-loader .loader-spinning-wheel {\n  width: 80px;\n  height: 80px;\n}\n.modal-body .form-group {\n  min-height: 34px;\n}\n.list-item-errors {\n  margin-bottom: 20px;\n}\n.list-errored-items li:last-child .list-item-errors {\n  margin-bottom: 0px;\n}\n.modal-post-likers .media-list {\n  margin: 0px;\n}\n.modal-post-likers .item-title {\n  display: block;\n}\n.has-feedback .material-icon.form-control-feedback {\n  top: 6px;\n  right: 24px;\n  font-size: 1.42857143;\n  line-height: 1.42857143;\n}\n.well.well-form.well-done {\n  font-size: 18px;\n  text-align: center;\n}\n.well.well-form.well-done .message-icon {\n  margin-bottom: 10px;\n  font-size: 90px;\n  line-height: 90px;\n}\n.well.well-form.well-done .message-body {\n  margin-bottom: 20px;\n}\n.well.well-form.well-noscript {\n  font-size: 18px;\n  text-align: center;\n}\n.well.well-form.well-noscript .message-icon {\n  margin-bottom: 10px;\n  font-size: 90px;\n  line-height: 90px;\n}\n.btn.btn-yes-no,\n.btn.btn-select {\n  background: transparent;\n  border: 1px solid #ced0da;\n}\n.btn.btn-yes-no .material-icon,\n.btn.btn-select .material-icon {\n  margin: -4px 0px;\n  margin-right: 8px;\n  position: relative;\n  bottom: 1px;\n  width: 20px;\n  height: 20px;\n  font-size: 20px;\n  line-height: 20px;\n}\n@media screen and (max-width: 767px) {\n  .btn.btn-yes-no {\n    width: 100%;\n    overflow: auto;\n  }\n  .btn.btn-yes-no .material-icon {\n    float: left;\n    margin-top: 1px;\n  }\n  .btn.btn-yes-no .btn-text {\n    display: block;\n    margin-left: 30px;\n    text-align: left;\n    white-space: normal;\n  }\n}\ninput.hidden-file-upload {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n.form-search {\n  position: relative;\n}\n.form-search .form-control {\n  padding-right: 30px;\n}\n.form-search .material-icon {\n  position: absolute;\n  top: 5px;\n  right: 5px;\n  color: #7a869a;\n  font-size: 24px;\n  line-height: 24px;\n  pointer-events: none;\n}\n.btn.btn-loading,\n.btn.btn-loading:link,\n.btn.btn-loading:active,\n.btn.btn-loading:visited,\n.btn.btn-loading:hover,\n.btn.btn-loading:focus {\n  color: transparent;\n}\n.btn.btn-loading .loader,\n.btn.btn-loading:link .loader,\n.btn.btn-loading:active .loader,\n.btn.btn-loading:visited .loader,\n.btn.btn-loading:hover .loader,\n.btn.btn-loading:focus .loader {\n  height: 20px;\n  margin-top: -20px;\n}\n.btn.btn-loading .loader > div,\n.btn.btn-loading:link .loader > div,\n.btn.btn-loading:active .loader > div,\n.btn.btn-loading:visited .loader > div,\n.btn.btn-loading:hover .loader > div,\n.btn.btn-loading:focus .loader > div {\n  width: 20px;\n  height: 20px;\n}\n.btn.btn-loading.btn-default .loader > div {\n  border-top-color: #172b4d;\n  border-bottom-color: #172b4d;\n}\n.btn.btn-loading.btn-primary .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-success .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-info .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-warning .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-danger .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n}\n.btn-icon .material-icon {\n  margin: -1px -4px;\n  width: 20px;\n  height: 20px;\n  font-size: 20px;\n  line-height: 20px;\n}\n.btn-icon .btn-text {\n  margin-left: 10px;\n}\n.btn-icon .btn-text-left {\n  margin-right: 10px;\n}\n.btn-block.btn-icon {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.dropdown-menu > li > a,\n.dropdown-menu > li > .btn-link,\n.modal-menu > li > a,\n.modal-menu > li > .btn-link {\n  display: block;\n  border: none;\n  clear: both;\n  float: none;\n  padding: 6px 20px;\n  width: 100%;\n  color: #172b4d;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > .btn-link:hover,\n.modal-menu > li > a:hover,\n.modal-menu > li > .btn-link:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-menu > li > .btn-link:focus,\n.modal-menu > li > a:focus,\n.modal-menu > li > .btn-link:focus {\n  background-color: #ebecf0;\n  color: #172b4d;\n  text-decoration: none;\n}\n.dropdown-menu > li > a:active,\n.dropdown-menu > li > .btn-link:active,\n.modal-menu > li > a:active,\n.modal-menu > li > .btn-link:active {\n  background-color: #ebecf0;\n  color: #172b4d;\n  text-decoration: none;\n}\n.dropdown-menu > li > a:disabled,\n.dropdown-menu > li > .btn-link:disabled,\n.modal-menu > li > a:disabled,\n.modal-menu > li > .btn-link:disabled {\n  color: rgba(23, 43, 77, 0.5);\n}\n.dropdown-menu > li > a .material-icon,\n.dropdown-menu > li > .btn-link .material-icon,\n.modal-menu > li > a .material-icon,\n.modal-menu > li > .btn-link .material-icon {\n  margin: -2px 0px;\n  margin-right: 7px;\n  position: relative;\n  bottom: 1px;\n  font-size: 18px;\n}\n.dropdown-menu > li > a .badge,\n.dropdown-menu > li > .btn-link .badge,\n.modal-menu > li > a .badge,\n.modal-menu > li > .btn-link .badge {\n  float: right;\n  position: relative;\n  top: 1px;\n}\n.modal-menu {\n  margin: 20px 0px;\n  padding: 0px;\n}\n.modal-menu > li {\n  margin: 6.66666667px 0px;\n  padding: 0px;\n  list-style: none;\n}\n.dropdown-menu {\n  width: 210px;\n}\n.dropdown-menu .dropdown-footer {\n  padding: 6px 20px;\n}\n.dropdown-menu .dropdown-buttons {\n  padding: 2px 20px;\n  padding-bottom: 7px;\n}\n.dropdown-menu .dropdown-buttons .btn {\n  margin: 4px 0px;\n}\n.mobile-dropdown {\n  position: relative;\n}\n.mobile-dropdown.open > .dropdown-menu,\n.compact-nav.open > .dropdown-menu {\n  border: none;\n  border-radius: 0;\n  display: block;\n  margin: 0px;\n  width: 100%;\n}\n.user-dropdown .guest-preview {\n  text-align: center;\n}\n.user-dropdown .guest-preview .row {\n  margin: 0px;\n}\n.navbar .user-dropdown {\n  width: 240px;\n}\n.user-dropdown .dropdown-header {\n  padding: 6px 20px;\n  font-size: 18px;\n}\n.user-dropdown .dropdown-header strong {\n  font-weight: normal;\n}\n@media screen and (min-width: 992px) {\n  .category-picker .dropdown-menu {\n    width: 300px;\n  }\n}\n.category-picker .dropdown-menu > li > .btn-link {\n  white-space: normal;\n  word-wrap: break-word;\n}\n@media screen and (max-width: 767px) {\n  .dropdown-menu.stick-to-bottom {\n    border-radius: 0px;\n    border: none;\n    max-height: 300px;\n    overflow-y: auto;\n    -webkit-box-shadow: 0px 0px 30px #7a869a;\n    box-shadow: 0px 0px 30px #7a869a;\n    clear: both;\n    top: auto;\n    width: 100%;\n    position: fixed;\n    bottom: 0px;\n    margin: 0px;\n    padding: 0px;\n    padding-bottom: 20px;\n  }\n  .dropdown-menu.stick-to-bottom li {\n    float: none;\n    margin: 0px;\n    clear: both;\n  }\n  .dropdown-menu.stick-to-bottom li > a,\n  .dropdown-menu.stick-to-bottom li > .btn {\n    padding-top: 15px;\n    padding-bottom: 15px;\n    border-bottom: 1px solid #ebecf0;\n  }\n}\n.category-label {\n  border-radius: 0.25em;\n  padding: 0.2em 0.6em 0.3em;\n}\n.category-label-color,\n.category-label-color:link,\n.category-label-color:focus,\n.category-label-color:active,\n.category-label-color:visited,\n.category-label-color:hover {\n  color: #fff;\n}\n.category-label-no-color,\n.category-label-no-color:link,\n.category-label-no-color:focus,\n.category-label-no-color:active,\n.category-label-no-color:visited,\n.category-label-no-color:hover {\n  background-color: #ebecf0;\n  color: #344563;\n}\n.navbar-misago .dropdown-menu.dropdown-search-results {\n  margin: 0px;\n  padding-top: 0px;\n  width: 400px;\n  left: auto;\n  right: 0px;\n}\n.dropdown-search-results .form-group {\n  margin: 0px;\n  padding: 12px;\n}\nli.dropdown-search-message {\n  text-align: center;\n}\n.dropdown-search-thread {\n  width: 100%;\n}\n.dropdown-search-thread h5 {\n  margin: 0px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dropdown-search-thread small {\n  display: block;\n  margin: 0px;\n  margin-top: 4px;\n}\n.page-header-bg {\n  margin-bottom: 20px;\n}\n.page-header {\n  margin: 0px;\n  padding: 40px 0px;\n}\n.page-header h1 {\n  margin: 0px;\n  word-wrap: break-word;\n}\n.page-header .btn-aligned {\n  float: right;\n  margin-left: 8px;\n}\n.page-header .btn-aligned.pull-left {\n  margin-left: 0px;\n  margin-right: 8px;\n}\n@media screen and (min-width: 992px) {\n  .page-header .container > .row h1 {\n    margin-top: -3px;\n  }\n  .page-header .container > .row .row {\n    margin-top: 5px;\n  }\n}\n@media screen and (max-width: 991px) {\n  .container h1 {\n    font-size: 22.5px;\n  }\n  .container .btn-icon .material-icon {\n    width: 24px;\n    height: 24px;\n    margin: -3px 0px;\n    font-size: 24px;\n    line-height: 24px;\n  }\n}\n.page-breadcrumbs {\n  margin-bottom: 20px;\n}\n.page-breadcrumbs .breadcrumb {\n  background: none;\n  margin: 0px;\n  margin-top: -20px;\n  padding: 0px;\n  overflow: auto;\n}\n.page-breadcrumbs .breadcrumb li,\n.page-breadcrumbs .breadcrumb li:before {\n  display: block;\n  float: left;\n}\n.page-breadcrumbs .breadcrumb li:before {\n  margin-left: 4px;\n}\n.go-back-sm {\n  margin-top: -20px;\n  margin-bottom: 20px;\n}\n.go-back-sm .material-icon {\n  height: 18px;\n  width: 18px;\n  font-size: 18px;\n  line-height: 18px;\n  position: relative;\n  top: -1px;\n}\n.page-breadcrumbs .go-back-sm {\n  margin-bottom: 0px;\n}\n.header-stats {\n  margin-top: 20px;\n  margin-bottom: -20px;\n}\n.header-stats .list-inline {\n  margin-bottom: 0px;\n}\n.header-stats .list-inline li {\n  margin-bottom: 0px;\n  margin-right: 8px;\n  overflow: auto;\n  vertical-align: top;\n}\n.header-stats .list-inline li .status-icon {\n  width: 18px;\n  height: 18px;\n  margin-right: 4px;\n  position: relative;\n  bottom: 1px;\n  font-size: 18px;\n  line-height: 18px;\n}\n.header-stats .list-inline li > .material-icon,\n.header-stats .list-inline li > .icon-legend {\n  float: left;\n}\n.header-stats .list-inline li > .material-icon {\n  margin-right: 4px;\n  position: relative;\n  top: 3px;\n}\n@media screen and (max-width: 991px) {\n  .header-stats .list-inline {\n    font-size: 12px;\n  }\n  .header-stats .list-inline li > .material-icon {\n    top: 2px;\n  }\n}\n.page-header .page-tabs {\n  margin-top: 20px;\n  margin-bottom: -40px;\n}\n.page-header .page-tabs .nav > li {\n  margin: 0px;\n}\n.page-header .page-tabs .nav > li > a {\n  border-radius: 0px;\n}\n.page-tabs ul {\n  display: block;\n  overflow-x: auto;\n  white-space: nowrap;\n}\n.page-tabs ul li,\n.page-tabs ul a {\n  display: inline-block;\n  float: none;\n  white-space: nowrap;\n}\n.page-tabs ul li .material-icon,\n.page-tabs ul a .material-icon {\n  margin-right: 6px;\n}\n@media screen and (max-width: 767px) {\n  .page-tabs .container {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n  .page-tabs li a {\n    padding-left: 26.6px;\n    padding-right: 26.6px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .header-stats + .page-tabs {\n    margin-top: 30px;\n  }\n}\n.title-edit-form {\n  margin-bottom: 12px;\n}\n@media screen and (max-width: 991px) {\n  .panel-message-body {\n    text-align: center;\n  }\n  .panel-message-body .message-icon {\n    margin: 30px;\n  }\n  .panel-message-body .message-icon .material-icon {\n    font-size: 160px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .panel-message-body {\n    padding: 20px;\n    padding-bottom: 30px;\n  }\n  .panel-message-body .message-icon {\n    float: left;\n  }\n  .panel-message-body .message-icon .material-icon {\n    font-size: 50px;\n  }\n  .panel-message-body .message-body {\n    margin-left: 65px;\n    margin-top: 10px;\n  }\n  .panel-message-body .message-body .lead {\n    margin-bottom: 0px;\n  }\n  .panel-message-body .message-body .help-block {\n    margin-top: 13.2px;\n  }\n}\n.panel-body-loading {\n  padding: 0px;\n  text-align: center;\n}\n.misago-footer {\n  margin-top: 30px;\n  margin-bottom: 50px;\n}\n.misago-footer .footer-content {\n  border-top: 1px solid #ebecf0;\n  padding-top: 30px;\n}\n.misago-footer .noscript-message .material-icon {\n  position: relative;\n  bottom: 1px;\n  font-size: 18px;\n}\n.ui-preview {\n  color: #ebecf0;\n  -webkit-animation: ui-preview-animation 1s linear infinite;\n  -o-animation: ui-preview-animation 1s linear infinite;\n  animation: ui-preview-animation 1s linear infinite;\n}\n@keyframes ui-preview-animation {\n  0% {\n    filter: alpha(opacity=100);\n    opacity: 1;\n  }\n  50% {\n    filter: alpha(opacity=10);\n    opacity: 0.1;\n  }\n  100% {\n    filter: alpha(opacity=100);\n    opacity: 1;\n  }\n}\n.ui-preview-text {\n  background: #ebecf0;\n  border-radius: 100px;\n  display: inline-block;\n  height: 14px;\n  position: relative;\n  top: 3px;\n}\n.ui-preview-paragraph .ui-preview-text {\n  margin-right: 6px;\n}\n.ui-preview-paragraph .ui-preview-text:last-child {\n  margin-right: 0px;\n}\n.ui-preview-img {\n  background: #ebecf0;\n  border-radius: 5px;\n}\n.pager-undercontent {\n  margin-top: -20px;\n}\n.pager-more {\n  text-align: center;\n}\n@media screen and (min-width: 992px) {\n  .pager-more .btn {\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n}\n.misago-pagination {\n  display: flex;\n}\n.misago-pagination .btn {\n  display: block;\n  width: 100%;\n}\n.misago-pagination .btn + .btn {\n  margin-left: 30px;\n}\n@media screen and (max-width: 767px) {\n  .toolbar-item .misago-pagination {\n    flex: 1;\n  }\n}\n.panel-poll h2 {\n  margin-top: 0px;\n}\n.poll-select-choice .btn,\n.poll-select-choice .btn:active,\n.poll-select-choice .btn:focus,\n.poll-select-choice .btn:hover {\n  background: transparent;\n  border: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  margin: 6px 0px;\n  padding: 0px;\n  padding-left: 6px;\n  outline: none;\n  text-align: left;\n}\n.poll-select-choice .btn .material-icon {\n  margin-right: 6px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-heigh: 28px;\n  color: #ced0da;\n}\n.poll-select-choice .btn.btn-selected .material-icon {\n  color: #0052cc;\n}\n.poll-help {\n  font-size: 12px;\n}\n.poll-chart-selected .material-icon {\n  margin-right: 4px;\n  position: relative;\n  bottom: 1px;\n  height: 14px;\n  width: 14px;\n  color: #36b37e;\n  font-size: 14px;\n  line-heigh: 14px;\n}\n.poll-options {\n  margin-bottom: 0px;\n}\n@media screen and (max-width: 767px) {\n  .poll-options {\n    margin-top: -6px;\n  }\n  .poll-options .btn {\n    margin: 6px 0px;\n  }\n}\n.user-status.user-banned .status-icon {\n  color: #ff5630;\n}\n.user-status.user-online .status-icon {\n  color: #36b37e;\n}\n.user-status.user-offline .status-icon {\n  color: #7a869a;\n}\n@media screen and (min-width: 768px) {\n  .user-card {\n    text-align: center;\n  }\n}\n.user-card-small-avatar img {\n  width: 100%;\n  height: auto;\n}\n@media screen and (min-width: 768px) {\n  .user-card-small-avatar {\n    display: none;\n  }\n}\n@media screen and (max-width: 767px) {\n  .user-card-avatar {\n    display: none;\n  }\n}\n.toolbar {\n  display: block;\n  margin: 0 -15px;\n}\n.toolbar-section {\n  justify-items: center;\n  display: flex;\n  flex: 1;\n  margin-bottom: 20px;\n}\n.toolbar-item {\n  flex: 1;\n  padding: 0 15px;\n}\n.toolbar-item h3,\n.toolbar-item p {\n  margin: 0;\n}\n.toolbar-item-shrink {\n  flex: 0;\n}\n.toolbar-spacer {\n  display: none;\n}\n@media screen and (min-width: 768px) {\n  .toolbar {\n    display: flex;\n  }\n  .toolbar-section,\n  .toolbar-item {\n    flex: 0;\n    align-items: center;\n  }\n  .toolbar-section.toolbar-section-auto,\n  .toolbar-section.toolbar-section-auto .toolbar-item {\n    flex: 1;\n  }\n  .toolbar-spacer {\n    display: block;\n    flex: 1;\n  }\n  .toolbar-item .form-search {\n    width: 250px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .toolbar-item p {\n    text-align: center;\n  }\n}\nabbr {\n  border: none !important;\n}\n.item-title {\n  color: #172b4d;\n  font-weight: bold;\n  text-decoration: none;\n}\na.item-title:link,\na.item-title:active,\na.item-title:visited,\na.item-title:hover {\n  color: #172b4d;\n  font-weight: bold;\n}\na.item-title:hover {\n  text-decoration: underline;\n}\n.message-line {\n  text-align: center;\n}\n.message-line .material-icon {\n  margin-right: 6.66666667px;\n  font-size: 20px;\n  line-height: 20px;\n  height: 20px;\n  width: 20px;\n}\n.text-ellipsis {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.misago-markup h1,\n.misago-markup h2,\n.misago-markup h3,\n.misago-markup h4,\n.misago-markup h5,\n.misago-markup h6,\n.misago-markup p {\n  word-wrap: break-word;\n}\n.misago-markup h1,\n.misago-markup h2,\n.misago-markup h3,\n.misago-markup h4,\n.misago-markup h5,\n.misago-markup h6 {\n  margin-top: 40px;\n}\n.misago-markup > *,\n.misago-markup blockquote > * {\n  margin: 20px 0px;\n}\n.misago-markup > *:first-child,\n.misago-markup blockquote > *:first-child {\n  margin-top: 0px;\n}\n.misago-markup > *:last-child,\n.misago-markup blockquote > *:last-child {\n  margin-bottom: 0px;\n}\n.misago-markup img {\n  max-width: 100%;\n  max-height: 500px;\n}\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background: #ebecf0;\n  border: none;\n  font-size: 14px;\n}\n.misago-markup .quote-block .quote-heading,\n.misago-markup blockquote .quote-heading {\n  border-bottom: 1px solid #d4d6df;\n  padding: 10px 20px;\n  font-size: 12px;\n  font-weight: bold;\n}\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  border: 1px solid #d4d6df;\n}\n.misago-markup .quote-body {\n  background: #fff;\n  margin: 0px;\n  padding: 20px;\n}\n.misago-markup .quote-body > .quote-block,\n.misago-markup .quote-body > blockquote {\n  border: 1px solid #d4d6df;\n}\n.misago-markup .spoiler-block {\n  background: #ebecf0;\n  border: none;\n  font-size: 14px;\n}\n.misago-markup > .spoiler-block {\n  border: 1px solid #d4d6df;\n  position: relative;\n}\n.misago-markup .spoiler-body {\n  background: #fff;\n  margin: 0px;\n  padding: 20px;\n}\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #fff;\n}\n.misago-markup .spoiler-block.revealed .spoiler-overlay {\n  display: none;\n}\n.misago-markup ul {\n  list-style-type: square;\n}\n.misago-markup ul li {\n  list-style-type: square;\n}\n.misago-markup ol {\n  list-style-type: decimal;\n}\n.misago-markup ol li {\n  list-style-type: decimal;\n}\n.misago-markup pre {\n  background: #eee;\n  border: none;\n  padding: 10px;\n  overflow: hidden;\n  color: #000;\n}\n.misago-markup pre code.hljs {\n  margin: -10px;\n  padding: 9.5px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview {\n  border-radius: 6px;\n  margin: 0px auto;\n  overflow: hidden;\n  position: relative;\n  width: 200px;\n  height: 200px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview .loader {\n  display: none;\n  position: absolute;\n  top: 50px;\n  height: 100px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {\n  border-width: 10px;\n  border-color: #fff;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  width: 100px;\n  height: 100px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img {\n  filter: alpha(opacity=33);\n  opacity: 0.33;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader {\n  display: block;\n}\n@media (max-width: 699px) {\n  .modal-change-avatar .modal-avatar-index .avatar-preview {\n    margin-bottom: 20px;\n    width: 150px;\n    height: 150px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview img {\n    width: 150px;\n    height: 150px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview .loader {\n    top: 25px;\n    height: 100px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {\n    width: 100px;\n    height: 100px;\n  }\n}\n.modal-change-avatar .modal-avatar-index .btn {\n  text-align: left;\n}\n.modal-change-avatar .modal-avatar-upload {\n  text-align: center;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file {\n  background: transparent;\n  border: 2px solid #ebecf0;\n  border-radius: 6px;\n  padding: 10px 24px;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  color: #7a869a;\n  font-size: 18px;\n  text-align: center;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file > .material-icon {\n  display: block;\n  margin: 0px auto;\n  margin-bottom: 13.2px;\n  font-size: 50px;\n  width: 50px;\n  height: 50px;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover,\n.modal-change-avatar .modal-avatar-upload .btn-pick-file:active {\n  border-color: #0052cc;\n  color: #0052cc;\n}\n.modal-change-avatar .modal-avatar-upload .text-muted {\n  margin-top: 13.2px;\n}\n.modal-change-avatar .modal-avatar-upload .upload-progress img {\n  border-radius: 4px;\n  margin-bottom: 20px;\n  max-height: 80px;\n  width: auto;\n}\n.modal-change-avatar .modal-avatar-upload .upload-progress .progress {\n  width: 70%;\n  margin: 0px auto;\n}\n.modal-avatar-crop .crop-form {\n  margin: 0px auto;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input {\n  margin-top: 10px;\n  -webkit-appearance: none;\n  border: 1px solid white;\n  width: 100%;\n  /*hide the outline behind the border*/\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 8px;\n  background: #ebecf0;\n  border: none;\n  border-radius: 3px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n  margin-top: -6px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus {\n  outline: none;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track {\n  background: #ebecf0;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track {\n  width: 100%;\n  height: 8px;\n  background: #ebecf0;\n  border: none;\n  border-radius: 4px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb {\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring {\n  outline: 1px solid white;\n  outline-offset: -1px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track {\n  width: 100%;\n  height: 8px;\n  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n  background: transparent;\n  /*leave room for the larger thumb to overflow with a transparent border */\n  border-color: transparent;\n  border-width: 8px 0;\n  /*remove default tick marks*/\n  color: transparent;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower {\n  background: #ebecf0;\n  border-radius: 16px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper {\n  background: #ebecf0;\n  border-radius: 16px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb {\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower {\n  background: #ebecf0;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper {\n  background: #ebecf0;\n}\n.modal-change-avatar .modal-avatar-gallery {\n  padding-bottom: 0px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery {\n  margin-bottom: 20px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3 {\n  margin-top: 0px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row {\n  margin-bottom: 10px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn {\n  border-radius: 6px;\n  border: 2px solid #ebecf0;\n  background: none;\n  padding: 2px;\n  position: relative;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover,\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus {\n  border-color: #7a869a;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active {\n  border-color: #0065ff;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img {\n  border-radius: 4px;\n  width: 100%;\n  height: auto;\n}\n.category-main .read-status .material-icon {\n  color: #ebecf0;\n}\n.category-main .read-status.item-new .material-icon {\n  color: #0052cc;\n}\n.category-last-thread .media-heading a {\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  width: 290px;\n  text-overflow: ellipsis;\n  vertical-align: top;\n}\n@media screen and (max-width: 991px) {\n  .category-last-thread .media-heading a {\n    width: 275px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .category-last-thread .media-heading a {\n    width: 260px;\n  }\n}\n.category-thread-message .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.category-thread-message p {\n  margin: 0px;\n}\n.list-inline.subcategories-list {\n  overflow: auto;\n  margin-top: -10px;\n}\n.list-inline.subcategories-list li {\n  display: block;\n  float: left;\n}\n.list-inline.subcategories-list li a,\n.list-inline.subcategories-list li a:link,\n.list-inline.subcategories-list li a:visited,\n.list-inline.subcategories-list li a:active,\n.list-inline.subcategories-list li a:hover,\n.list-inline.subcategories-list li a:focus {\n  background-color: #ebecf0;\n  border: 1px solid #dcdee5;\n  border-radius: 4px;\n  display: inline-block;\n  margin-top: 10px;\n  padding: 6px 12px;\n  color: #5e6c84;\n}\n.list-inline.subcategories-list li:focus,\n.list-inline.subcategories-list li a:hover,\n.list-inline.subcategories-list li a:active {\n  background-color: #dcdee5;\n  color: #172b4d;\n  text-decoration: none;\n}\n.row.subcategories-list .btn {\n  margin-top: 20px;\n  text-align: left;\n}\n#posting-placeholder {\n  background-color: #ebecf0;\n  display: none;\n  margin-top: 30px;\n  margin-bottom: -30px;\n  padding: 20px 0px;\n  transition: height 300ms;\n}\n#posting-placeholder.slide-in {\n  display: block;\n}\n#posting-placeholder .first-row {\n  margin-bottom: 20px;\n}\n#posting-placeholder .first-row .form-control {\n  border: 1px solid #bfc2cf;\n}\n#posting-placeholder .first-row .posting-options .btn {\n  padding-top: 4px;\n  padding-bottom: 4px;\n}\n#posting-placeholder .first-row .posting-options .btn .btn-text {\n  margin-left: 5px;\n  position: relative;\n  top: 1px;\n}\n#posting-placeholder .first-row .posting-options .material-icon {\n  width: 14px;\n  height: 24px;\n  margin-right: 0px;\n  position: relative;\n  top: 5px;\n  font-size: 14px;\n  line-height: 14px;\n  text-align: center;\n}\n.posting-ui-preview {\n  padding: 20px 0px;\n  position: relative;\n}\n.posting-ui-preview .form-control {\n  box-shadow: none;\n  resize: none;\n}\n.posting-loader {\n  text-align: center;\n}\n.posting-loader .loader {\n  height: 100px;\n}\n.posting-loader .loader .loader-spinning-wheel {\n  width: 100px;\n  height: 100px;\n}\n.posting-message {\n  text-align: center;\n}\n.posting-message .material-icon {\n  margin-right: 6.66666667px;\n  position: relative;\n  top: -1px;\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.posting-message .message-body p {\n  font-size: 18px;\n}\n.editor-border {\n  background-color: #fff;\n  border: 1px solid #bfc2cf;\n  border-radius: 4px;\n}\n.editor-border .form-control {\n  border: none;\n  resize: none;\n}\n.editor-border .form-control,\n.editor-border .form-control:focus,\n.editor-border .form-control:active {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.editor-footer {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 12px;\n  overflow: auto;\n}\n.editor-footer .pull-left {\n  margin-right: 12px;\n}\n.editor-footer .pull-right {\n  margin-left: 12px;\n}\n.editor-footer .btn-icon .material-icon {\n  margin-bottom: -2px;\n}\n@media screen and (max-width: 991px) {\n  .editor-footer .buttons-list {\n    float: none !important;\n    margin: 0px;\n    margin-bottom: 10px;\n  }\n  .editor-footer .buttons-list .btn {\n    display: inline-block;\n    float: none !important;\n    margin: 6.66666667px;\n  }\n  .editor-footer .btn-protect .btn-text {\n    margin-left: 10px;\n  }\n  .editor-footer .btn-protect .material-icon {\n    position: relative;\n    bottom: 2px;\n    width: 14px;\n    height: 14px;\n    font-size: 14px;\n    line-height: 14px;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .buttons-list .btn:first-child {\n    margin-left: 0px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .buttons-list {\n    text-align: center;\n  }\n  .buttons-list .btn-protect {\n    display: block;\n    float: none !important;\n    width: 100%;\n    margin: 0px;\n    margin-top: 10px;\n  }\n}\n.editor-attachments-list {\n  margin: 0px;\n  padding: 0px;\n}\n.editor-attachments-list li {\n  margin: 0px;\n}\n.editor-attachment-complete {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 0px;\n  padding-right: 12px;\n}\n.editor-attachment-complete .editor-attachment-image {\n  float: left;\n  width: 50px;\n}\n.editor-attachment-complete .editor-attachment-image a {\n  background-size: cover;\n  background-position: center;\n  border-radius: 3px;\n  display: block;\n  margin: 0px auto;\n  width: 36px;\n  height: 36px;\n}\n.editor-attachment-complete .editor-attachment-icon {\n  float: left;\n  width: 50px;\n  text-align: center;\n}\n.editor-attachment-complete .editor-attachment-icon .material-icon {\n  position: relative;\n  top: 2px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.editor-attachment-complete .editor-attachment-details {\n  margin-left: 50px;\n}\n.editor-attachment-complete .editor-attachment-details h4,\n.editor-attachment-complete .editor-attachment-details p {\n  margin: 0px;\n  padding: 0px;\n  font-size: 14px;\n}\n.editor-attachment-complete .editor-attachment-details p {\n  margin-top: 3px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.editor-attachment-complete .editor-attachment-details abbr {\n  white-space: nowrap;\n}\n@media screen and (min-width: 768px) {\n  .editor-attachment-actions {\n    padding-top: 3px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .editor-attachment-actions {\n    padding-left: 12px;\n    padding-right: 12px;\n  }\n}\n.editor-attachment-error {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 0px;\n  padding-right: 12px;\n}\n.editor-attachment-error-icon {\n  float: left;\n  width: 50px;\n  text-align: center;\n}\n.editor-attachment-error-icon .material-icon {\n  position: relative;\n  top: 2px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.editor-attachment-error-message {\n  margin-left: 50px;\n  padding: 6px 0px;\n  position: relative;\n}\n.editor-attachment-error-message h4,\n.editor-attachment-error-message p {\n  margin: 0px;\n  padding: 0px;\n  font-size: 14px;\n}\n.editor-attachment-error-message p {\n  margin-top: 3px;\n  font-size: 12px;\n}\n.editor-attachment-error-message .btn {\n  position: absolute;\n  top: 9px;\n  right: 12px;\n}\n@media screen and (max-width: 767px) {\n  .editor-attachment-error-message .btn {\n    display: block;\n    margin-top: 10px;\n    position: static;\n  }\n}\n.editor-attachment-progress-bar {\n  background: #bfc2cf;\n  overflow: auto;\n}\n.editor-attachment-progress {\n  background: #0052cc;\n  float: left;\n  height: 1px;\n}\n.editor-attachment-upload-message {\n  margin: 0px;\n  padding: 6px 12px;\n}\n#editor-upload-field {\n  position: absolute;\n  left: -1000px;\n  top: -1000px;\n}\n.atwho-view ul li img {\n  border-radius: 3px;\n  margin-right: 4.66666667px;\n  width: 20px;\n  height: 20px;\n}\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user {\n  margin-bottom: 20px;\n}\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user,\n.participant-card .btn-user:hover,\n.participant-card .dropdown.open .btn-user:hover,\n.participant-card .btn-user:focus,\n.participant-card .dropdown.open .btn-user:focus,\n.participant-card .btn-user:focus:active,\n.participant-card .dropdown.open .btn-user:focus:active {\n  padding: 0px;\n  overflow: hidden;\n  text-align: left;\n}\n.participant-card .btn-user img,\n.participant-card .dropdown.open .btn-user img {\n  background-color: #fff;\n  width: 34px;\n  height: 34px;\n  margin-right: 8px;\n}\n.panel-participants p {\n  margin: 0px;\n  margin-top: 7px;\n}\n.poll-choices-control .list-group-item {\n  padding: 0px;\n}\n.poll-choices-control .list-group-item .btn {\n  background: transparent;\n  border: transparent;\n  float: left;\n  margin: 0px 2px;\n  margin-bottom: -29px;\n  padding: 0px;\n  width: 28px;\n  height: 28px;\n  position: relative;\n  top: 3px;\n}\n.poll-choices-control .list-group-item .btn .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.poll-choices-control input,\n.poll-choices-control input:focus,\n.poll-choices-control input:active {\n  background: transparent;\n  border: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  outline: none;\n  margin-left: 30px;\n  padding: 6px 12px;\n  width: 100%;\n}\n.posts-list {\n  margin: 0px;\n  padding: 0px;\n  clear: both;\n}\n.posts-list li {\n  list-style: none;\n  margin: 0px;\n  padding: 0px;\n}\n.post-side {\n  font-size: 12px;\n}\n.post-side .media {\n  margin: 0px;\n}\n.post-side .poster-avatar {\n  height: 36px;\n  width: 36px;\n}\n@media screen and (min-width: 992px) {\n  .post-side .poster-avatar {\n    margin-top: 4px;\n    height: 82px;\n    width: 82px;\n  }\n}\n.post-side .user-status {\n  margin-right: 4px;\n}\n.post-side .media-heading {\n  display: block;\n}\n.post-side .media-heading {\n  margin: 0px;\n  margin-top: -1px;\n  font-size: 14px;\n}\n.post-side .media-heading .user-status {\n  margin-right: 0;\n  margin-left: 2px;\n}\n.post-side .pull-right {\n  margin-left: 16px;\n}\n@media screen and (min-width: 992px) {\n  .post-side .media-heading {\n    margin-top: 3px;\n    font-size: 18px;\n  }\n  .post-side .media-heading .user-status {\n    display: none;\n  }\n  .post-side .user-title {\n    margin-top: 4px;\n    margin-bottom: 5px;\n  }\n  .post-side .user-postcount {\n    display: block;\n  }\n  .post-side .user-status {\n    display: block;\n  }\n}\n.post-heading {\n  height: 36px;\n}\n@media screen and (max-width: 991px) {\n  .post-heading {\n    margin-top: 10px;\n  }\n}\n.post-heading .pull-right {\n  margin-left: 16px;\n}\n.post-heading > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-heading .label {\n  margin-top: 6px;\n  font-size: 14px;\n  font-weight: normal;\n}\n.post-heading .label-unread {\n  background-color: #36b37e;\n  color: #fff;\n}\n@media screen and (min-width: 992px) {\n  .post-side .pull-right {\n    display: none;\n  }\n}\n@media screen and (max-width: 991px) {\n  .post-heading .pull-right {\n    display: none;\n  }\n}\n.post-body {\n  padding-top: 20px;\n  padding-bottom: 30px;\n}\n.post-status-message {\n  overflow: auto;\n}\n.post-status-message .material-icon {\n  float: left;\n  font-size: 28px;\n  line-height: 28px;\n}\n.post-status-message p {\n  margin: 0px;\n  margin-top: 4px;\n  margin-left: 36px;\n}\n.post-status-best-answer {\n  background-color: #36b37e;\n  color: #fff;\n}\n.post-status-hidden {\n  background-color: #ff5630;\n  color: #fff;\n}\n.post-status-unapproved {\n  background-color: #0052cc;\n  color: #fff;\n}\n.post-status-protected {\n  background-color: #5e6c84;\n  color: #fff;\n}\n.post-footer .pull-left {\n  margin-right: 16px;\n}\n.post-footer .pull-right {\n  margin-left: 16px;\n}\n.post-footer p {\n  padding-top: 7px;\n  padding-bottom: 6px;\n  margin-bottom: 0px;\n}\n.post-attachments {\n  border-top: 1px solid #ebecf0;\n  padding: 6px 16px;\n}\n.post-attachments abbr {\n  white-space: nowrap;\n}\n.post-attachments .attachment-name {\n  word-wrap: break-word;\n}\n.post-attachments .row > div {\n  margin: 10px 0px;\n}\n.post-attachments .post-attachment-preview {\n  float: left;\n  height: 40px;\n  width: 40px;\n  text-align: center;\n}\n.post-attachments .post-attachment {\n  margin-left: 52px;\n}\n.post-attachments .post-thumbnail {\n  display: block;\n  background-size: cover;\n  background-position: center;\n  border-radius: 3px;\n  width: 40px;\n  height: 40px;\n}\n.post-attachments .material-icon {\n  width: 28px;\n  height: 28px;\n  position: relative;\n  top: 5px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.post-attachments .material-icon:link,\n.post-attachments .material-icon:active,\n.post-attachments .material-icon:visited,\n.post-attachments .material-icon:hover,\n.post-attachments .material-icon:focus {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-attachments .post-attachment-description {\n  margin: 0px;\n  padding: 0px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.post-feed .post-side .media-heading {\n  margin: 0px;\n  font-size: 14px;\n}\n.post-feed .post-side .user-title {\n  margin: 0px;\n  font-size: 12px;\n}\n.post-feed .post-side .btn {\n  display: inline-block;\n}\n.post-feed .post-side img {\n  margin-top: 0px;\n  width: 36px;\n  height: 36px;\n}\n.post-feed .post-heading {\n  height: auto;\n  margin: 10px 0px;\n}\n.post-feed .post-heading .btn {\n  margin-right: 16px;\n  max-width: 100%;\n  text-align: left;\n  white-space: normal;\n  word-wrap: break-word;\n}\n.posts-list .event {\n  margin-bottom: 20px;\n  color: #7a869a;\n}\n.posts-list .event .media {\n  margin-top: 5px;\n}\n.posts-list .event-label .label-unread {\n  background-color: #36b37e;\n  color: #fff;\n}\n.posts-list .event .text-right {\n  padding-right: 0px;\n  text-align: right;\n}\n.posts-list .event .text-right .material-icon {\n  margin-right: -12px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n  text-align: center;\n}\n.posts-list .event .text-left {\n  padding-left: 24px;\n}\n.posts-list .event .event-message {\n  margin-bottom: 5px;\n  font-size: 18px;\n}\n.posts-list .event .event-info {\n  margin: 0px;\n  font-size: 12px;\n}\n.posts-list .event .event-info li {\n  margin-right: 12px;\n}\n.posts-list .event .event-info li:last-child {\n  margin-right: 0px;\n}\n.posts-list .event .event-controls .btn-link {\n  border: 0px;\n  margin: 0px;\n  margin-right: 12px;\n  padding: 0px;\n  font-size: 12px;\n}\n.posts-list .event .event-controls .btn-link:last-child {\n  margin-right: 0px;\n}\n@media screen and (max-width: 767px) {\n  .posts-list .event .text-right {\n    width: 28px;\n    text-align: right;\n  }\n  .posts-list .event .text-left:first-child {\n    padding-left: 0px;\n  }\n  .posts-list .event .event-info {\n    margin-top: 5px;\n  }\n  .posts-list .event .event-controls {\n    clear: both;\n    margin-top: 5px;\n  }\n  .posts-list .event .event-controls .btn-link {\n    margin-right: 20px;\n    font-size: 14px;\n  }\n  .posts-list .event .event-controls .btn-link:last-child {\n    margin-right: 0px;\n  }\n}\n.post-changelog-diff {\n  padding: 0px;\n  margin: 0px;\n}\n.post-changelog-diff .list-unstyled {\n  padding: 0px;\n  margin: 5px 0px;\n}\n.post-changelog-diff .diff-item {\n  padding: 5px 10px;\n}\n.post-changelog-diff .diff-item-sub {\n  color: #ff5630;\n}\n.post-changelog-diff .diff-item-add {\n  color: #36b37e;\n}\n.post-changelog-toolbar .row {\n  margin-left: -12px;\n  margin-right: -12px;\n}\n@media screen and (max-width: 767px) {\n  .post-changelog-toolbar .post-change-label {\n    text-align: center;\n  }\n}\n@media screen and (max-width: 767px) {\n  .page-message .message-panel,\n  .page-error .message-panel {\n    text-align: center;\n  }\n  .page-message .message-icon,\n  .page-error .message-icon {\n    margin: 30px;\n    font-size: 80px;\n  }\n}\n@media screen and (min-width: 768px) {\n  .page-message .message-panel,\n  .page-error .message-panel {\n    margin: 60px auto;\n    max-width: 779.35px;\n    overflow: auto;\n  }\n  .page-message .message-icon,\n  .page-error .message-icon {\n    float: left;\n  }\n  .page-message .message-icon .material-icon,\n  .page-error .message-icon .material-icon {\n    font-size: 80px;\n  }\n  .page-message .message-body,\n  .page-error .message-body {\n    margin-top: 16px;\n    margin-left: 100px;\n    font-size: 18px;\n  }\n  .page-message .message-body p.lead,\n  .page-error .message-body p.lead {\n    font-size: 36px;\n  }\n}\n.threads-list {\n  margin-bottom: 20px;\n}\n.threads-list-item {\n  display: flex;\n  align-items: center;\n}\n.threads-list-item img {\n  width: 32px;\n  height: 32px;\n}\n.threads-list-item-top-row {\n  display: flex;\n  flex: 1;\n  align-items: center;\n  justify-content: center;\n}\n.threads-list-item-bottom-row {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.threads-list-item-col-icon {\n  padding-right: 15px;\n}\n.threads-list-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  border-radius: 3px;\n  font-size: 16px;\n  line-height: 16px;\n}\n.threads-list-icon:link,\n.threads-list-icon:active,\n.threads-list-icon:focus,\n.threads-list-icon:hover,\n.threads-list-icon:visited {\n  background-color: #ebecf0;\n  color: #7a869a;\n  text-decoration: none;\n}\n.threads-list-icon-new:link,\n.threads-list-icon-new:active,\n.threads-list-icon-new:focus,\n.threads-list-icon-new:hover,\n.threads-list-icon-new:visited {\n  background-color: #0052cc;\n  color: #fff;\n}\n.threads-list-item-col-title {\n  flex: 1;\n}\na.threads-list-item-title:link,\na.threads-list-item-title:active,\na.threads-list-item-title:focus,\na.threads-list-item-title:hover,\na.threads-list-item-title:visited {\n  font-size: 16px;\n  color: #172b4d;\n  overflow-wrap: break-word;\n}\na.threads-list-item-title-sm {\n  font-size: 18px;\n}\na.threads-list-item-title-sm:link,\na.threads-list-item-title-sm:active,\na.threads-list-item-title-sm:focus,\na.threads-list-item-title-sm:hover,\na.threads-list-item-title-sm:visited {\n  color: #5e6c84;\n  overflow-wrap: break-word;\n}\na.threads-list-item-title-new:link,\na.threads-list-item-title-new:active,\na.threads-list-item-title-new:focus,\na.threads-list-item-title-new:hover,\na.threads-list-item-title-new:visited {\n  color: #172b4d;\n}\n.threads-list-item-col-flags {\n  padding-left: 15px;\n}\n.threads-list-item-flags {\n  display: flex;\n  align-items: center;\n  opacity: 0.8;\n  margin: 0;\n  padding: 0;\n}\n.threads-list-item-flags li {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  border-radius: 3px;\n  list-style-type: none;\n}\n.threads-list-item-flags li + li {\n  margin-left: 7.5px;\n}\n.threads-list-item-flags .material-icon {\n  font-size: 16px;\n  line-height: 16px;\n}\n.threads-list-item:hover .threads-list-item-flags,\n.threads-list-item:focus .threads-list-item-flags {\n  opacity: 1;\n}\n.threads-list-item-flag-pinned-globally {\n  color: #2563eb;\n  background: #dbeafe;\n}\n.threads-list-item-flag-pinned-locally {\n  color: #3b82f6;\n  background: #dbeafe;\n}\n.threads-list-item-flag-answered {\n  color: #4d7c0f;\n  background: #d9f99d;\n}\n.threads-list-item-flag-poll {\n  color: #c026d3;\n  background: #f5d0fe;\n}\n.threads-list-item-flag-unapproved {\n  color: #ffffff;\n  background: #dc2626;\n}\n.threads-list-item-flag-closed {\n  color: #dc2626;\n  background: #fecaca;\n}\n.threads-list-item-flag-hidden {\n  color: #ffffff;\n  background: #64748b;\n}\n.threads-list-item-col-category {\n  padding-left: 15px;\n  white-space: nowrap;\n}\n.threads-list-category-label {\n  padding: 3px 6px;\n  border-radius: 3px;\n  font-size: 12px;\n  font-weight: bold;\n}\n.threads-list-category-label,\n.threads-list-category-label:link,\n.threads-list-category-label:active,\n.threads-list-category-label:hover,\n.threads-list-category-label:focus,\n.threads-list-category-label:visited {\n  color: #344563;\n  background: #ebecf0;\n  text-decoration: none;\n}\n.threads-list-category-label.threads-list-category-label-color,\n.threads-list-category-label.threads-list-category-label-color:link,\n.threads-list-category-label.threads-list-category-label-color:active,\n.threads-list-category-label.threads-list-category-label-color:hover,\n.threads-list-category-label.threads-list-category-label-color:focus,\n.threads-list-category-label.threads-list-category-label-color:visited {\n  color: #fff;\n  background: var(--label-color);\n}\n.threads-list-item-parent-category {\n  border-radius: 3px 0 0 3px;\n  margin-right: 2px;\n}\n.threads-list-item-parent-category + .threads-list-category-label {\n  border-radius: 0 3px 3px 0;\n}\n.threads-list-item-col-replies {\n  width: 80px;\n  padding-left: 15px;\n}\n.threads-list-item-replies {\n  display: flex;\n  align-items: center;\n  color: #5e6c84;\n  font-size: 16px;\n  font-weight: bold;\n}\n.threads-list-item-replies .material-icon {\n  margin-right: 7.5px;\n  transform: matrix(-1, 0, 0, 1, 0, 0);\n}\n.threads-list-item-col-last-poster {\n  padding-left: 15px;\n}\n.threads-list-item-col-last-poster img {\n  border-radius: 3px;\n}\n.threads-list-item-col-last-activity {\n  width: 120px;\n  padding-left: 15px;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.threads-list-item-col-last-activity a:link,\n.threads-list-item-col-last-activity a:hover,\n.threads-list-item-col-last-activity a:active,\n.threads-list-item-col-last-activity a:visited,\n.threads-list-item-col-last-activity a:focus {\n  color: #344563;\n  font-size: 16px;\n}\n.threads-list-item-col-checkbox,\n.threads-list-item-col-subscription {\n  padding-left: 15px;\n}\n.threads-list-item-title-sm,\n.threads-list-item-col-checkbox-sm {\n  display: none;\n}\n@media screen and (max-width: 767px) {\n  .threads-list {\n    margin-left: -15px;\n    margin-right: -15px;\n  }\n  .threads-list .list-group,\n  .threads-list .list-group-item {\n    border-radius: 0;\n    border-left: 0;\n    border-right: 0;\n  }\n  .threads-list-item-title {\n    display: none;\n  }\n  .threads-list-item-title-sm {\n    display: inline-block;\n  }\n  .threads-list-item-col-icon {\n    display: none;\n  }\n}\n@media screen and (max-width: 991px) {\n  .threads-list-item {\n    display: block;\n  }\n  .threads-list-item img {\n    width: 20px;\n    height: 20px;\n  }\n  .threads-list-item-top-row {\n    align-items: start;\n    margin-bottom: 7.5px;\n  }\n  .threads-list-item-bottom-row {\n    justify-content: end;\n    flex: 0;\n  }\n  .threads-list-item-bottom-row > div {\n    width: auto;\n    padding: 0 0 0 15px;\n  }\n  .threads-list-item-col-subscription,\n  .threads-list-item-col-checkbox {\n    display: none;\n  }\n  .threads-list-item-col-checkbox-sm {\n    display: block;\n    padding-left: 15px;\n  }\n  .threads-list-item-col-checkbox-sm .btn-icon {\n    padding: 4px;\n  }\n  .threads-list-item-col-checkbox-sm .btn-icon .material-icon {\n    font-size: 16px;\n  }\n}\n.threads-list-item-is-busy .btn-icon {\n  opacity: 0.8;\n  animation: busy 0.75s linear infinite;\n}\n@keyframes busy {\n  50% {\n    opacity: 0.5;\n  }\n}\n.threads-list-update-prompt {\n  padding: 0;\n}\n.threads-list-update-prompt-btn {\n  padding: 10px 16px;\n  background: #d6e7ff;\n  color: #003d99;\n  border: none;\n  border-radius: 3px 3px 0 0;\n}\n.threads-list-update-prompt-btn:hover,\n.threads-list-update-prompt-btn:focus {\n  background: #e6f0ff;\n  color: #0052cc;\n}\n.threads-list-update-prompt-btn:active {\n  background: #b3d1ff;\n  color: #0066ff;\n}\n.active-posters li {\n  display: block;\n  overflow: auto;\n}\n.active-posters .rank-user-avatar {\n  float: left;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-user-avatar {\n    height: 42px;\n  }\n  .active-posters .rank-user-avatar img {\n    width: 36px;\n    height: 36px;\n    position: relative;\n    top: 3px;\n  }\n}\n.active-posters .rank-user {\n  float: left;\n  margin-top: 3px;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-user {\n    margin-left: 13.2px;\n    width: 40%;\n  }\n}\n@media screen and (max-width: 767px) {\n  .active-posters .rank-user {\n    float: none;\n    margin-left: 50px;\n    width: auto;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .rank-user {\n    margin-left: 16px;\n    width: 25%;\n  }\n  .active-posters .rank-user .user-name {\n    font-size: 18px;\n  }\n}\n.active-posters .user-details {\n  overflow: auto;\n  font-family: Sans-Serif;\n}\n.active-posters .user-details .user-status,\n.active-posters .user-details .rank-name,\n.active-posters .user-details .user-title {\n  display: block;\n  float: left;\n  margin-right: 3px;\n  font-size: 12px;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-details .user-status,\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    margin-right: 8px;\n  }\n}\n.active-posters .user-details .user-title {\n  margin-right: 0px;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-details {\n    overflow: visible;\n  }\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    height: 14px;\n    overflow: hidden;\n    position: relative;\n    top: 1px;\n    vertical-align: baseline;\n  }\n}\n@media screen and (max-width: 767px) {\n  .active-posters .user-details {\n    margin-top: 3px;\n  }\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    font-weight: normal;\n  }\n}\n.active-posters .user-status {\n  overflow: auto;\n  position: relative;\n  top: 1px;\n}\n.active-posters .user-status span {\n  display: block;\n  float: left;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-status {\n    height: 14px;\n    overflow: hidden;\n  }\n}\n.active-posters .user-status .status-icon {\n  position: relative;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .user-status .status-icon {\n    top: 0px;\n    width: 12px;\n    height: 12px;\n    font-size: 12px;\n    line-height: 12px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-status .status-icon {\n    top: 1px;\n    margin-right: 3px;\n    width: 13px;\n    height: 13px;\n    font-size: 13px;\n    line-height: 13px;\n  }\n}\n.active-posters .status-label.ui-preview-text,\n.active-posters .rank-name .ui-preview-text,\n.active-posters .user-title .ui-preview-text {\n  height: 11px;\n  position: relative;\n  top: 2px;\n  font-size: 11px;\n  line-height: 11px;\n}\n.active-posters .rank-name .ui-preview-text,\n.active-posters .user-title .ui-preview-text {\n  position: static;\n}\n.active-posters .rank-position strong,\n.active-posters .rank-posts-counted strong,\n.active-posters .rank-posts-total strong,\n.active-posters .rank-position small,\n.active-posters .rank-posts-counted small,\n.active-posters .rank-posts-total small {\n  display: block;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-position,\n  .active-posters .rank-posts-counted,\n  .active-posters .rank-posts-total {\n    overflow: auto;\n  }\n  .active-posters .rank-position strong,\n  .active-posters .rank-posts-counted strong,\n  .active-posters .rank-posts-total strong,\n  .active-posters .rank-position small,\n  .active-posters .rank-posts-counted small,\n  .active-posters .rank-posts-total small {\n    float: left;\n    font-size: 10.5px;\n  }\n  .active-posters .rank-position strong,\n  .active-posters .rank-posts-counted strong,\n  .active-posters .rank-posts-total strong {\n    min-width: 30px;\n    margin-right: 3px;\n    text-align: right;\n  }\n  .active-posters .rank-position .ui-preview-text,\n  .active-posters .rank-posts-counted .ui-preview-text,\n  .active-posters .rank-posts-total .ui-preview-text {\n    height: 8px;\n    position: relative;\n    top: -1px;\n    font-size: 8px;\n    line-height: 8px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .rank-position,\n  .active-posters .rank-posts-counted,\n  .active-posters .rank-posts-total {\n    float: left;\n    margin-top: 3px;\n    width: 23%;\n    font-size: 18px;\n    text-align: center;\n  }\n  .active-posters .rank-position small,\n  .active-posters .rank-posts-counted small,\n  .active-posters .rank-posts-total small {\n    font-size: 12px;\n    font-weight: normal;\n  }\n}\n.user-compact-stats .rank-position strong,\n.user-compact-stats .rank-posts-counted strong,\n.user-compact-stats .rank-position small,\n.user-compact-stats .rank-posts-counted small {\n  display: inline-block;\n  float: none;\n}\n.user-compact-stats .rank-position strong,\n.user-compact-stats .rank-posts-counted strong {\n  min-width: auto;\n}\n.user-compact-stats .rank-position small,\n.user-compact-stats .rank-posts-counted small {\n  margin-right: 20px;\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n.page-user-profile .page-header {\n  padding-top: 20px;\n}\n.page-user-profile .page-header .alert {\n  margin-bottom: 20px;\n}\n.page-user-profile .page-header h1 {\n  margin-bottom: 0px;\n}\n.page-user-profile .page-header .btn-aligned {\n  margin-top: 0px;\n}\n@media screen and (max-width: 767px) {\n  .page-user-profile .page-header {\n    text-align: center;\n  }\n  .page-user-profile .page-header img {\n    clear: both;\n    margin-top: 20px;\n    width: 100px;\n    height: 100px;\n  }\n  .page-user-profile .page-header h1 {\n    margin-top: 20px;\n    font-size: 28px;\n  }\n  .page-user-profile .page-header .header-stats ul {\n    text-align: center;\n  }\n  .page-user-profile .page-header .header-stats ul li {\n    display: inline-block;\n    white-space: nowrap;\n  }\n  .page-user-profile .profile-side-avatar {\n    display: none;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .page-user-profile .page-header img,\n  .page-user-profile .page-header h1 {\n    float: left;\n  }\n  .page-user-profile .page-header img {\n    margin-top: 20px;\n    margin-right: 24px;\n    width: 80px;\n    height: 80px;\n  }\n  .page-user-profile .page-header h1 {\n    position: relative;\n    top: 25px;\n  }\n  .page-user-profile .page-header .header-stats {\n    margin-left: 112px;\n    margin-top: 25px;\n    margin-bottom: -45px;\n    position: relative;\n    bottom: 50px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .page-user-profile .page-header .user-avatar-sm {\n    display: none;\n  }\n  .page-user-profile .page-header h1 {\n    position: relative;\n    top: 5px;\n  }\n  .page-user-profile .page-header .header-stats ul li {\n    display: block;\n    float: left;\n  }\n  .page-user-profile .profile-side-avatar img {\n    width: 100%;\n    height: auto;\n    margin-top: -140px;\n    margin-bottom: 20px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history li {\n    display: block;\n    overflow: auto;\n  }\n}\n.username-history .change-avatar {\n  float: left;\n}\n.username-history .change-avatar a,\n.username-history .change-avatar span {\n  margin-right: 10px;\n}\n.username-history .change-avatar a img,\n.username-history .change-avatar span img {\n  width: 42px;\n  height: 42px;\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-avatar a img,\n  .username-history .change-avatar span img {\n    width: 18px;\n    height: 18px;\n    position: relative;\n    bottom: 1px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-author {\n    float: left;\n    width: 30%;\n  }\n}\n.username-history .change {\n  min-height: 20px;\n  overflow: auto;\n}\n.username-history .change span {\n  display: block;\n  float: left;\n}\n.username-history .change .material-icon {\n  margin: 0px 7px;\n  position: relative;\n  top: 4px;\n}\n@media screen and (min-width: 992px) {\n  .username-history .change {\n    float: left;\n    width: 40%;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-date {\n    float: left;\n    width: 20%;\n  }\n}\n.search-footer p {\n  margin-top: 20px;\n  color: #5e6c84;\n  font-size: 12px;\n  text-align: center;\n}\n@media screen and (min-width: 768px) {\n  .page-search-form {\n    padding-top: 40px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .page-search-form {\n    padding-bottom: 40px;\n  }\n  .page-search-form h1 {\n    position: relative;\n    top: 5px;\n  }\n  .page-search-form .form-group {\n    margin-bottom: 0px;\n  }\n}\n/*\nDescription: Foundation 4 docs style for highlight.js\nAuthor: Dan Allen <dan.j.allen@gmail.com>\nWebsite: http://foundation.zurb.com/docs/\nVersion: 1.0\nDate: 2013-04-02\n*/\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #eee;\n  color: black;\n}\n.hljs-link,\n.hljs-emphasis,\n.hljs-attribute,\n.hljs-addition {\n  color: #070;\n}\n.hljs-emphasis {\n  font-style: italic;\n}\n.hljs-strong,\n.hljs-string,\n.hljs-deletion {\n  color: #d14;\n}\n.hljs-strong {\n  font-weight: bold;\n}\n.hljs-quote,\n.hljs-comment {\n  color: #998;\n  font-style: italic;\n}\n.hljs-section,\n.hljs-title {\n  color: #900;\n}\n.hljs-class .hljs-title,\n.hljs-type {\n  color: #458;\n}\n.hljs-variable,\n.hljs-template-variable {\n  color: #336699;\n}\n.hljs-bullet {\n  color: #997700;\n}\n.hljs-meta {\n  color: #3344bb;\n}\n.hljs-code,\n.hljs-number,\n.hljs-literal,\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #099;\n}\n.hljs-regexp {\n  background-color: #fff0ff;\n  color: #880088;\n}\n.hljs-symbol {\n  color: #990073;\n}\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n  color: #007700;\n}\n.atwho-view {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: none;\n  margin-top: 18px;\n  background: white;\n  color: black;\n  border: 1px solid #DDD;\n  border-radius: 3px;\n  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);\n  min-width: 120px;\n  z-index: 11110 !important;\n}\n.atwho-view .atwho-header {\n  padding: 5px;\n  margin: 5px;\n  cursor: pointer;\n  border-bottom: solid 1px #eaeff1;\n  color: #6f8092;\n  font-size: 11px;\n  font-weight: bold;\n}\n.atwho-view .atwho-header .small {\n  color: #6f8092;\n  float: right;\n  padding-top: 2px;\n  margin-right: -5px;\n  font-size: 12px;\n  font-weight: normal;\n}\n.atwho-view .atwho-header:hover {\n  cursor: default;\n}\n.atwho-view .cur {\n  background: #3366FF;\n  color: white;\n}\n.atwho-view .cur small {\n  color: white;\n}\n.atwho-view strong {\n  color: #3366FF;\n}\n.atwho-view .cur strong {\n  color: white;\n  font: bold;\n}\n.atwho-view ul {\n  /* width: 100px; */\n  list-style: none;\n  padding: 0;\n  margin: auto;\n  max-height: 200px;\n  overflow-y: auto;\n}\n.atwho-view ul li {\n  display: block;\n  padding: 5px 10px;\n  border-bottom: 1px solid #DDD;\n  cursor: pointer;\n  /* border-top: 1px solid #C8C8C8; */\n}\n.atwho-view small {\n  font-size: smaller;\n  color: #777;\n  font-weight: normal;\n}\nabbr {\n  outline: none;\n  text-decoration: none;\n}\n.shadow-2dp {\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.04), 0 3px 1px -2px rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.shadow-3dp {\n  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.04), 0 3px 3px -2px rgba(0, 0, 0, 0.06), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n}\n.shadow-4dp {\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.04), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n.shadow-6dp {\n  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.04), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.06);\n}\n.shadow-8dp {\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.06);\n}\n.shadow-16dp {\n  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.06);\n}\n.shadow-24dp {\n  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.04), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.06);\n}\n.btn-default,\n.btn-default:disabled,\n.btn-default:disabled:hover,\n.btn-default.disabled,\n.btn-default.disabled:hover,\n.btn-default.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default:disabled,\n.btn-default:disabled:hover,\n.btn-default.disabled,\n.btn-default.disabled:hover,\n.btn-default.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default:active:focus,\n.btn-default:active,\n.dropdown.open .dropdown-toggle .btn-default,\n.dropdown.open .dropdown-toggle .btn-default:focus,\n.dropdown.open .dropdown-toggle .btn-default:active:focus,\n.dropdown.open .dropdown-toggle .btn-default:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-loading,\n.btn-default.btn-loading:disabled,\n.btn-default.btn-loading:disabled:hover,\n.btn-default.btn-loading:hover,\n.btn-default.btn-loading:focus,\n.btn-default.btn-loading:active:focus,\n.btn-default.btn-loading:active {\n  color: transparent;\n}\n.btn-primary,\n.btn-primary:disabled,\n.btn-primary:disabled:hover,\n.btn-primary.disabled,\n.btn-primary.disabled:hover,\n.btn-primary.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary:disabled,\n.btn-primary:disabled:hover,\n.btn-primary.disabled,\n.btn-primary.disabled:hover,\n.btn-primary.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary:active:focus,\n.btn-primary:active,\n.dropdown.open .dropdown-toggle .btn-primary,\n.dropdown.open .dropdown-toggle .btn-primary:focus,\n.dropdown.open .dropdown-toggle .btn-primary:active:focus,\n.dropdown.open .dropdown-toggle .btn-primary:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-loading,\n.btn-primary.btn-loading:disabled,\n.btn-primary.btn-loading:disabled:hover,\n.btn-primary.btn-loading:hover,\n.btn-primary.btn-loading:focus,\n.btn-primary.btn-loading:active:focus,\n.btn-primary.btn-loading:active {\n  color: transparent;\n}\n.btn-success,\n.btn-success:disabled,\n.btn-success:disabled:hover,\n.btn-success.disabled,\n.btn-success.disabled:hover,\n.btn-success.disabled:active {\n  background: #00c853;\n  border: 1px solid #00c853;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success:disabled,\n.btn-success:disabled:hover,\n.btn-success.disabled,\n.btn-success.disabled:hover,\n.btn-success.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background: #00af48;\n  border: 1px solid #00af48;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success:active:focus,\n.btn-success:active,\n.dropdown.open .dropdown-toggle .btn-success,\n.dropdown.open .dropdown-toggle .btn-success:focus,\n.dropdown.open .dropdown-toggle .btn-success:active:focus,\n.dropdown.open .dropdown-toggle .btn-success:hover {\n  background: #007c33;\n  border: 1px solid #007c33;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success.btn-loading,\n.btn-success.btn-loading:disabled,\n.btn-success.btn-loading:disabled:hover,\n.btn-success.btn-loading:hover,\n.btn-success.btn-loading:focus,\n.btn-success.btn-loading:active:focus,\n.btn-success.btn-loading:active {\n  color: transparent;\n}\n.btn-danger,\n.btn-danger:disabled,\n.btn-danger:disabled:hover,\n.btn-danger.disabled,\n.btn-danger.disabled:hover,\n.btn-danger.disabled:active {\n  background: #ef5350;\n  border: 1px solid #ef5350;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger:disabled,\n.btn-danger:disabled:hover,\n.btn-danger.disabled,\n.btn-danger.disabled:hover,\n.btn-danger.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background: #ff8a80;\n  border: 1px solid #ff8a80;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger:active:focus,\n.btn-danger:active,\n.dropdown.open .dropdown-toggle .btn-danger,\n.dropdown.open .dropdown-toggle .btn-danger:focus,\n.dropdown.open .dropdown-toggle .btn-danger:active:focus,\n.dropdown.open .dropdown-toggle .btn-danger:hover {\n  background: #d32f2f;\n  border: 1px solid #d32f2f;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger.btn-loading,\n.btn-danger.btn-loading:disabled,\n.btn-danger.btn-loading:disabled:hover,\n.btn-danger.btn-loading:hover,\n.btn-danger.btn-loading:focus,\n.btn-danger.btn-loading:active:focus,\n.btn-danger.btn-loading:active {\n  color: transparent;\n}\n.btn-default.btn-outline,\n.btn-default.btn-outline:disabled,\n.btn-default.btn-outline:disabled:hover,\n.btn-default.btn-outline.disabled,\n.btn-default.btn-outline.disabled:hover,\n.btn-default.btn-outline.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline:disabled,\n.btn-default.btn-outline:disabled:hover,\n.btn-default.btn-outline.disabled,\n.btn-default.btn-outline.disabled:hover,\n.btn-default.btn-outline.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-default.btn-outline:hover,\n.btn-default.btn-outline:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline:active:focus,\n.btn-default.btn-outline:active,\n.dropdown.open .btn-default.btn-outline,\n.dropdown.open .btn-default.btn-outline:focus,\n.dropdown.open .btn-default.btn-outline:active:focus,\n.dropdown.open .btn-default.btn-outline:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline.btn-loading,\n.btn-default.btn-outline.btn-loading:disabled,\n.btn-default.btn-outline.btn-loading:disabled:hover,\n.btn-default.btn-outline.btn-loading:hover,\n.btn-default.btn-outline.btn-loading:focus,\n.btn-default.btn-outline.btn-loading:active:focus,\n.btn-default.btn-outline.btn-loading:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline,\n.btn-primary.btn-outline:disabled,\n.btn-primary.btn-outline:disabled:hover,\n.btn-primary.btn-outline.disabled,\n.btn-primary.btn-outline.disabled:hover,\n.btn-primary.btn-outline.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline:disabled,\n.btn-primary.btn-outline:disabled:hover,\n.btn-primary.btn-outline.disabled,\n.btn-primary.btn-outline.disabled:hover,\n.btn-primary.btn-outline.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-primary.btn-outline:hover,\n.btn-primary.btn-outline:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline:active:focus,\n.btn-primary.btn-outline:active,\n.dropdown.open .btn-primary.btn-outline,\n.dropdown.open .btn-primary.btn-outline:focus,\n.dropdown.open .btn-primary.btn-outline:active:focus,\n.dropdown.open .btn-primary.btn-outline:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline.btn-loading,\n.btn-primary.btn-outline.btn-loading:disabled,\n.btn-primary.btn-outline.btn-loading:disabled:hover,\n.btn-primary.btn-outline.btn-loading:hover,\n.btn-primary.btn-outline.btn-loading:focus,\n.btn-primary.btn-outline.btn-loading:active:focus,\n.btn-primary.btn-outline.btn-loading:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in {\n  border-radius: 4px;\n}\n.navbar-misago .btn-sign-in,\n.navbar-misago .btn-sign-in:disabled,\n.navbar-misago .btn-sign-in:disabled:hover,\n.navbar-misago .btn-sign-in.disabled,\n.navbar-misago .btn-sign-in.disabled:hover,\n.navbar-misago .btn-sign-in.disabled:active {\n  background: transparent;\n  border: 1px solid #c1c7d0;\n  color: #8993a4;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in:disabled,\n.navbar-misago .btn-sign-in:disabled:hover,\n.navbar-misago .btn-sign-in.disabled,\n.navbar-misago .btn-sign-in.disabled:hover,\n.navbar-misago .btn-sign-in.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.navbar-misago .btn-sign-in:hover,\n.navbar-misago .btn-sign-in:focus {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in:active:focus,\n.navbar-misago .btn-sign-in:active,\n.dropdown.open .navbar-misago .btn-sign-in,\n.dropdown.open .navbar-misago .btn-sign-in:focus,\n.dropdown.open .navbar-misago .btn-sign-in:active:focus,\n.dropdown.open .navbar-misago .btn-sign-in:hover {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in.btn-loading,\n.navbar-misago .btn-sign-in.btn-loading:disabled,\n.navbar-misago .btn-sign-in.btn-loading:disabled:hover,\n.navbar-misago .btn-sign-in.btn-loading:hover,\n.navbar-misago .btn-sign-in.btn-loading:focus,\n.navbar-misago .btn-sign-in.btn-loading:active:focus,\n.navbar-misago .btn-sign-in.btn-loading:active {\n  background: transparent;\n  border: 1px solid #c1c7d0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register {\n  border-radius: 4px;\n}\n.navbar-misago .btn-register,\n.navbar-misago .btn-register:disabled,\n.navbar-misago .btn-register:disabled:hover,\n.navbar-misago .btn-register.disabled,\n.navbar-misago .btn-register.disabled:hover,\n.navbar-misago .btn-register.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register:disabled,\n.navbar-misago .btn-register:disabled:hover,\n.navbar-misago .btn-register.disabled,\n.navbar-misago .btn-register.disabled:hover,\n.navbar-misago .btn-register.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.navbar-misago .btn-register:hover,\n.navbar-misago .btn-register:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register:active:focus,\n.navbar-misago .btn-register:active,\n.dropdown.open .navbar-misago .btn-register,\n.dropdown.open .navbar-misago .btn-register:focus,\n.dropdown.open .navbar-misago .btn-register:active:focus,\n.dropdown.open .navbar-misago .btn-register:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register.btn-loading,\n.navbar-misago .btn-register.btn-loading:disabled,\n.navbar-misago .btn-register.btn-loading:disabled:hover,\n.navbar-misago .btn-register.btn-loading:hover,\n.navbar-misago .btn-register.btn-loading:focus,\n.navbar-misago .btn-register.btn-loading:active:focus,\n.navbar-misago .btn-register.btn-loading:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-social-battlenet,\n.btn-social-battlenet-oauth2,\n.btn-social-battlenet:disabled,\n.btn-social-battlenet-oauth2:disabled,\n.btn-social-battlenet:disabled:hover,\n.btn-social-battlenet-oauth2:disabled:hover {\n  color: #0e86ca;\n  font-weight: bold;\n}\n.btn-social-bungie,\n.btn-social-bungie:disabled,\n.btn-social-bungie:disabled:hover {\n  color: #0096db;\n  font-weight: bold;\n}\n.btn-social-facebook,\n.btn-social-facebook-app,\n.btn-social-facebook:disabled,\n.btn-social-facebook-app:disabled,\n.btn-social-facebook:disabled:hover,\n.btn-social-facebook-app:disabled:hover {\n  color: #3b5998;\n  font-weight: bold;\n}\n.btn-social-github,\n.btn-social-github-team,\n.btn-social-github-enterprise,\n.btn-social-github-enterprise-org,\n.btn-social-github-enterprise-team,\n.btn-social-github:disabled,\n.btn-social-github-team:disabled,\n.btn-social-github-enterprise:disabled,\n.btn-social-github-enterprise-org:disabled,\n.btn-social-github-enterprise-team:disabled,\n.btn-social-github:disabled:hover,\n.btn-social-github-team:disabled:hover,\n.btn-social-github-enterprise:disabled:hover,\n.btn-social-github-enterprise-org:disabled:hover,\n.btn-social-github-enterprise-team:disabled:hover {\n  color: #000000;\n  font-weight: bold;\n}\n.btn-social-gitlab,\n.btn-social-gitlab:disabled,\n.btn-social-gitlab:disabled:hover {\n  color: #fc6d26;\n  font-weight: bold;\n}\n.btn-social-google,\n.btn-social-google-oauth,\n.btn-social-google-oauth2,\n.btn-social-google-plus,\n.btn-social-google-openidconnect,\n.btn-social-google:disabled,\n.btn-social-google-oauth:disabled,\n.btn-social-google-oauth2:disabled,\n.btn-social-google-plus:disabled,\n.btn-social-google-openidconnect:disabled,\n.btn-social-google:disabled:hover,\n.btn-social-google-oauth:disabled:hover,\n.btn-social-google-oauth2:disabled:hover,\n.btn-social-google-plus:disabled:hover,\n.btn-social-google-openidconnect:disabled:hover {\n  color: #dd4b39;\n  font-weight: bold;\n}\n.btn-social-linkedin,\n.btn-social-linkedin:disabled,\n.btn-social-linkedin:disabled:hover {\n  color: #0077b5;\n  font-weight: bold;\n}\n.btn-social-steam,\n.btn-social-steam:disabled,\n.btn-social-steam:disabled:hover {\n  color: #5c7e10;\n  font-weight: bold;\n}\n.btn-social-twitter,\n.btn-social-twitter:disabled,\n.btn-social-twitter:disabled:hover {\n  color: #1da1f2;\n  font-weight: bold;\n}\n.form-social-auth .row {\n  margin-top: -6px;\n  margin-bottom: -6px;\n}\n.form-social-auth .btn {\n  margin: 6px 0px;\n}\ninput.form-control,\ntextarea.form-control {\n  border-color: #ced0da;\n  box-shadow: inset 0px 0px 0px 1px #ced0da;\n}\ninput.form-control:focus,\ntextarea.form-control:focus {\n  border-color: #66afe9;\n  box-shadow: inset 0px 0px 0px 1px #66afe9;\n}\n.has-error input.form-control {\n  border-color: #ff5630;\n  box-shadow: inset 0px 0px 0px 1px #ff5630;\n}\n.has-error input.form-control:focus {\n  border-color: #ffa996;\n  box-shadow: inset 0px 0px 0px 1px #ffa996;\n}\n.has-success input.form-control {\n  border-color: #36b37e;\n  box-shadow: inset 0px 0px 0px 1px #36b37e;\n}\n.has-success input.form-control:focus {\n  border-color: #79d6af;\n  box-shadow: inset 0px 0px 0px 1px #79d6af;\n}\n.password-strength {\n  margin-top: 10px;\n}\n.password-strength .text-small {\n  margin-top: 4px;\n  color: #3462af;\n  font-size: 12px;\n}\n.password-strength .progress {\n  margin: 0px;\n}\n.auth-message {\n  background: #091e42;\n  padding: 80px 0px;\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.06);\n}\n.auth-message p {\n  color: #fff;\n}\n.auth-message .btn {\n  background: #f4f5f7;\n  border-color: #f4f5f7;\n  color: #172b4d;\n}\n.auth-message .btn:hover,\n.auth-message .btn:focus {\n  background: #dfe1e6;\n  border-color: #dfe1e6;\n  color: #172b4d;\n}\n.auth-message .btn:active {\n  background: #b3bac5;\n  border-color: #b3bac5;\n  color: #172b4d;\n}\n.dropdown-menu {\n  border: none;\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.04), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n.user-dropdown .dropdown-header strong {\n  display: block;\n  color: #172b4d;\n  font-weight: bold;\n}\n.user-dropdown .dropdown-header .user-stats {\n  margin-top: 10px;\n  font-size: 12px;\n}\n.user-dropdown .dropdown-header .user-stats .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n}\n.user-dropdown .guest-preview {\n  padding-bottom: 10px;\n}\n.user-dropdown .badge {\n  background-color: #ff5630;\n}\n.user-dropdown a:hover .badge,\n.user-dropdown a:focus .badge,\n.user-dropdown a:active .badge,\n.user-dropdown .btn-link:hover .badge,\n.user-dropdown .btn-link:focus .badge,\n.user-dropdown .btn-link:active .badge {\n  background-color: #fff;\n  color: #ff5630;\n}\n.mobile-dropdown.open {\n  margin: 0px;\n}\n.navbar-misago {\n  border-bottom: none;\n  box-shadow: 0px 0px 3px #c1c7d0;\n}\n.navbar-misago .user-avatar {\n  background: #fff;\n  border-radius: 3px;\n}\n.navbar-misago .brand-link img {\n  border-radius: 3px;\n}\n.dropdown-search-results {\n  border-radius: 0px 0px 4px 4px;\n}\n.dropdown-search-message {\n  border-top: 1px solid #ebecf0;\n  padding: 10px 16px;\n  color: #7a869a;\n}\n.dropdown-search-loader {\n  border-top: 1px solid #ebecf0;\n  padding: 10px 16px;\n}\n.dropdown-search-header {\n  border-top: 1px solid #ebecf0;\n  padding: 8px 20px;\n  color: #7a869a;\n  font-weight: bold;\n}\n.dropdown-search-thread small,\n.dropdown-search-user small {\n  color: #7a869a;\n}\n.dropdown-search-thread .dropdown-search-post-content {\n  overflow: hidden;\n  white-space: normal;\n  max-height: 47px;\n}\n.dropdown-search-thread .dropdown-search-post-footer {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dropdown-search-footer {\n  padding-bottom: 5px;\n}\n.dropdown-search-footer:last-child {\n  padding-bottom: 0px;\n}\n.dropdown-menu > li.dropdown-search-footer > a {\n  font-size: small;\n}\n.page-header {\n  background: none;\n  border-bottom: none;\n}\n.page-header-bg {\n  background: #f4f5f7;\n  background-size: cover;\n}\n@media screen and (min-width: 992px) {\n  .page-header-bg {\n    margin-bottom: 40px;\n  }\n}\n.page-header-bg {\n  min-height: 8px;\n}\n.page-header h1 {\n  color: #172b4d;\n  font-weight: 400;\n}\n.page-header .btn-outline.btn-default,\n.page-header .btn-outline.btn-default:disabled,\n.page-header .btn-outline.btn-default:disabled:hover,\n.page-header .btn-outline.btn-default.disabled,\n.page-header .btn-outline.btn-default.disabled:hover,\n.page-header .btn-outline.btn-default.disabled:active {\n  background: #8993a4;\n  border: 1px solid #8993a4;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-default:disabled,\n.page-header .btn-outline.btn-default:disabled:hover,\n.page-header .btn-outline.btn-default.disabled,\n.page-header .btn-outline.btn-default.disabled:hover,\n.page-header .btn-outline.btn-default.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.page-header .btn-outline.btn-default:hover,\n.page-header .btn-outline.btn-default:focus {\n  background: #6b778c;\n  border: 1px solid #6b778c;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-default:active:focus,\n.page-header .btn-outline.btn-default:active,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:focus,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:active:focus,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-default:hover {\n  background: #505f79;\n  border: 1px solid #505f79;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-default.btn-loading,\n.page-header .btn-outline.btn-default.btn-loading:disabled,\n.page-header .btn-outline.btn-default.btn-loading:disabled:hover,\n.page-header .btn-outline.btn-default.btn-loading:hover,\n.page-header .btn-outline.btn-default.btn-loading:focus,\n.page-header .btn-outline.btn-default.btn-loading:active:focus,\n.page-header .btn-outline.btn-default.btn-loading:active {\n  color: transparent;\n}\n.page-header .btn-outline.btn-primary,\n.page-header .btn-outline.btn-primary:disabled,\n.page-header .btn-outline.btn-primary:disabled:hover,\n.page-header .btn-outline.btn-primary.disabled,\n.page-header .btn-outline.btn-primary.disabled:hover,\n.page-header .btn-outline.btn-primary.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-primary:disabled,\n.page-header .btn-outline.btn-primary:disabled:hover,\n.page-header .btn-outline.btn-primary.disabled,\n.page-header .btn-outline.btn-primary.disabled:hover,\n.page-header .btn-outline.btn-primary.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.page-header .btn-outline.btn-primary:hover,\n.page-header .btn-outline.btn-primary:focus {\n  background: #8777d9;\n  border: 1px solid #8777d9;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-primary:active:focus,\n.page-header .btn-outline.btn-primary:active,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:focus,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:active:focus,\n.dropdown.open .dropdown-toggle .page-header .btn-outline.btn-primary:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.page-header .btn-outline.btn-primary.btn-loading,\n.page-header .btn-outline.btn-primary.btn-loading:disabled,\n.page-header .btn-outline.btn-primary.btn-loading:disabled:hover,\n.page-header .btn-outline.btn-primary.btn-loading:hover,\n.page-header .btn-outline.btn-primary.btn-loading:focus,\n.page-header .btn-outline.btn-primary.btn-loading:active:focus,\n.page-header .btn-outline.btn-primary.btn-loading:active {\n  color: transparent;\n}\n.header-stats {\n  color: #5e6c84;\n}\n.header-stats li a,\n.header-stats li a:link,\n.header-stats li a:visited {\n  color: #5e6c84;\n}\n.header-stats li a:hover,\n.header-stats li a:focus,\n.header-stats li a:active {\n  color: #344563;\n}\n.header-stats li .user-status.user-offline .status-icon {\n  color: #5e6c84;\n}\n.page-header .go-back-sm,\n.page-header .go-back-sm:link,\n.page-header .go-back-sm:visited {\n  color: #5e6c84;\n}\n.page-header .go-back-sm:hover,\n.page-header .go-back-sm:focus,\n.page-header .go-back-sm:active {\n  color: #344563;\n}\n.page-header .breadcrumb {\n  color: #5e6c84;\n}\n.page-header .breadcrumb a,\n.page-header .breadcrumb a:link,\n.page-header .breadcrumb a:visited {\n  color: #5e6c84;\n}\n.page-header .breadcrumb a:hover,\n.page-header .breadcrumb a:focus,\n.page-header .breadcrumb a:active {\n  color: #5e6c84;\n}\n.page-header .breadcrumb li:before {\n  color: #5e6c84;\n}\n.page-header .page-tabs {\n  background-color: transparent;\n  margin-top: 33.2px;\n}\n.page-header .page-tabs li a {\n  font-weight: bold;\n}\n.page-header .page-tabs li a,\n.page-header .page-tabs li a:link,\n.page-header .page-tabs li a:visited {\n  background-color: transparent;\n  border-radius: 3px 3px 0 0;\n  color: #a5adba;\n}\n.page-header .page-tabs li a:hover,\n.page-header .page-tabs li a:focus {\n  background-color: transparent;\n  color: #172b4d;\n}\n@media screen and (max-width: 991px) {\n  .page-header .page-tabs li a:hover,\n  .page-header .page-tabs li a:focus {\n    background-color: transparent;\n    color: #a5adba;\n  }\n}\n.page-header .page-tabs li.active a,\n.page-header .page-tabs li.active a:link,\n.page-header .page-tabs li.active a:active,\n.page-header .page-tabs li.active a:visited,\n.page-header .page-tabs li.active a:hover,\n.page-header .page-tabs li.active a:focus {\n  background-color: #fff;\n  color: #172b4d;\n}\n.misago-footer {\n  margin-top: 40px;\n}\n.misago-footer .footer-content {\n  border-top: 1px solid #ebecf0;\n  padding-top: 20px;\n  color: #a5adba;\n}\n@media screen and (max-width: 767px) {\n  .misago-footer .footer-content {\n    text-align: center;\n  }\n  .misago-footer .footer-content .site-footnote {\n    clear: both;\n    margin-bottom: 15px;\n  }\n}\n.misago-footer .footer-content a,\n.misago-footer .footer-content a:link,\n.misago-footer .footer-content a:visited {\n  color: #a5adba;\n}\n.misago-footer .footer-content a:hover,\n.misago-footer .footer-content a:focus {\n  color: #7a8699;\n}\n.misago-footer .footer-content .misago-branding,\n.misago-footer .footer-content .misago-branding:link,\n.misago-footer .footer-content .misago-branding:visited {\n  color: #a5adba;\n}\n.misago-footer .footer-content .misago-branding:hover,\n.misago-footer .footer-content .misago-branding:focus {\n  color: #7a8699;\n}\n.list-group {\n  border-radius: 3px;\n}\n.list-group .list-group-item {\n  border-left-color: #ebecf0;\n  border-right-color: #ebecf0;\n}\n.list-group .list-group-item:first-child {\n  border-top-color: #ebecf0;\n}\n.list-group .list-group-item:last-child {\n  border-bottom-color: #ebecf0;\n}\n.list-group-item.empty-message {\n  padding-top: 20px;\n  padding-bottom: 20px;\n  text-align: center;\n}\n.list-group-item.empty-message p {\n  margin: 10px 0px;\n}\n.nav-side {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.nav-side > .list-group-item {\n  border-left: none;\n  border-right: none;\n  margin-bottom: 1px;\n}\n.nav-side > .list-group-item:first-child {\n  border-top: none;\n}\n.nav-side > .list-group-item:last-child {\n  border-bottom: none;\n}\n.nav-side > .list-group-item,\n.nav-side > .list-group-item:link,\n.nav-side > .list-group-item:visited {\n  background: #f4f5f7;\n  border: none;\n  color: #172b4d;\n}\n.nav-side > .list-group-item:hover,\n.nav-side > .list-group-item:focus,\n.nav-side > .list-group-item:active {\n  background: #ebecf0;\n  color: #172b4d;\n}\n.nav-side > .list-group-item.active,\n.nav-side > .list-group-item.active:link,\n.nav-side > .list-group-item.active:visited,\n.nav-side > .list-group-item.active:hover,\n.nav-side > .list-group-item.active:focus,\n.nav-side > .list-group-item.active:active {\n  background: #091e42;\n  color: #fff;\n  font-weight: bold;\n}\n.nav-side > .list-group-item.active .badge,\n.nav-side > .list-group-item.active:link .badge,\n.nav-side > .list-group-item.active:visited .badge,\n.nav-side > .list-group-item.active:hover .badge,\n.nav-side > .list-group-item.active:focus .badge,\n.nav-side > .list-group-item.active:active .badge {\n  background: #f4f5f7;\n  color: #172b4d;\n}\n.username-history .user-avatar {\n  border-radius: 4px;\n}\n.panel {\n  border: none;\n  border-radius: 4px;\n}\n.panel .panel-heading,\n.panel .panel-footer {\n  background: #fff;\n}\n.panel .panel-title {\n  color: #5e6c84;\n}\n.panel .form-group + .form-group {\n  margin-top: 20px;\n}\n.panel .panel-body > .form-group:first-child {\n  margin-top: 10px;\n}\n.panel fieldset {\n  margin-top: 20px;\n}\n.panel fieldset:first-child {\n  margin-top: 0px;\n}\n.panel fieldset legend {\n  border: none;\n  color: #5e6c84;\n  font-weight: 300;\n}\n.panel-message-body .message-icon {\n  color: #9575cd;\n}\n.panel-form {\n  border: 1px solid #ebecf0;\n  box-shadow: none;\n}\n.panel-form .panel-heading,\n.panel-form .panel-footer {\n  border-color: #ebecf0;\n}\n.poll-form .panel {\n  margin: 0px;\n}\n.help-block,\n.help-block .text-small {\n  color: #7a869a;\n}\n.category-main .media-left .read-status {\n  background: #ebecf0;\n  border-radius: 4px;\n  padding: 5px 8px;\n}\n.category-main .media-left .material-icon {\n  height: 14px;\n  width: 14px;\n  color: #5e6c84;\n  font-size: 14px;\n  line-height: 14px;\n}\n.category-main .media-left .read-status.item-new {\n  background-color: #0052cc;\n}\n.category-main .media-left .read-status.item-new .material-icon {\n  color: #fff;\n}\n@media screen and (min-width: 768px) {\n  .category-main .media-left {\n    padding: 5px 0px;\n  }\n}\n.category-main .media-body {\n  padding-left: 12px;\n}\n@media screen and (max-width: 767px) {\n  .category-main .media-body {\n    padding-left: 3.33333333px;\n  }\n}\n.list-group-category-no-description .category-main .media-heading {\n  margin-top: 10px;\n}\n@media screen and (max-width: 767px) {\n  .list-group-category-no-description .category-main .media-heading {\n    margin-top: 5px;\n  }\n}\n.category-main .media-heading a,\n.category-main .media-heading a:link,\n.category-main .media-heading a:visited {\n  color: #344563;\n}\n.category-main .media-heading a:focus,\n.category-main .media-heading a:hover,\n.category-main .media-heading a:active {\n  color: #172b4d;\n}\n.category-stats {\n  color: #5e6c84;\n}\n.category-main .category-description p {\n  font-size: 12px;\n}\n.category-main .category-description p:last-child {\n  margin-bottom: 0px;\n}\n.category-last-thread img {\n  background-color: #fff;\n  border-radius: 4px;\n}\n.category-last-thread .media-heading {\n  margin-bottom: 2px;\n}\n@media screen and (max-width: 767px) {\n  .category-last-thread .media-heading {\n    margin-top: 10px;\n  }\n}\n.category-last-thread .list-inline {\n  color: #7a869a;\n  font-size: 12px;\n}\n.category-last-thread .list-inline a,\n.category-last-thread .list-inline a:link,\n.category-last-thread .list-inline a:visited {\n  color: #7a869a;\n}\n.category-last-thread .list-inline a:hover,\n.category-last-thread .list-inline a:active,\n.category-last-thread .list-inline a:focus {\n  color: #344563;\n}\n.category-last-thread .list-inline .item-title,\n.category-last-thread .list-inline .item-title:link,\n.category-last-thread .list-inline .item-title:visited {\n  color: #344563;\n}\n.category-last-thread .list-inline .item-title:hover,\n.category-last-thread .list-inline .item-title:active,\n.category-last-thread .list-inline .item-title:focus {\n  color: #172b4d;\n}\n.category-thread-message {\n  color: #7a869a;\n}\n.category-thread-message .material-icon {\n  padding: 6px 0px;\n  margin-right: 3px;\n}\n@media screen and (max-width: 767px) {\n  .category-thread-message {\n    padding-top: 15px;\n    font-size: 12px;\n  }\n  .category-thread-message .material-icon {\n    padding: 3px 0px;\n  }\n}\n.panel-participants {\n  border: 1px solid #ebecf0;\n}\n.participant-card .btn-user {\n  border: 0px !important;\n}\n.participant-card .dropdown-header-owner {\n  color: #0052cc;\n}\n.participant-card .dropdown-header-owner .material-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  line-height: 14px;\n}\n.participant-card .dropdown-header-owner .icon-text {\n  margin-left: 4px;\n  position: relative;\n  top: 2px;\n}\n.panel-participants p {\n  color: #7a869a;\n}\n@media screen and (max-width: 767px) {\n  .panel-participants p {\n    margin-top: 10px;\n    text-align: center;\n  }\n}\n.panel-poll {\n  border: 1px solid #ebecf0;\n}\n.panel-poll .poll-select-choices {\n  margin-top: -10px;\n}\n.panel-poll .poll-details {\n  margin-bottom: 20px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.panel-poll .progress {\n  margin-top: 6.66666667px;\n  margin-bottom: 5px;\n}\n.panel-poll .poll-chart {\n  color: #7a869a;\n  font-size: 12px;\n}\n.panel-poll .poll-options {\n  margin-top: 20px;\n}\n#posting-placeholder {\n  background-color: #fafbfc;\n}\n.posting-message .material-icon {\n  color: #9575cd;\n}\n.posting-message .btn {\n  margin-top: 20px;\n}\n.panel-post {\n  background: #fff;\n  border: 1px solid #ddd;\n}\n.post-side {\n  color: #7a869a;\n}\n.post-side .poster-avatar {\n  border-radius: 4px;\n}\n.post-side .user-title {\n  color: #5e6c84;\n}\n.post-side .user-title a,\n.post-side .user-title a:link,\n.post-side .user-title a:visited,\n.post-side .user-title a:focus,\n.post-side .user-title a:hover,\n.post-side .user-title a:active {\n  color: #5e6c84;\n}\n.post-heading .label-unread {\n  background-color: #aa00ff;\n  margin-right: 16px;\n}\n.post-heading .label-protected {\n  background-color: transparent;\n  margin-left: 24px;\n  position: relative;\n  top: 1px;\n  color: #bdbdbd;\n}\n.post-heading .label-protected .material-icon {\n  margin-right: 2px;\n  position: relative;\n  top: -1px;\n  font-size: 16px;\n  line-height: 16px;\n}\n.post-heading > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-heading > .btn-link,\n.post-heading > .btn-link:link,\n.post-heading > .btn-link:visited {\n  color: #7a869a;\n}\n.post-heading > .btn-link:hover,\n.post-heading > .btn-link:focus,\n.post-heading > .btn-link:focus:active,\n.post-heading > .btn-link:active {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-heading .btn-see-edits {\n  margin-left: 24px;\n}\n.post-status-message {\n  border-radius: 4px;\n  margin-top: 10px;\n  padding: 6px 12px;\n}\n@media screen and (max-width: 767px) {\n  .post-status-message {\n    font-size: 12px;\n  }\n  .post-status-message .material-icon {\n    margin-top: 3px;\n  }\n  .post-status-message p {\n    margin-top: 0px;\n  }\n}\n.post-body:last-child {\n  padding-bottom: 10px;\n}\n.post-attachments {\n  background-color: #ebecf0;\n  border: none;\n  border-radius: 4px;\n  margin-bottom: 30px;\n}\n.post-attachments:last-child {\n  margin-bottom: 10px;\n}\n@media screen and (max-width: 767px) {\n  .post-attachments {\n    border-radius: 0px;\n    margin: 0px -15px;\n    margin-bottom: 20px;\n  }\n}\n.post-footer > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-footer > .btn-link,\n.post-footer > .btn-link:link,\n.post-footer > .btn-link:visited {\n  color: #7a869a;\n}\n.post-footer > .btn-link:hover,\n.post-footer > .btn-link:focus,\n.post-footer > .btn-link:focus:active,\n.post-footer > .btn-link:active {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-footer p {\n  color: #7a869a;\n  font-size: 12px;\n}\n.post-body-hidden,\n.post-body-invalid {\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n.post-body-hidden .lead,\n.post-body-invalid .lead {\n  margin-bottom: 10px;\n}\n.post-body-hidden .text-muted,\n.post-body-invalid .text-muted {\n  margin-bottom: 0px;\n  font-size: 12px;\n}\n.post-hidden {\n  filter: alpha(opacity=75);\n  opacity: 0.75;\n}\n.post-feed .panel-body {\n  padding-bottom: 0px;\n}\n.post-feed .post-body {\n  position: relative;\n  padding-top: 0px;\n  padding-bottom: 20px;\n  max-height: 300px;\n  overflow-y: hidden;\n}\n.post-feed .post-body:after {\n  box-shadow: 0px 0px 16px 16px #ffffff;\n  display: block;\n  position: absolute;\n  bottom: 0px;\n  height: 0px;\n  width: 100%;\n  content: \"-\";\n  color: transparent;\n}\n.posts-list .event .event-label {\n  margin-bottom: 5px;\n}\n.posts-list .event .label-unread {\n  background-color: #aa00ff;\n  color: #fff;\n}\n.posts-list .event-info a,\n.posts-list .event-info a:link,\n.posts-list .event-info a:visited,\n.posts-list .event-info .btn-link {\n  color: #5e6c84;\n}\n.posts-list .event-info a:focus,\n.posts-list .event-info a:active,\n.posts-list .event-info a:focus:active,\n.posts-list .event-info .btn-link:focus,\n.posts-list .event-info .btn-link:active,\n.posts-list .event-info .btn-link:focus:active {\n  color: #172b4d;\n}\n.posts-list .event-hidden {\n  filter: alpha(opacity=33);\n  opacity: 0.33;\n}\n.user-card {\n  background: #f4f5f7;\n}\n.user-card-small-avatar img,\n.user-card-avatar img {\n  border-radius: 4px;\n}\n.user-card-avatar {\n  margin: 20px 0px;\n}\n.user-card-avatar img {\n  width: 150px;\n  height: 150px;\n}\n.user-card-username a,\n.user-card-username a:link,\n.user-card-username a:visited,\n.user-card-username a:hover,\n.user-card-username a:focus,\n.user-card-username a:active {\n  color: #172b4d;\n  font-size: 18px;\n  font-weight: bold;\n}\n.user-card-title span,\n.user-card-title a,\n.user-card-title a:link,\n.user-card-title a:visited {\n  color: #5e6c84;\n}\n.user-card-title a:focus,\n.user-card-title a:hover,\n.user-card-title a:active {\n  color: #172b4d;\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats {\n    margin-top: 20px;\n  }\n}\n.user-card-stats ul {\n  margin: 0px;\n}\n.user-card-stats li {\n  display: inline-block;\n  margin-right: 12px;\n  color: #7a869a;\n  font-size: 12px;\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats li {\n    margin: 0px 6px;\n  }\n}\n.user-card-stats li.user-stat-empty {\n  display: none;\n}\n@media screen and (min-width: 768px) {\n  li.user-stat-divider {\n    display: block;\n    margin: 0px;\n  }\n}\n@media screen and (max-width: 767px) {\n  li.user-stat-divider {\n    display: none;\n  }\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats {\n    min-height: 60px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .user-card-left {\n    padding-right: 0px;\n  }\n}\n.progress,\n.progress .progress-bar {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  height: 8px;\n}\n.misago-markup img {\n  border-radius: 4px;\n}\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background-color: #ffecb3;\n  border-color: #b3e5fc;\n  overflow: hidden;\n  color: #3e2723;\n}\n.misago-markup .quote-block .quote-heading,\n.misago-markup blockquote .quote-heading {\n  background-color: #ffe082;\n  border: none;\n  color: #795548;\n}\n.misago-markup .quote-block .quote-heading a,\n.misago-markup blockquote .quote-heading a,\n.misago-markup .quote-block .quote-heading a:link,\n.misago-markup blockquote .quote-heading a:link,\n.misago-markup .quote-block .quote-heading a:visited,\n.misago-markup blockquote .quote-heading a:visited {\n  color: #5d4037;\n}\n.misago-markup .quote-block .quote-heading a:hover,\n.misago-markup blockquote .quote-heading a:hover,\n.misago-markup .quote-block .quote-heading a:focus,\n.misago-markup blockquote .quote-heading a:focus,\n.misago-markup .quote-block .quote-heading a:active,\n.misago-markup blockquote .quote-heading a:active {\n  color: #3e2723;\n}\n.misago-markup .quote-block hr,\n.misago-markup blockquote hr {\n  border-color: #ffca28;\n}\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  background: #ffecb3;\n  border: none;\n  border-radius: 4px;\n}\n.misago-markup > .quote-block .quote-block,\n.misago-markup > blockquote .quote-block {\n  background: #ffecb3;\n}\n.misago-markup .quote-body {\n  background: #ffecb3;\n}\n.misago-markup .quote-body > .quote-block,\n.misago-markup .quote-body > blockquote {\n  border-color: #ffe082;\n  border-radius: 4px;\n}\n.misago-markup .spoiler-block {\n  background: repeating-linear-gradient(45deg, rgba(235, 236, 240, 0.5), rgba(235, 236, 240, 0.5) 10px, #fff 10px, #fff 20px);\n  border: none;\n}\n.misago-markup .spoiler-body {\n  background: transparent;\n  -webkit-filter: blur(5px);\n  -moz-filter: blur(5px);\n  -o-filter: blur(5px);\n  -ms-filter: blur(5px);\n  filter: blur(5px);\n  color: #172b4d;\n}\n.misago-markup .spoiler-block.revealed .spoiler-body {\n  -webkit-filter: none;\n  -moz-filter: none;\n  -o-filter: none;\n  -ms-filter: none;\n  filter: none;\n}\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.1);\n}\n.misago-markup .spoiler-reveal {\n  color: #172b4d;\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal.focus {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #8c8c8c;\n}\n.misago-markup .spoiler-reveal:hover {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #adadad;\n}\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal.active,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal {\n  color: #172b4d;\n  background-color: #ced0da;\n  background-image: none;\n  border-color: #adadad;\n}\n.misago-markup .spoiler-reveal:active:hover,\n.misago-markup .spoiler-reveal.active:hover,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal:active:focus,\n.misago-markup .spoiler-reveal.active:focus,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal:active.focus,\n.misago-markup .spoiler-reveal.active.focus,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal.focus {\n  color: #172b4d;\n  background-color: #b9bdcb;\n  border-color: #8c8c8c;\n}\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal[disabled]:hover,\nfieldset[disabled] .misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal.disabled:focus,\n.misago-markup .spoiler-reveal[disabled]:focus,\nfieldset[disabled] .misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal.disabled.focus,\n.misago-markup .spoiler-reveal[disabled].focus,\nfieldset[disabled] .misago-markup .spoiler-reveal.focus {\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.misago-markup .spoiler-reveal .badge {\n  color: #ebecf0;\n  background-color: #172b4d;\n}\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:disabled,\n.misago-markup .spoiler-reveal:disabled:hover,\n.misago-markup .spoiler-reveal.disabled,\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal:disabled,\n.misago-markup .spoiler-reveal:disabled:hover,\n.misago-markup .spoiler-reveal.disabled,\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal:active:focus,\n.misago-markup .spoiler-reveal:active,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:focus,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:active:focus,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal.btn-loading,\n.misago-markup .spoiler-reveal.btn-loading:disabled,\n.misago-markup .spoiler-reveal.btn-loading:disabled:hover,\n.misago-markup .spoiler-reveal.btn-loading:hover,\n.misago-markup .spoiler-reveal.btn-loading:focus,\n.misago-markup .spoiler-reveal.btn-loading:active:focus,\n.misago-markup .spoiler-reveal.btn-loading:active {\n  color: transparent;\n}\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal:hover {\n  border-radius: 4px;\n  box-shadow: 0px 0px 0px 4px #fff;\n  padding: 6px 12px;\n}\n.modal-header {\n  background: #fff;\n  border-bottom-color: #ced0da;\n  border-radius: 6px 6px 0px 0px;\n  color: #172b4d;\n}\n.modal-header .close {\n  padding: 0px 6px;\n  color: #172b4d;\n  font-size: 24px;\n  line-height: 24px;\n  text-shadow: none;\n}\n.modal-message .message-icon {\n  color: #9575cd;\n}\n.modal-body > .form-group {\n  margin: 20px 0px;\n}\n.modal-body > .form-group:first-child {\n  margin-top: 0px;\n}\n.modal-body > .form-group:last-child {\n  margin-bottom: 0px;\n}\n.modal-sign-in .modal-body {\n  padding-top: 0px;\n  padding-bottom: 0px;\n}\n.modal-sign-in .modal-body > .form-group {\n  margin: 20px 0px;\n}\n.legal-footnote label {\n  font-weight: bold;\n}\n.legal-footnote .help-block {\n  margin-left: 20px;\n  color: #ff5630;\n}\n.modal-avatar-index .avatar-preview {\n  background: #fff;\n  border-radius: 6px;\n}\n.modal-avatar-crop .cropit-preview {\n  background: #fff;\n  margin: 20px 0px;\n}\n.modal-avatar-crop .cropit-image-zoom-input {\n  margin-top: 40px;\n  margin-bottom: 20px;\n}\n.modal-post-likers .media {\n  border-bottom: 1px solid #ebecf0;\n  padding-bottom: 15px;\n}\n.modal-post-likers .media img {\n  border-radius: 4px;\n  width: 40px;\n  height: 40px;\n}\n.modal-post-likers .media:last-child {\n  border: none;\n  padding-bottom: 0px;\n}\n.well {\n  border: 1px solid #ddd;\n}\n.active-posters .rank-user-avatar img {\n  border-radius: 4px;\n}\n.active-posters .user-details {\n  color: #7a869a;\n}\n.active-posters .user-details a.rank-name,\n.active-posters .user-details a.rank-name:link,\n.active-posters .user-details a.rank-name:visited {\n  color: #5e6c84;\n  font-weight: normal;\n}\n.active-posters .user-details a.rank-name:focus,\n.active-posters .user-details a.rank-name:hover,\n.active-posters .user-details a.rank-name:active {\n  color: #172b4d;\n}\n.active-posters .user-details span.rank-name {\n  color: #5e6c84;\n  font-weight: normal;\n}\n.active-posters small {\n  color: #7a869a;\n}\n.page-error .message-icon {\n  color: #ef5350;\n}\n.page-message .message-icon {\n  color: #9575cd;\n}\n.page-message-info .message-icon {\n  color: #9575cd;\n}\n.page-message-success .message-icon {\n  color: #81c784;\n}\n.page-options .message-line {\n  color: #7a869a;\n}\n.page-options .message-line a,\n.page-options .message-line a:link,\n.page-options .message-line a:visited {\n  color: #7a869a;\n}\n.page-options .message-line a:hover,\n.page-options .message-line a:focus,\n.page-options .message-line a:focus:active,\n.page-options .message-line a:active {\n  color: #172b4d;\n}\n.page-user-profile .page-header .alert {\n  text-align: center;\n}\n.page-user-profile .page-header img {\n  background-color: #fff;\n  border: 3px solid #fff;\n  border-radius: 6px;\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.04), 0 3px 1px -2px rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.page-user-profile .page-header .user-status .status-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  line-height: 14px;\n}\n.page-user-profile .profile-side-avatar img {\n  background-color: #fff;\n  border: 3px solid #fff;\n  border-radius: 6px;\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.04), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n.panel-profile-details-group.panel {\n  border: 1px solid #ebecf0;\n}\n.panel-profile-details-group.panel .form-group {\n  margin: 0px;\n}\n.panel-profile-details-group .form-control-static p:last-child {\n  margin-bottom: 0px;\n}\n.post-primary .panel-post {\n  border-color: #b388ff;\n}\n.post-primary .user-title {\n  color: #6200ea;\n}\n.post-primary .user-title a,\n.post-primary .user-title a:link,\n.post-primary .user-title a:visited,\n.post-primary .user-title a:focus,\n.post-primary .user-title a:hover,\n.post-primary .user-title a:active {\n  color: #6200ea;\n}\n.post-success .panel-post {\n  border-color: #00c853;\n}\n.post-success .user-title {\n  color: #388e3c;\n}\n.post-success .user-title a,\n.post-success .user-title a:link,\n.post-success .user-title a:visited,\n.post-success .user-title a:focus,\n.post-success .user-title a:hover,\n.post-success .user-title a:active {\n  color: #388e3c;\n}\n.post-warning .panel-post {\n  border-color: #ffab40;\n}\n.post-warning .user-title {\n  color: #ff6d00;\n}\n.post-warning .user-title a,\n.post-warning .user-title a:link,\n.post-warning .user-title a:visited,\n.post-warning .user-title a:focus,\n.post-warning .user-title a:hover,\n.post-warning .user-title a:active {\n  color: #ff6d00;\n}\n.post-danger .panel-post {\n  border-color: #ff8a80;\n}\n.post-danger .user-title {\n  color: #d50000;\n}\n.post-danger .user-title a,\n.post-danger .user-title a:link,\n.post-danger .user-title a:visited,\n.post-danger .user-title a:focus,\n.post-danger .user-title a:hover,\n.post-danger .user-title a:active {\n  color: #d50000;\n}\n.user-card-primary .panel-body {\n  background: #fff;\n  border: 2px solid #b388ff;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-primary .user-card-title {\n  color: #6200ea;\n}\n.user-card-primary .user-card-title a.user-title,\n.user-card-primary .user-card-title a.user-title:link,\n.user-card-primary .user-card-title a.user-title:visited,\n.user-card-primary .user-card-title a.user-title:focus,\n.user-card-primary .user-card-title a.user-title:hover,\n.user-card-primary .user-card-title a.user-title:active {\n  color: #6200ea;\n}\n.user-card-primary .user-card-stats li {\n  color: #9575cd;\n}\n.user-card-success .panel-body {\n  background: #fff;\n  border: 2px solid #00c853;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-success .user-card-title {\n  color: #388e3c;\n}\n.user-card-success .user-card-title a.user-title,\n.user-card-success .user-card-title a.user-title:link,\n.user-card-success .user-card-title a.user-title:visited,\n.user-card-success .user-card-title a.user-title:focus,\n.user-card-success .user-card-title a.user-title:hover,\n.user-card-success .user-card-title a.user-title:active {\n  color: #388e3c;\n}\n.user-card-success .user-card-stats li {\n  color: #66bb6a;\n}\n.user-card-warning .panel-body {\n  background: #fff;\n  border: 2px solid #ffab40;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-warning .user-card-title {\n  color: #ff6d00;\n}\n.user-card-warning .user-card-title a.user-title,\n.user-card-warning .user-card-title a.user-title:link,\n.user-card-warning .user-card-title a.user-title:visited,\n.user-card-warning .user-card-title a.user-title:focus,\n.user-card-warning .user-card-title a.user-title:hover,\n.user-card-warning .user-card-title a.user-title:active {\n  color: #ff6d00;\n}\n.user-card-warning .user-card-stats li {\n  color: #ff6e40;\n}\n.user-card-danger .panel-body {\n  background: #fff;\n  border: 2px solid #ff8a80;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-danger .user-card-title {\n  color: #d50000;\n}\n.user-card-danger .user-card-title a.user-title,\n.user-card-danger .user-card-title a.user-title:link,\n.user-card-danger .user-card-title a.user-title:visited,\n.user-card-danger .user-card-title a.user-title:focus,\n.user-card-danger .user-card-title a.user-title:hover,\n.user-card-danger .user-card-title a.user-title:active {\n  color: #d50000;\n}\n.user-card-danger .user-card-stats li {\n  color: #e57373;\n}\n.list-group .list-group-rank-primary {\n  border-left: 4px solid #7e57c2;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-primary span.rank-name {\n  color: #6200ea;\n}\n.list-group .list-group-rank-primary a.rank-name,\n.list-group .list-group-rank-primary a.rank-name:link,\n.list-group .list-group-rank-primary a.rank-name:visited,\n.list-group .list-group-rank-primary a.rank-name:focus,\n.list-group .list-group-rank-primary a.rank-name:hover,\n.list-group .list-group-rank-primary a.rank-name:active {\n  color: #6200ea;\n}\n.list-group .list-group-rank-success {\n  border-left: 4px solid #9ccc65;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-success span.rank-name {\n  color: #388e3c;\n}\n.list-group .list-group-rank-success a.rank-name,\n.list-group .list-group-rank-success a.rank-name:link,\n.list-group .list-group-rank-success a.rank-name:visited,\n.list-group .list-group-rank-success a.rank-name:focus,\n.list-group .list-group-rank-success a.rank-name:hover,\n.list-group .list-group-rank-success a.rank-name:active {\n  color: #388e3c;\n}\n.list-group .list-group-rank-warning {\n  border-left: 4px solid #ff7043;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-warning span.rank-name {\n  color: #ff6d00;\n}\n.list-group .list-group-rank-warning a.rank-name,\n.list-group .list-group-rank-warning a.rank-name:link,\n.list-group .list-group-rank-warning a.rank-name:visited,\n.list-group .list-group-rank-warning a.rank-name:focus,\n.list-group .list-group-rank-warning a.rank-name:hover,\n.list-group .list-group-rank-warning a.rank-name:active {\n  color: #ff6d00;\n}\n.list-group .list-group-rank-danger {\n  border-left: 4px solid #f44336;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-danger span.rank-name {\n  color: #d50000;\n}\n.list-group .list-group-rank-danger a.rank-name,\n.list-group .list-group-rank-danger a.rank-name:link,\n.list-group .list-group-rank-danger a.rank-name:visited,\n.list-group .list-group-rank-danger a.rank-name:focus,\n.list-group .list-group-rank-danger a.rank-name:hover,\n.list-group .list-group-rank-danger a.rank-name:active {\n  color: #d50000;\n}\n.page-header-rank-primary .user-rank {\n  color: #6200ea;\n}\n.page-header-rank-primary .user-rank a,\n.page-header-rank-primary .user-rank a:link,\n.page-header-rank-primary .user-rank a:visited,\n.page-header-rank-primary .user-rank a:focus,\n.page-header-rank-primary .user-rank a:hover,\n.page-header-rank-primary .user-rank a:active {\n  color: #6200ea;\n}\n.page-header-rank-success .user-rank {\n  color: #388e3c;\n}\n.page-header-rank-success .user-rank a,\n.page-header-rank-success .user-rank a:link,\n.page-header-rank-success .user-rank a:visited,\n.page-header-rank-success .user-rank a:focus,\n.page-header-rank-success .user-rank a:hover,\n.page-header-rank-success .user-rank a:active {\n  color: #388e3c;\n}\n.page-header-rank-warning .user-rank {\n  color: #ff6d00;\n}\n.page-header-rank-warning .user-rank a,\n.page-header-rank-warning .user-rank a:link,\n.page-header-rank-warning .user-rank a:visited,\n.page-header-rank-warning .user-rank a:focus,\n.page-header-rank-warning .user-rank a:hover,\n.page-header-rank-warning .user-rank a:active {\n  color: #ff6d00;\n}\n.page-header-rank-danger .user-rank {\n  color: #d50000;\n}\n.page-header-rank-danger .user-rank a,\n.page-header-rank-danger .user-rank a:link,\n.page-header-rank-danger .user-rank a:visited,\n.page-header-rank-danger .user-rank a:focus,\n.page-header-rank-danger .user-rank a:hover,\n.page-header-rank-danger .user-rank a:active {\n  color: #d50000;\n}\n","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n//    without disabling user zoom.\n//\n\nhtml {\n  font-family: sans-serif; // 1\n  -ms-text-size-adjust: 100%; // 2\n  -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n  margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; // 1\n  vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n  background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n  outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n  border-bottom: none; // 1\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n  font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n  font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n  border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n  margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n  overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n//    Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; // 1\n  font: inherit; // 2\n  margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n  overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n//    and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n//    `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n  cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n  line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; // 1\n  padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n  border: 0; // 1\n  padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n  overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n  font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important; // Black prints faster: h5bp.com/s\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n\n  // Don't show links that are fragment identifiers,\n  // or use the `javascript:` pseudo protocol\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n\n  thead {\n    display: table-header-group; // h5bp.com/t\n  }\n\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n\n  img {\n    max-width: 100% !important;\n  }\n\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n\n  // Bootstrap specific changes start\n\n  // Bootstrap components\n  .navbar {\n    display: none;\n  }\n  .btn,\n  .dropup > .btn {\n    > .caret {\n      border-top-color: #000 !important;\n    }\n  }\n  .label {\n    border: 1px solid #000;\n  }\n\n  .table {\n    border-collapse: collapse !important;\n\n    td,\n    th {\n      background-color: #fff !important;\n    }\n  }\n  .table-bordered {\n    th,\n    td {\n      border: 1px solid #ddd !important;\n    }\n  }\n}\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n  cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n  word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // WebKit-specific. Other browsers will keep their default outline style.\n  // (Initially tried to also force default via `outline: initial`,\n  // but that seems to erroneously remove the outline in Firefox altogether.)\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and ( min--moz-device-pixel-ratio: 2),\n  only screen and ( -o-min-device-pixel-ratio: 2/1),\n  only screen and ( min-device-pixel-ratio: 2),\n  only screen and ( min-resolution: 192dpi),\n  only screen and ( min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: 400;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  padding: .2em;\n  background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-right: 5px;\n    padding-left: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: 700;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @dl-horizontal-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n}\n\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: \"\\2014 \\00A0\"; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: \"\"; }\n    &:after {\n      content: \"\\00A0 \\2014\"; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover,\n  a&:focus {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: 700;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  color: @pre-color;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n.row-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n\n  [class*=\"col-\"] {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  padding-right: ceil((@gutter / 2));\n  padding-left: floor((@gutter / 2));\n  margin-right: auto;\n  margin-left: auto;\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-right: floor((@gutter / -2));\n  margin-left: ceil((@gutter / -2));\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-right: floor((@grid-gutter-width / 2));\n      padding-left: ceil((@grid-gutter-width / 2));\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n\n  // Table cell sizing\n  //\n  // Reset default table behavior\n\n  col[class*=\"col-\"] {\n    position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n    display: table-column;\n    float: none;\n  }\n\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      display: table-cell;\n      float: none;\n    }\n  }\n}\n\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\n\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n  overflow-x: auto;\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * .75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n  // Override content-box in Normalize (* isn't specific enough)\n  .box-sizing(border-box);\n\n  // Search inputs in iOS\n  //\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  -webkit-appearance: none;\n  appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n\n  // Apply same disabled cursor tweak as for inputs\n  // Some special care is needed because <label>s don't inherit their parent's `cursor`.\n  //\n  // Note: Neither radios nor checkboxes can be readonly.\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    background-color: transparent;\n    border: 0;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    &.form-control {\n      line-height: @input-height-base;\n    }\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  // These are used on elements with <label> descendants\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: 400;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  vertical-align: middle;\n  cursor: pointer;\n\n  // These are used directly on <label>s\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  min-height: (@line-height-computed + @font-size-base);\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n\n  &.input-lg,\n  &.input-sm {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    border-radius: @input-border-radius-small;\n  }\n  select.form-control {\n    height: @input-height-small;\n    line-height: @input-height-small;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n    padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    border-radius: @input-border-radius-large;\n  }\n  select.form-control {\n    height: @input-height-large;\n    line-height: @input-height-large;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n    padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n    top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n    top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n      margin-bottom: 0;\n      text-align: right;\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: floor((@grid-gutter-width / 2));\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-large-vertical + 1);\n        font-size: @font-size-large;\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n        font-size: @font-size-small;\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    background-color: @background-color;\n    border-color: @border-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    background-image: none;\n    outline: 0;\n    .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    .opacity(.65);\n    .box-shadow(none);\n  }\n\n  a& {\n    &.disabled,\n    fieldset[disabled] & {\n      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n    }\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  font-weight: 400;\n  color: @link-color;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:focus,\n  &.focus {\n    color: @color;\n    background-color: darken(@background, 10%);\n    border-color: darken(@border, 25%);\n  }\n  &:hover {\n    color: @color;\n    background-color: darken(@background, 10%);\n    border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n    background-image: none;\n    border-color: darken(@border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: @color;\n      background-color: darken(@background, 17%);\n      border-color: darken(@border, 25%);\n    }\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus,\n    &.focus {\n      background-color: @background;\n      border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  @opacity-ie: (@opacity * 100);  // IE8 filter\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n  opacity: @opacity;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: @caret-width-base dashed;\n  border-top: @caret-width-base solid ~\"\\9\"; // IE8\n  border-right: @caret-width-base solid transparent;\n  border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  list-style: none;\n  background-color: @dropdown-bg;\n  background-clip: padding-box;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0, 0, 0, .175));\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: 400;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n\n    &:hover,\n    &:focus {\n      color: @dropdown-link-hover-color;\n      text-decoration: none;\n      background-color: @dropdown-link-hover-bg;\n    }\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    background-color: @dropdown-link-active-bg;\n    outline: 0;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    cursor: @cursor-disabled;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  right: 0;\n  left: auto; // Reset the default from `.dropdown-menu`\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    content: \"\";\n    border-top: 0;\n    border-bottom: @caret-width-base dashed;\n    border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","// stylelint-disable selector-no-qualifying-type, selector-max-type\n\n//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  padding-left: 0; // Override default ul/ol\n  margin-bottom: 0;\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        cursor: @cursor-disabled;\n        background-color: transparent;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        cursor: default;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      margin-bottom: 5px;\n      text-align: center;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-left-radius: @radius;\n  border-top-right-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-top-right-radius: @radius;\n  border-bottom-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n  border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-top-left-radius: @radius;\n  border-bottom-left-radius: @radius;\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, selector-max-class, declaration-no-important, selector-no-qualifying-type\n\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  padding-right: @navbar-padding-horizontal;\n  padding-left: @navbar-padding-horizontal;\n  overflow-x: visible;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n\n  // Fix the top/bottom navbars when screen real estate supports it\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left: -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left: 0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  height: @navbar-height;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-right: @navbar-padding-horizontal;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top: 10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top: @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  padding: 10px @navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  margin-left: -@navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-right: @navbar-padding-horizontal;\n    margin-left: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n\n    // Dropdown menu items\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n\n    // Dropdowns\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      padding: 0 5px;\n      color: @breadcrumb-color;\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    color: inherit; // Specified for the h4 to prevent conflicts of changing @headings-color\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n// The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  color: @text-color;\n  background-color: @background;\n  border-color: @border;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","// stylelint-disable at-rule-no-vendor-prefix\n\n//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  overflow: hidden;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n    background-repeat: repeat-x;\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n    background-repeat: repeat-x;\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n    background-repeat: no-repeat;\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n    background-repeat: no-repeat;\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n","// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    .border-top-radius(@btn-border-radius-base);\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    .border-top-radius(0);\n    .border-bottom-radius(@btn-border-radius-base);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    display: table-cell;\n    float: none;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n\n    &:focus {\n      z-index: 3;\n    }\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: 400;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @input-border-radius;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @input-border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @input-border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n\n  // Fix collapse in webkit from max-width: 100% and display: table-cell.\n  &.img-thumbnail {\n    max-width: none;\n  }\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  padding-left: 0; // reset padding because ul and ol\n  margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n    background-color: @list-group-disabled-bg;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    color: @list-group-link-hover-color;\n    text-decoration: none;\n    background-color: @list-group-hover-bg;\n  }\n}\n\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a&,\n    button& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n  > .panel-heading + .panel-collapse > .list-group {\n    .list-group-item:first-child {\n      .border-top-radius(0);\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-right: @panel-body-padding;\n      padding-left: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-right-radius: (@panel-border-radius - 1);\n        border-bottom-left-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    margin-bottom: 0;\n    border: 0;\n  }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  text-align: center;\n  list-style: none;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      cursor: @cursor-disabled;\n      background-color: @pager-bg;\n    }\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      margin-left: -1px;\n      line-height: @line-height-base;\n      color: @pagination-color;\n      text-decoration: none;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n\n      &:hover,\n      &:focus {\n        z-index: 2;\n        color: @pagination-hover-color;\n        background-color: @pagination-hover-bg;\n        border-color: @pagination-hover-border;\n      }\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: @pagination-active-color;\n      cursor: default;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      cursor: @cursor-disabled;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n      line-height: @line-height;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0, 0, 0, .15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n    appearance: none;\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  line-height: @badge-line-height;\n  color: @badge-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  background-clip: padding-box;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n    margin-left: 5px;\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    display: table; // 2\n    content: \" \"; // 1\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table !important; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n","//\n// Misago Global Scaffolding\n// --------------------------------------------------\n\n// Disable horizontal scroll on mobile displays top-most containers\n@media screen and (max-width: @screen-sm-max) {\n  html,\n  body {\n    overflow-x: hidden;\n  }\n}\n\n// top margin utils\n@media screen and (min-width: @screen-md-min) {\n  .md-margin-top-no {\n    margin-top: 0px !important;\n  }\n}\n\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  .sm-margin-top {\n    margin-top: @line-height-computed !important;\n  }\n\n  .sm-margin-top-no {\n    margin-top: 0px !important;\n  }\n\n  .sm-margin-top-half {\n    margin-top: @line-height-computed * 0.33 !important;\n  }\n\n  .sm-align-row-buttons {\n    margin-top: @line-height-computed * 0.25 !important;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .xs-margin-top {\n    margin-top: @line-height-computed !important;\n  }\n\n  .xs-margin-top-half {\n    margin-top: @line-height-computed * 0.33 !important;\n  }\n}\n","//\n// Auth changed message\n// --------------------------------------------------\n\n.auth-message {\n  background-color: @auth-changed-bg;\n  padding: @line-height-computed 0px;\n  width: 100%;\n\n  position: fixed;\n  top: -100%;\n  left: 0px;\n\n  z-index: @zindex-auth-message;\n\n  transition: top 300ms ease;\n\n  &.show {\n    top: 0px;\n    bottom: auto;\n  }\n\n  p {\n    padding: @line-height-computed / 4 0px;\n\n    color: @auth-changed-color;\n  }\n\n  // Small displays\n  @media screen and (max-width: @screen-sm-max) {\n    text-align: center;\n\n    .btn {\n      padding: @padding-large-vertical @padding-large-horizontal;\n\n      font-size: @font-size-large;\n    }\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n.alerts-snackbar {\n  position: fixed;\n  top: -100%;\n  width: 100%;\n  z-index: @zindex-modal + 10;\n\n  text-align: center;\n  font-size: @font-size-large;\n\n  transition: top 300ms ease;\n\n  pointer-events: none;\n\n  &.in {\n    top: 0px;\n    transition: top 200ms ease;\n  }\n\n  p {\n    display: inline-block;\n    border-radius: 0px 0px @border-radius-base @border-radius-base;\n    margin: 0px;\n\n    pointer-events: all;\n  }\n}\n","//\n// Agreement overlay\n// --------------------------------------------------\n\n.agreement-overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  z-index: @zindex-modal + 10;\n\n  background-color: fadeOut(@modal-backdrop-bg, @modal-backdrop-opacity * 100);\n  overflow-x: scroll;\n\n  .container {\n    max-width: @modal-lg;\n    padding: @line-height-computed @grid-gutter-width;\n  }\n}\n\n.agreement-content {\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,0.5));\n  background-clip: padding-box;\n  outline: 0;\n\n  padding: @padding-large-vertical @padding-large-horizontal;\n}\n\n.agreement-header {\n  padding: @padding-large-vertical 0;\n\n  border-bottom: 1px solid @gray-lighter;\n\n  h2 {\n    margin-top: 0;\n  }\n\n  p {\n    margin: 0;\n    padding: 0;\n  }\n}\n\n.agreement-body {\n  padding: @line-height-computed 0;\n\n  p.lead {\n    margin: 0;\n    padding: 0;\n  }\n}\n\n.agreement-footer {\n  .modal-footer();\n\n  padding: @padding-large-vertical 0;\n}\n\n// utility class disabling scroll on body\nbody.agreement-overlay-visible {\n  overflow: hidden;\n}\n","//\n// Misago Loaders\n// --------------------------------------------------\n\n.loader {\n  width: 100%;\n  height: 49px;\n  text-align: center;\n\n  &.loader-spaced {\n    margin: @line-height-computed * 2 0px;\n  }\n}\n\n.loader-spinning-wheel {\n  width: 49px;\n  height: 49px;\n  margin: 0 auto;\n  border: 3px solid @loader-color;\n  border-radius: 50%;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  animation: cssload-spin 575ms infinite linear;\n  -o-animation: cssload-spin 575ms infinite linear;\n  -ms-animation: cssload-spin 575ms infinite linear;\n  -webkit-animation: cssload-spin 575ms infinite linear;\n  -moz-animation: cssload-spin 575ms infinite linear;\n}\n\n@keyframes cssload-spin {\n  100% {\n    transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-o-keyframes cssload-spin {\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-ms-keyframes cssload-spin {\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-webkit-keyframes cssload-spin {\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-moz-keyframes cssload-spin {\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n","//\n// Misago Navbar\n// --------------------------------------------------\n\n// Remove bottom margin from navbar\n.navbar {\n  margin-bottom: 0px;\n}\n\n// Desktop navbar\n.navbar .navbar-full {\n  // Brand\n  .navbar-brand {\n    padding-top: (@navbar-height - @navbar-icon-height) / 2;\n    padding-bottom: (@navbar-height - @navbar-icon-height) / 2;\n\n    font-size: @font-size-base * 1.5;\n\n    & > * {\n      display: inline-block;\n      vertical-align: middle;\n    }\n\n    img {\n      height: @navbar-icon-height;\n      margin-right: @padding-base-horizontal / 2;\n    }\n  }\n\n  .navbar-nav > li > a {\n    font-size: @font-size-base * 1.2;\n  }\n\n  .navbar-icon {\n    display: block;\n    height: @navbar-height;\n    padding: @nav-link-padding;\n    padding-top: (@navbar-height - 28px) / 2;\n    padding-bottom: (@navbar-height - 28px) / 2;\n    position: relative;\n\n    color: @navbar-default-link-color;\n\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n      background-color: @navbar-default-link-hover-bg;\n    }\n\n    .material-icon {\n      width: 28px;\n      height: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n\n    .badge {\n      background-color: @brand-danger;\n      position: absolute;\n\n      top: 6px;\n      right: 6px;\n\n      font-size: 9px;\n    }\n  }\n\n  .open .navbar-icon {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-link-active-bg;\n\n      color: @navbar-default-link-active-color;\n    }\n  }\n\n  // Pull Guest and User menus to right\n  .nav-guest,\n  .nav-user {\n    float: right;\n\n    .navbar-btn {\n      margin-left: @navbar-padding-horizontal;\n    }\n  }\n\n  // User avatar size\n  .nav-user .dropdown-toggle {\n    padding: (@navbar-height - @navbar-avatar-size) / 2;\n\n    img {\n      width: @navbar-avatar-size;\n      height: @navbar-avatar-size;\n    }\n  }\n}\n\n// Compact (mobile) navbar\n.navbar ul.navbar-compact-nav {\n  border-collapse: collapse;\n  display: table;\n  margin: 0px;\n  table-layout: fixed;\n  width: 100%;\n\n  & > li {\n    display: table-cell;\n    width: 100%;\n  }\n\n  & > li > a,\n  & > li > button {\n    background: none;\n    border: none;\n    display: block;\n    padding-top: 13px;\n    padding-bottom: 13px;\n\n    width: 100%;\n\n    color: @navbar-compact-link-color;\n    text-align: center;\n\n    &.active,\n    &:hover,\n    &:focus {\n      color: @navbar-compact-link-hover-color;\n      background-color: @navbar-compact-link-hover-bg;\n    }\n\n    & > img {\n      width: @navbar-compact-item-size;\n      height: @navbar-compact-item-size;\n    }\n  }\n\n  & > li > button {\n    display: inline-block;\n  }\n\n  & > li > a > .material-icon {\n    font-size: @navbar-compact-item-size;\n    line-height: @navbar-compact-item-size;\n  }\n}\n\n// Make navbar's height match compact nav\n@media (max-width: @grid-float-breakpoint) {\n  .navbar.navbar-misago {\n    min-height: auto;\n  }\n}\n\n// Hide compact navbar above breakpoint\n.navbar-misago .navbar-desktop-nav {\n  display: none;\n}\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-misago ul.navbar-compact-nav {\n    display: none;\n  }\n\n  .navbar-misago .navbar-desktop-nav {\n    display: block;\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n.nav-side > a {\n  & > .material-icon {\n    margin: -5px;\n    margin-right: @line-height-computed / 2;\n\n    position: relative;\n    bottom: 1px;\n\n    width: 24px;\n    height: 24px;\n\n    font-size: 24px;\n    line-height: 24px;\n  }\n\n  .badge {\n    position: relative;\n    top: 1px;\n  }\n}\n","//\n// Material Icons\n// --------------------------------------------------\n\n@font-face {\n  font-family: \"Material Icons\";\n  font-style: normal;\n  font-weight: 400;\n  src: url(../fonts/MaterialIcons-Regular.eot); /* For IE6-8 */\n  src: local(\"Material Icons\"), local(\"MaterialIcons-Regular\"),\n    url(../fonts/MaterialIcons-Regular.woff2) format(\"woff2\"),\n    url(../fonts/MaterialIcons-Regular.woff) format(\"woff\"),\n    url(../fonts/MaterialIcons-Regular.ttf) format(\"truetype\");\n}\n\n.material-icon {\n  font-family: \"Material Icons\";\n  font-weight: normal;\n  font-style: normal;\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  line-height: 1;\n  text-align: center;\n  text-transform: none;\n  letter-spacing: normal;\n  vertical-align: middle;\n  word-wrap: normal;\n  white-space: nowrap;\n  direction: ltr;\n\n  /* Support for all WebKit browsers. */\n  -webkit-font-smoothing: antialiased;\n  /* Support for Safari and Chrome. */\n  text-rendering: optimizeLegibility;\n\n  /* Support for Firefox. */\n  -moz-osx-font-smoothing: grayscale;\n\n  /* Support for IE. */\n  font-feature-settings: \"liga\";\n}\n","//\n// Misago Modals\n// --------------------------------------------------\n\n// Modal toolbar\n.modal-toolbar {\n  background: @gray-lighter;\n  border-bottom: 1px solid @modal-header-border-color;\n  overflow: auto;\n  padding: @padding-base-vertical @padding-base-horizontal;\n\n  .pull-left {\n    margin-right: 8px;\n  }\n\n  p {\n    padding: @padding-small-vertical 0px;\n    margin-bottom: 0px;\n  }\n}\n\n// Modals displaying messages\n\n// Small displays\n@media screen and (max-width: @screen-sm-max) {\n  .modal-message {\n    text-align: center;\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n\n      .material-icon {\n        font-size: @message-page-icon-size * 2;\n      }\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-md-min) {\n  .modal-message {\n    .modal-body {\n      padding-top: @line-height-computed;\n      padding-bottom: @line-height-computed * 1.5;\n    }\n\n    .message-icon {\n      float: left;\n      position: relative;\n      left: 7px;\n\n      .material-icon {\n        font-size: @line-height-computed * 2.5;\n      }\n    }\n\n    .message-body {\n      margin-left: @line-height-computed * 3.75;\n      margin-top: @line-height-computed * 0.6 - 2px;\n\n      p {\n        margin-top: @line-height-computed;\n      }\n\n      .lead {\n        margin-top: 0px;\n        margin-bottom: 0px;\n      }\n    }\n  }\n}\n\n// Modal loader\n.modal-loader {\n  padding: @line-height-computed * 2.5 0px;\n\n  .loader {\n    width: 100%;\n    height: @loader-size;\n    text-align: center;\n  }\n\n  .loader-spinning-wheel {\n    width: @loader-size;\n    height: @loader-size;\n  }\n}\n\n// Modal form\n.modal-body .form-group {\n  min-height: 34px;\n}\n\n// Errors modal\n.list-item-errors {\n  margin-bottom: @line-height-computed;\n}\n\n.list-errored-items li:last-child .list-item-errors {\n  margin-bottom: 0px;\n}\n\n// Post likes modal\n.modal-post-likers {\n  .media-list {\n    margin: 0px;\n  }\n\n  .item-title {\n    display: block;\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n// Material feedback icon\n.has-feedback .material-icon.form-control-feedback {\n  top: @padding-base-vertical;\n  right: @padding-base-horizontal * 2;\n\n  font-size: @line-height-base;\n  line-height: @line-height-base;\n}\n\n// Well done\n.well.well-form.well-done {\n  font-size: @font-size-large;\n  text-align: center;\n\n  .message-icon {\n    margin-bottom: @line-height-computed / 2;\n\n    font-size: @font-size-large * 5;\n    line-height: @font-size-large * 5;\n  }\n\n  .message-body {\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Noscript well\n.well.well-form.well-noscript {\n  font-size: @font-size-large;\n  text-align: center;\n\n  .message-icon {\n    margin-bottom: @line-height-computed / 2;\n\n    font-size: @font-size-large * 5;\n    line-height: @font-size-large * 5;\n  }\n}\n","//\n// Inputs\n// --------------------------------------------------\n\n// Button-based inputs\n.btn.btn-yes-no,\n.btn.btn-select {\n  background: transparent;\n  border: 1px solid darken(@gray-lighter, 10%);\n\n  .material-icon {\n    margin: -4px 0px;\n    margin-right: 8px;\n\n    position: relative;\n    bottom: 1px;\n\n    width: 20px;\n    height: 20px;\n\n    font-size: 20px;\n    line-height: 20px;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .btn.btn-yes-no {\n    width: 100%;\n    overflow: auto;\n\n    .material-icon {\n      float: left;\n      margin-top: 1px;\n    }\n\n    .btn-text {\n      display: block;\n\n      margin-left: 30px;\n\n      text-align: left;\n      white-space: normal;\n    }\n  }\n}\n\n// Hidden file input\ninput.hidden-file-upload {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n// Search field\n.form-search {\n  position: relative;\n\n  .form-control {\n    padding-right: 30px;\n  }\n\n  .material-icon {\n    position: absolute;\n    top: 5px;\n    right: 5px;\n\n    color: @gray-light;\n    font-size: 24px;\n    line-height: 24px;\n\n    pointer-events: none;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n// Button loading style\n.btn.btn-loading {\n  &,\n  &:link,\n  &:active,\n  &:visited,\n  &:hover,\n  &:focus {\n    // make text transparent, but still take place in button\n    color: transparent;\n\n    // position loader over the text\n    .loader {\n      height: 20px;\n      margin-top: -20px;\n\n      & > div {\n        width: 20px;\n        height: 20px;\n      }\n    }\n  }\n\n  &.btn-default .loader > div {\n    border-top-color: @btn-default-color;\n    border-bottom-color: @btn-default-color;\n  }\n\n  &.btn-primary .loader > div {\n    border-top-color: @btn-primary-color;\n    border-bottom-color: @btn-primary-color;\n  }\n\n  &.btn-success .loader > div {\n    border-top-color: @btn-success-color;\n    border-bottom-color: @btn-success-color;\n  }\n\n  &.btn-info .loader > div {\n    border-top-color: @btn-info-color;\n    border-bottom-color: @btn-info-color;\n  }\n\n  &.btn-warning .loader > div {\n    border-top-color: @btn-warning-color;\n    border-bottom-color: @btn-warning-color;\n  }\n\n  &.btn-danger .loader > div {\n    border-top-color: @btn-danger-color;\n    border-bottom-color: @btn-danger-color;\n  }\n}\n\n// Icons in buttons\n.btn .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n}\n\n// Btn with larger icon\n.btn-icon .material-icon {\n  margin: -1px -4px;\n\n  width: 20px;\n  height: 20px;\n\n  font-size: 20px;\n  line-height: 20px;\n}\n\n.btn-icon .btn-text {\n  margin-left: @padding-small-horizontal;\n}\n\n.btn-icon .btn-text-left {\n  margin-right: @padding-small-horizontal;\n}\n\n// Block btn icon\n.btn-block.btn-icon {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n","//\n// Dropdowns\n// --------------------------------------------------\n\n// Unify .btn-link appearance with anchors\n.dropdown-menu > li > a,\n.dropdown-menu > li > .btn-link,\n.modal-menu > li > a,\n.modal-menu > li > .btn-link {\n  display: block;\n  border: none;\n  clear: both;\n  float: none;\n  padding: 6px 20px;\n  width: 100%;\n\n  color: @dropdown-link-color;\n  font-weight: normal;\n  line-height: @line-height-base;\n  text-align: left;\n  white-space: nowrap;\n\n  &:hover,\n  &:focus {\n    background-color: @dropdown-link-hover-bg;\n\n    color: @dropdown-link-hover-color;\n    text-decoration: none;\n  }\n\n  &:active {\n    background-color: @dropdown-link-hover-bg;\n\n    color: @dropdown-link-hover-color;\n    text-decoration: none;\n  }\n\n  &:disabled {\n    color: fadeOut(@dropdown-link-color, 50);\n  }\n\n  // Set material icons in dropdown menus\n  .material-icon {\n    margin: -2px 0px;\n    margin-right: @line-height-computed * 0.35;\n\n    position: relative;\n    bottom: 1px;\n\n    font-size: 18px;\n  }\n\n  .badge {\n    float: right;\n\n    position: relative;\n    top: 1px;\n  }\n}\n\n// Extra overrides for modal nav\n.modal-menu {\n  margin: @line-height-computed 0px;\n  padding: 0px;\n}\n\n.modal-menu > li {\n  margin: @line-height-computed / 3 0px;\n  padding: 0px;\n\n  list-style: none;\n}\n\n// Bump min dropdown width to 210px\n.dropdown-menu {\n  width: 210px;\n}\n\n// Dropdown footer\n.dropdown-menu .dropdown-footer {\n  padding: 6px 20px;\n}\n\n// Dropdown buttons container\n.dropdown-menu .dropdown-buttons {\n  padding: 2px 20px;\n  padding-bottom: 7px;\n\n  .btn {\n    margin: 4px 0px;\n  }\n}\n\n// Navbar's dropdown\n.mobile-dropdown {\n  position: relative;\n}\n\n.mobile-dropdown.open > .dropdown-menu,\n.compact-nav.open > .dropdown-menu {\n  border: none;\n  border-radius: 0;\n\n  display: block;\n  margin: 0px;\n  width: 100%;\n}\n\n// Guest menu\n.user-dropdown .guest-preview {\n  text-align: center;\n\n  .row {\n    margin: 0px;\n  }\n}\n\n// User menu\n.navbar .user-dropdown {\n  width: 240px;\n}\n\n.user-dropdown .dropdown-header {\n  padding: 6px 20px;\n\n  font-size: @font-size-large;\n\n  strong {\n    font-weight: normal;\n  }\n}\n\n// Category picker\n.category-picker .dropdown-menu {\n  // Make category picker wider on desktops\n  @media screen and (min-width: @screen-md-min) {\n    width: 300px;\n  }\n}\n\n.category-picker .dropdown-menu > li > .btn-link {\n  white-space: normal;\n  word-wrap: break-word;\n}\n\n// Stick to bottom on mobile\n@media screen and (max-width: @screen-xs-max) {\n  .dropdown-menu.stick-to-bottom {\n    border-radius: 0px;\n    border: none;\n\n    max-height: 300px;\n    overflow-y: auto;\n\n    .box-shadow(0px 0px @line-height-computed * 1.5 @gray-light);\n\n    clear: both;\n    top: auto;\n    width: 100%;\n\n    position: fixed;\n    bottom: 0px;\n\n    margin: 0px;\n    padding: 0px;\n\n    padding-bottom: @line-height-computed;\n\n    li {\n      float: none;\n\n      margin: 0px;\n\n      clear: both;\n\n      & > a,\n      & > .btn {\n        padding-top: @line-height-computed * 0.75;\n        padding-bottom: @line-height-computed * 0.75;\n\n        border-bottom: 1px solid @dropdown-divider-bg;\n      }\n    }\n  }\n}\n","// Category label is category on threads list\n.category-label {\n  border-radius: 0.25em;\n  padding: 0.2em 0.6em 0.3em;\n}\n\n.category-label-color,\n.category-label-color:link,\n.category-label-color:focus,\n.category-label-color:active,\n.category-label-color:visited,\n.category-label-color:hover {\n  color: @category-label-color;\n}\n\n.category-label-no-color,\n.category-label-no-color:link,\n.category-label-no-color:focus,\n.category-label-no-color:active,\n.category-label-no-color:visited,\n.category-label-no-color:hover {\n  background-color: @category-label-default-bg;\n  color: @category-label-default-color;\n}\n","//\n// Search Dropdown\n// --------------------------------------------------\n\n// Default size and position for search dropdown\n.navbar-misago .dropdown-menu.dropdown-search-results {\n  margin: 0px;\n  padding-top: 0px;\n  width: 400px;\n  left: auto;\n  right: 0px;\n}\n\n// Search input\n.dropdown-search-results .form-group {\n  margin: 0px;\n  padding: @padding-base-horizontal;\n}\n\n// Message\nli.dropdown-search-message {\n  text-align: center;\n}\n\n// Thread result\n.dropdown-search-thread {\n  width: 100%;\n\n  h5 {\n    margin: 0px;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  small {\n    display: block;\n    margin: 0px;\n    margin-top: 4px;\n  }\n}\n","//\n// Page Header\n// --------------------------------------------------\n\n// Common styles\n.page-header-bg {\n  margin-bottom: @line-height-computed;\n}\n\n.page-header {\n  margin: 0px;\n  padding: @line-height-computed * 2 0px;\n\n  h1 {\n    margin: 0px;\n\n    word-wrap: break-word;\n  }\n\n  .btn-aligned {\n    float: right;\n    margin-left: 8px;\n\n    &.pull-left {\n      margin-left: 0px;\n      margin-right: 8px;\n    }\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    .container > .row {\n      h1 {\n        margin-top: -3px;\n      }\n\n      .row {\n        margin-top: @padding-small-vertical;\n      }\n    }\n  }\n}\n\n// Small displays\n@media screen and (max-width: @screen-sm-max) {\n  .container {\n    h1 {\n      font-size: @font-size-large * 1.25;\n    }\n\n    .btn-icon {\n      .material-icon {\n        width: 24px;\n        height: 24px;\n\n        margin: -3px 0px;\n\n        font-size: 24px;\n        line-height: 24px;\n      }\n    }\n  }\n}\n\n// Breadcrumbs\n.page-breadcrumbs {\n  margin-bottom: @line-height-computed;\n}\n\n.page-breadcrumbs .breadcrumb {\n  background: none;\n  margin: 0px;\n  margin-top: @line-height-computed * -1;\n  padding: 0px;\n  overflow: auto;\n}\n\n.page-breadcrumbs .breadcrumb li {\n  &,\n  &:before {\n    display: block;\n    float: left;\n  }\n\n  &:before {\n    margin-left: 4px;\n  }\n}\n\n// Small go back button\n.go-back-sm {\n  margin-top: @line-height-computed * -1;\n  margin-bottom: @line-height-computed;\n\n  .material-icon {\n    height: @font-size-large;\n    width: @font-size-large;\n\n    font-size: @font-size-large;\n    line-height: @font-size-large;\n\n    position: relative;\n    top: -1px;\n  }\n}\n\n.page-breadcrumbs .go-back-sm {\n  margin-bottom: 0px;\n}\n\n// Stats\n.header-stats {\n  margin-top: @line-height-computed;\n  margin-bottom: @line-height-computed * -1;\n}\n\n.header-stats .list-inline {\n  margin-bottom: 0px;\n}\n\n.header-stats .list-inline li {\n  margin-bottom: 0px;\n  margin-right: 8px;\n  overflow: auto;\n  vertical-align: top; // fix #834\n\n  .status-icon {\n    width: 18px;\n    height: 18px;\n\n    margin-right: 4px;\n\n    position: relative;\n    bottom: 1px;\n\n    font-size: 18px;\n    line-height: 18px;\n  }\n\n  & > .material-icon,\n  & > .icon-legend {\n    float: left;\n  }\n\n  & > .material-icon {\n    margin-right: 4px;\n\n    position: relative;\n    top: 3px;\n  }\n}\n\n@media screen and (max-width: @screen-sm-max) {\n  .header-stats .list-inline {\n    font-size: @font-size-small;\n\n    li > .material-icon {\n      top: 2px;\n    }\n  }\n}\n\n// Tabs\n.page-header .page-tabs {\n  margin-top: @line-height-computed;\n  margin-bottom: @line-height-computed * -2;\n}\n\n.page-header .page-tabs .nav {\n  & > li {\n    margin: 0px;\n\n    & > a {\n      border-radius: 0px;\n    }\n  }\n}\n\n.page-tabs {\n  ul {\n    display: block;\n    overflow-x: auto;\n\n    white-space: nowrap;\n\n    li,\n    a {\n      display: inline-block;\n      float: none;\n\n      white-space: nowrap;\n\n      .material-icon {\n        margin-right: @padding-base-horizontal / 2;\n      }\n    }\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    .container {\n      padding-left: 0px;\n      padding-right: 0px;\n    }\n\n    li a {\n      padding-left: @line-height-computed * 1.33;\n      padding-right: @line-height-computed * 1.33;\n    }\n  }\n}\n\n// Insert blank space between tabs and details on smallest displays\n@media screen and (max-width: @screen-xs-max) {\n  .header-stats + .page-tabs {\n    margin-top: @line-height-computed * 1.5;\n  }\n}\n\n// Title edit form\n.title-edit-form {\n  margin-bottom: @line-height-computed / 2 + 2px;\n}\n","//\n// Panels\n// --------------------------------------------------\n\n// Messages\n@media screen and (max-width: @screen-sm-max) {\n  .panel-message-body {\n    text-align: center;\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n\n      .material-icon {\n        font-size: @message-page-icon-size * 2;\n      }\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-md-min) {\n  .panel-message-body {\n    padding: @line-height-computed;\n    padding-bottom: @line-height-computed * 1.5;\n\n    .message-icon {\n      float: left;\n\n      .material-icon {\n        font-size: @line-height-computed * 2.5;\n      }\n    }\n\n    .message-body {\n      margin-left: @line-height-computed * 3.25;\n      margin-top: @line-height-computed * 0.6 - 2px;\n\n      .lead {\n        margin-bottom: 0px;\n      }\n\n      .help-block {\n        margin-top: @line-height-computed * 0.66;\n      }\n    }\n  }\n}\n\n// Loading\n.panel-body-loading {\n  padding: 0px;\n\n  text-align: center;\n}\n","//\n// Forum Footer\n// --------------------------------------------------\n\n// Superbasic spacing and layout for easy overriding\n.misago-footer {\n  margin-top: @line-height-computed * 1.5;\n  margin-bottom: @line-height-computed * 2.5;\n\n  .footer-content {\n    border-top: 1px solid @page-header-border-color;\n    padding-top: @line-height-computed * 1.5;\n  }\n}\n\n// Position \"enable JS!\" message's icon\n.misago-footer .noscript-message .material-icon {\n  position: relative;\n  bottom: 1px;\n\n  font-size: @font-size-large;\n}\n","//\n// UI Preview\n// --------------------------------------------------\n\n// Animation\n.ui-preview {\n  color: @ui-preview;\n\n  .animation(ui-preview-animation @ui-preview-frequency linear infinite);\n}\n\n@keyframes ui-preview-animation {\n  0% {\n    .opacity(@ui-preview-in);\n  }\n  50% {\n    .opacity(@ui-preview-out);\n  }\n  100% {\n    .opacity(@ui-preview-in);\n  }\n}\n\n// Text\n.ui-preview-text {\n  background: @ui-preview;\n  border-radius: 100px;\n  display: inline-block;\n  height: @font-size-base;\n\n  position: relative;\n  top: (@line-height-computed - @font-size-base) / 2;\n}\n\n.ui-preview-paragraph {\n  .ui-preview-text {\n    margin-right: 6px;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Image\n.ui-preview-img {\n  background: @ui-preview;\n  border-radius: @border-radius-base + 1px;\n}\n","//\n// Misago pager\n// --------------------------------------------------\n\n.pager-undercontent {\n  margin-top: @line-height-computed * -1;\n}\n\n// \"Load more\" button\n.pager-more {\n  text-align: center;\n}\n\n// Large displays\n@media screen and (min-width: @screen-md-min) {\n  .pager-more .btn {\n    padding-left: @line-height-computed;\n    padding-right: @line-height-computed;\n  }\n}\n","//\n// Misago pagination\n// --------------------------------------------------\n\n.misago-pagination {\n  display: flex;\n\n  .btn {\n    display: block;\n    width: 100%;\n  }\n\n  .btn + .btn {\n    margin-left: @grid-gutter-width;\n  }\n}\n\n// Make it full width on small screens (in toolbars)\n@media screen and (max-width: @screen-xs-max) {\n  .toolbar-item .misago-pagination {\n    flex: 1;\n  }\n}\n","//\n// Poll\n// --------------------------------------------------\n\n.panel-poll h2 {\n  margin-top: 0px;\n}\n\n.poll-select-choice .btn {\n  &,\n  &:active,\n  &:focus,\n  &:hover {\n    background: transparent;\n    border: transparent;\n    .box-shadow(none);\n\n    margin: @padding-base-vertical 0px;\n    padding: 0px;\n    padding-left: @padding-base-vertical;\n\n    outline: none;\n\n    text-align: left;\n  }\n\n  .material-icon {\n    margin-right: @padding-base-vertical;\n\n    height: 28px;\n    width: 28px;\n\n    font-size: 28px;\n    line-heigh: 28px;\n\n    color: darken(@gray-lighter, 10%);\n  }\n\n  &.btn-selected .material-icon {\n    color: @brand-primary;\n  }\n}\n\n.poll-help {\n  font-size: @font-size-small;\n}\n\n.poll-chart-selected .material-icon {\n  margin-right: 4px;\n\n  position: relative;\n  bottom: 1px;\n\n  height: 14px;\n  width: 14px;\n\n  color: @brand-success;\n  font-size: 14px;\n  line-heigh: 14px;\n}\n\n.poll-options {\n  margin-bottom: 0px;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @padding-base-vertical * -1;\n\n    .btn {\n      margin: @padding-base-vertical 0px;\n    }\n  }\n}\n","//\n// Misago User Status\n// --------------------------------------------------\n\n// Colors\n.user-status {\n  &.user-banned .status-icon {\n    color: @user-status-banned;\n  }\n\n  &.user-online .status-icon {\n    color: @user-status-online;\n  }\n\n  &.user-offline .status-icon {\n    color: @user-status-offline;\n  }\n}\n","//\n// User Card\n// --------------------------------------------------\n\n// Center card's content on larger displays\n.user-card {\n  @media screen and (min-width: @screen-sm-min) {\n    text-align: center;\n  }\n}\n\n// Max out small avatar's width\n.user-card-small-avatar img {\n  width: 100%;\n  height: auto;\n}\n\n// Toggle avatar visibility\n@media screen and (min-width: @screen-sm-min) {\n  .user-card-small-avatar {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .user-card-avatar {\n    display: none;\n  }\n}\n","//\n// Misago Toolbar\n// --------------------------------------------------\n\n.toolbar {\n  display: block;\n  margin: 0 floor(@grid-gutter-width * -0.5);\n}\n\n.toolbar-section {\n  justify-items: center;\n  display: flex;\n  flex: 1;\n  margin-bottom: @line-height-computed;\n}\n\n.toolbar-item {\n  flex: 1;\n  padding: 0 floor(@grid-gutter-width * 0.5);\n\n  h3,\n  p {\n    margin: 0;\n  }\n}\n\n.toolbar-item-shrink {\n  flex: 0;\n}\n\n.toolbar-spacer {\n  display: none;\n}\n\n@media screen and (min-width: @screen-sm-min) {\n  .toolbar {\n    display: flex;\n  }\n\n  .toolbar-section,\n  .toolbar-item {\n    flex: 0;\n\n    align-items: center;\n  }\n\n  .toolbar-section.toolbar-section-auto,\n  .toolbar-section.toolbar-section-auto .toolbar-item {\n    flex: 1;\n  }\n\n  .toolbar-spacer {\n    display: block;\n    flex: 1;\n  }\n\n  .toolbar-item .form-search {\n    width: 250px;\n  }\n}\n\n// Center paragraph of text on portrait phones\n// Used for pagination messages\n@media screen and (max-width: @screen-xs-max) {\n  .toolbar-item p {\n    text-align: center;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\nabbr {\n  border: none !important;\n}\n\n.item-title {\n  color: @text-color;\n  font-weight: bold;\n  text-decoration: none;\n}\n\na.item-title {\n  &:link,\n  &:active,\n  &:visited,\n  &:hover {\n    color: @text-color;\n    font-weight: bold;\n  }\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.message-line {\n  text-align: center;\n\n  .material-icon {\n    margin-right: @line-height-computed / 3;\n\n    font-size: 20px;\n    line-height: 20px;\n\n    height: 20px;\n    width: 20px;\n  }\n}\n\n.text-ellipsis {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n","//\n// Markup styles\n// --------------------------------------------------\n\n// Force word wrap for user text\n.misago-markup {\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  p {\n    word-wrap: break-word;\n  }\n}\n\n// Add upper margins for headers\n.misago-markup {\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6 {\n    margin-top: @line-height-computed * 2;\n  }\n}\n\n// Even out blocks\n.misago-markup > *,\n.misago-markup blockquote > * {\n  margin: @line-height-computed 0px;\n\n  &:first-child {\n    margin-top: 0px;\n  }\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Downscale images so they don't expand area\n.misago-markup img {\n  max-width: 100%;\n  max-height: 500px;\n}\n\n// Make quotes stand out a little\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background: @gray-lighter;\n  border: none;\n\n  font-size: @font-size-base;\n\n  .quote-heading {\n    border-bottom: 1px solid darken(@gray-lighter, 8%);\n    padding: (@line-height-computed / 2) @line-height-computed;\n\n    font-size: @font-size-small;\n    font-weight: bold;\n  }\n}\n\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  border: 1px solid darken(@gray-lighter, 8%);\n}\n\n.misago-markup .quote-body {\n  background: @body-bg;\n  margin: 0px;\n  padding: @line-height-computed;\n\n  & > .quote-block,\n  & > blockquote {\n    border: 1px solid darken(@gray-lighter, 8%);\n  }\n}\n\n// Style spoilers\n.misago-markup .spoiler-block {\n  background: @gray-lighter;\n  border: none;\n\n  font-size: @font-size-base;\n}\n\n.misago-markup > .spoiler-block {\n  border: 1px solid darken(@gray-lighter, 8%);\n  position: relative;\n}\n\n.misago-markup .spoiler-body {\n  background: @body-bg;\n  margin: 0px;\n  padding: @line-height-computed;\n}\n\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: @body-bg;\n}\n\n.misago-markup .spoiler-block.revealed .spoiler-overlay {\n  display: none;\n}\n\n// Add bullets to lists\n.misago-markup ul {\n  list-style-type: square;\n\n  li {\n    list-style-type: square;\n  }\n}\n\n.misago-markup ol {\n  list-style-type: decimal;\n\n  li {\n    list-style-type: decimal;\n  }\n}\n\n// Expand code blocks a little\n.misago-markup pre {\n  background: #eee;\n  border: none;\n  padding: @padding-large-vertical;\n  overflow: hidden;\n\n  color: #000;\n\n  code.hljs {\n    margin: @padding-large-vertical * -1;\n    padding: ((@line-height-computed - 1) / 2);\n  }\n}\n","//\n// Change Avatar Modal\n// --------------------------------------------------\n\n// Index\n.modal-change-avatar .modal-avatar-index {\n  .avatar-preview {\n    border-radius: @border-radius-large;\n    margin: 0px auto;\n    overflow: hidden;\n    position: relative;\n\n    width: 200px;\n    height: 200px;\n\n    .loader {\n      display: none;\n\n      position: absolute;\n      top: 50px;\n      height: 100px;\n\n      .loader-spinning-wheel {\n        border-width: 10px;\n        border-color: #fff;\n        border-left-color: transparent;\n        border-right-color: transparent;\n\n        width: 100px;\n        height: 100px;\n      }\n    }\n\n    &.preview-loading {\n      img {\n        .opacity(0.33);\n      }\n\n      .loader {\n        display: block;\n      }\n    }\n\n    @media (max-width: (@grid-float-breakpoint - 1)) {\n      margin-bottom: @line-height-computed;\n\n      width: 150px;\n      height: 150px;\n\n      img {\n        width: 150px;\n        height: 150px;\n      }\n\n      .loader {\n        top: 25px;\n        height: 100px;\n\n        .loader-spinning-wheel {\n          width: 100px;\n          height: 100px;\n        }\n      }\n    }\n  }\n\n  .btn {\n    text-align: left;\n  }\n}\n\n// Upload\n.modal-change-avatar .modal-avatar-upload {\n  text-align: center;\n\n  .btn-pick-file {\n    background: transparent;\n    border: 2px solid @gray-lighter;\n    border-radius: @border-radius-large;\n    padding: @padding-large-vertical @padding-large-horizontal * 1.5;\n    .box-shadow(none);\n\n    color: @gray-light;\n    font-size: @font-size-large;\n    text-align: center;\n\n    & > .material-icon {\n      display: block;\n      margin: 0px auto;\n      margin-bottom: @line-height-computed * 0.66;\n\n      font-size: @line-height-computed * 2.5;\n      width: @line-height-computed * 2.5;\n      height: @line-height-computed * 2.5;\n    }\n\n    &:hover,\n    &:active {\n      border-color: @brand-primary;\n      color: @brand-primary;\n    }\n  }\n\n  .text-muted {\n    margin-top: @line-height-computed * 0.66;\n  }\n\n  .upload-progress {\n    img {\n      border-radius: @border-radius-base;\n      margin-bottom: @line-height-computed;\n\n      max-height: 80px;\n      width: auto;\n    }\n\n    .progress {\n      width: 70%;\n      margin: 0px auto;\n    }\n  }\n}\n\n// Crop\n.modal-avatar-crop .crop-form {\n  margin: 0px auto;\n\n  .cropit-image-zoom-input {\n    margin-top: @line-height-computed / 2;\n\n    // removes default webkit styles\n    -webkit-appearance: none;\n\n    // fix for FF unable to apply focus style bug\n    border: 1px solid white;\n\n    // required for proper track sizing in FF\n    width: 100%;\n\n    &::-webkit-slider-runnable-track {\n      width: 100%;\n      height: 8px;\n      background: @gray-lighter;\n      border: none;\n      border-radius: 3px;\n    }\n\n    &::-webkit-slider-thumb {\n      -webkit-appearance: none;\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n      margin-top: -6px;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    &:focus::-webkit-slider-runnable-track {\n      background: @gray-lighter;\n    }\n\n    &::-moz-range-track {\n      width: 100%;\n      height: 8px;\n      background: @gray-lighter;\n      border: none;\n      border-radius: 4px;\n    }\n\n    &::-moz-range-thumb {\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n    }\n\n    /*hide the outline behind the border*/\n    &:-moz-focusring {\n      outline: 1px solid white;\n      outline-offset: -1px;\n    }\n\n    &::-ms-track {\n      width: 100%;\n      height: 8px;\n\n      /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n      background: transparent;\n\n      /*leave room for the larger thumb to overflow with a transparent border */\n      border-color: transparent;\n      border-width: 8px 0;\n\n      /*remove default tick marks*/\n      color: transparent;\n    }\n\n    &::-ms-fill-lower {\n      background: @gray-lighter;\n      border-radius: 16px;\n    }\n\n    &::-ms-fill-upper {\n      background: @gray-lighter;\n      border-radius: 16px;\n    }\n\n    &::-ms-thumb {\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n    }\n\n    &:focus::-ms-fill-lower {\n      background: @gray-lighter;\n    }\n\n    &:focus::-ms-fill-upper {\n      background: @gray-lighter;\n    }\n  }\n}\n\n// Gallery\n.modal-change-avatar .modal-avatar-gallery {\n  padding-bottom: 0px;\n\n  .avatars-gallery {\n    margin-bottom: @line-height-computed;\n\n    h3 {\n      margin-top: 0px;\n    }\n  }\n\n  .avatars-gallery-images {\n    .row {\n      margin-bottom: @line-height-computed / 2;\n    }\n\n    .btn {\n      border-radius: @border-radius-base + 2px;\n      border: 2px solid @gray-lighter;\n      background: none;\n      padding: 2px;\n      position: relative;\n\n      &:hover,\n      &:focus {\n        border-color: @gray-light;\n      }\n\n      &.avatar-selected,\n      &:active {\n        border-color: @link-color;\n      }\n\n      img {\n        border-radius: @border-radius-base;\n        width: 100%;\n        height: auto;\n      }\n    }\n  }\n}\n","//\n// Categories Lists\n// --------------------------------------------------\n\n// Category Block\n// --------------------------------------------------\n\n// Thread unread state icon\n.category-main .read-status .material-icon {\n  color: @category-read-color;\n}\n\n.category-main .read-status.item-new .material-icon {\n  color: @category-new-color;\n}\n\n// Last thread\n.category-last-thread .media-heading {\n  a {\n    display: inline-block;\n    overflow: hidden;\n\n    white-space: nowrap;\n    width: 290px; // md-3 - avatar column\n\n    text-overflow: ellipsis;\n    vertical-align: top;\n\n    @media screen and (max-width: @screen-sm-max) {\n      width: 275px; // md-3 - avatar column\n    }\n\n    @media screen and (max-width: @screen-xs-max) {\n      width: 260px; // md-3 - avatar column\n    }\n  }\n}\n\n// Last thread message\n.category-thread-message {\n  .material-icon {\n    width: 28px;\n    height: 28px;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n\n  p {\n    margin: 0px;\n  }\n}\n\n// Subcategories list\n// --------------------------------------------------\n.list-inline.subcategories-list {\n  overflow: auto;\n  margin-top: @line-height-computed / -2;\n\n  li {\n    display: block;\n    float: left;\n\n    a,\n    a:link,\n    a:visited,\n    a:active,\n    a:hover,\n    a:focus {\n      background-color: @gray-lighter;\n      border: 1px solid darken(@gray-lighter, 5%);\n      border-radius: @border-radius-base;\n      display: inline-block;\n      margin-top: @line-height-computed / 2;\n      padding: @padding-base-vertical @padding-base-horizontal;\n\n      color: @gray;\n    }\n\n    &:focus,\n    a:hover,\n    a:active {\n      background-color: darken(@gray-lighter, 5%);\n\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n}\n\n.row.subcategories-list {\n  .btn {\n    margin-top: @line-height-computed;\n\n    text-align: left;\n  }\n}\n","//\n// Posting\n// --------------------------------------------------\n\n// Affix and style placeholder\n#posting-placeholder {\n  background-color: @gray-lighter;\n  display: none;\n  margin-top: @line-height-computed * 1.5;\n  margin-bottom: @line-height-computed * -1.5;\n  padding: @line-height-computed 0px;\n\n  transition: height 300ms;\n\n  &.slide-in {\n    display: block;\n  }\n}\n\n// First row\n#posting-placeholder .first-row {\n  margin-bottom: @line-height-computed;\n\n  .form-control {\n    border: 1px solid darken(@gray-lighter, 15%);\n  }\n\n  .posting-options {\n    .btn {\n      padding-top: 4px;\n      padding-bottom: 4px;\n\n      .btn-text {\n        margin-left: @line-height-computed / 4;\n\n        position: relative;\n        top: 1px;\n      }\n    }\n\n    .material-icon {\n      width: 14px;\n      height: 24px;\n\n      margin-right: 0px;\n\n      position: relative;\n      top: 5px;\n\n      font-size: 14px;\n      line-height: 14px;\n      text-align: center;\n    }\n  }\n}\n\n// Posting ui preview\n.posting-ui-preview {\n  padding: @line-height-computed 0px;\n  position: relative;\n\n  .form-control {\n    box-shadow: none;\n    resize: none;\n  }\n}\n\n// Posting Loader\n.posting-loader {\n  text-align: center;\n}\n\n.posting-loader .loader {\n  height: 100px;\n\n  .loader-spinning-wheel {\n    width: 100px;\n    height: 100px;\n  }\n}\n\n// Posting message\n@posting-icon-width: 28px;\n\n.posting-message {\n  text-align: center;\n\n  .material-icon {\n    margin-right: @line-height-computed / 3;\n    position: relative;\n    top: -1px;\n\n    width: @posting-icon-width;\n    height: @posting-icon-width;\n\n    font-size: @posting-icon-width;\n    line-height: @posting-icon-width;\n  }\n\n  .message-body {\n    p {\n      font-size: @font-size-large;\n    }\n  }\n}\n","//\n// Editor\n// --------------------------------------------------\n\n@editor-border: darken(@gray-lighter, 15%);\n\n.editor-border {\n  background-color: #fff;\n  border: 1px solid @editor-border;\n  border-radius: @border-radius-base;\n}\n\n.editor-border .form-control {\n  // remove border and resizing\n  border: none;\n  resize: none;\n\n  // remove shadow from control\n  &,\n  &:focus,\n  &:active {\n    .box-shadow(none);\n  }\n}\n\n// Footer styles\n.editor-footer {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical @padding-base-horizontal;\n  overflow: auto;\n\n  .pull-left {\n    margin-right: @padding-base-horizontal;\n  }\n\n  .pull-right {\n    margin-left: @padding-base-horizontal;\n  }\n\n  .btn-icon .material-icon {\n    margin-bottom: -2px;\n  }\n\n  // center buttons on small devices\n  @media screen and (max-width: @screen-sm-max) {\n    .buttons-list {\n      float: none !important;\n\n      margin: 0px;\n      margin-bottom: @line-height-computed / 2;\n\n      .btn {\n        display: inline-block;\n        float: none !important;\n\n        margin: @line-height-computed / 3;\n      }\n    }\n\n    .btn-protect {\n      .btn-text {\n        margin-left: @padding-small-horizontal;\n      }\n\n      .material-icon {\n        position: relative;\n        bottom: 2px;\n\n        width: 14px;\n        height: 14px;\n\n        font-size: 14px;\n        line-height: 14px;\n      }\n    }\n  }\n}\n\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  .buttons-list .btn {\n    &:first-child {\n      margin-left: 0px;\n    }\n  }\n}\n\n// make lock button full width\n@media screen and (max-width: @screen-xs-max) {\n  .buttons-list {\n    text-align: center;\n\n    .btn-protect {\n      display: block;\n      float: none !important;\n\n      width: 100%;\n\n      margin: 0px;\n      margin-top: @line-height-computed / 2;\n    }\n  }\n}\n\n// Attachments list\n.editor-attachments-list {\n  margin: 0px;\n  padding: 0px;\n\n  li {\n    margin: 0px;\n  }\n}\n\n.editor-attachment-complete {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical 0px;\n  padding-right: @padding-base-horizontal;\n\n  .editor-attachment-image {\n    float: left;\n    width: 50px;\n\n    a {\n      background-size: cover;\n      background-position: center;\n      border-radius: @border-radius-small;\n      display: block;\n\n      margin: 0px auto;\n      width: 36px;\n      height: 36px;\n    }\n  }\n\n  .editor-attachment-icon {\n    float: left;\n    width: 50px;\n\n    text-align: center;\n\n    .material-icon {\n      position: relative;\n      top: 2px;\n\n      height: 28px;\n      width: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n  }\n\n  .editor-attachment-details {\n    margin-left: 50px;\n\n    h4,\n    p {\n      margin: 0px;\n      padding: 0px;\n\n      font-size: @font-size-base;\n    }\n\n    p {\n      margin-top: @padding-base-vertical / 2;\n\n      color: @gray-light;\n      font-size: @font-size-small;\n    }\n\n    abbr {\n      white-space: nowrap;\n    }\n  }\n}\n\n.editor-attachment-actions {\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top: 3px;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-left: @padding-base-horizontal;\n    padding-right: @padding-base-horizontal;\n  }\n}\n\n.editor-attachment-error {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical 0px;\n  padding-right: @padding-base-horizontal;\n}\n\n.editor-attachment-error-icon {\n  float: left;\n  width: 50px;\n\n  text-align: center;\n\n  .material-icon {\n    position: relative;\n    top: 2px;\n\n    height: 28px;\n    width: 28px;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n}\n\n.editor-attachment-error-message {\n  margin-left: 50px;\n  padding: @padding-base-vertical 0px;\n  position: relative;\n\n  h4,\n  p {\n    margin: 0px;\n    padding: 0px;\n\n    font-size: @font-size-base;\n  }\n\n  p {\n    margin-top: @padding-base-vertical / 2;\n    font-size: @font-size-small;\n  }\n\n  .btn {\n    position: absolute;\n    top: @padding-base-vertical + 3px;\n    right: @padding-base-horizontal;\n\n    @media screen and (max-width: @screen-xs-max) {\n      display: block;\n\n      margin-top: @line-height-computed / 2;\n\n      position: static;\n    }\n  }\n}\n\n.editor-attachment-progress-bar {\n  background: @editor-border;\n  overflow: auto;\n}\n\n.editor-attachment-progress {\n  background: @brand-primary;\n  float: left;\n  height: 1px;\n}\n\n.editor-attachment-upload-message {\n  margin: 0px;\n  padding: @padding-base-vertical @padding-base-horizontal;\n}\n\n// Hide file input outside of viewport\n#editor-upload-field {\n  position: absolute;\n  left: -1000px;\n  top: -1000px;\n}\n\n// Scale avatar in at.js suggestion\n.atwho-view ul li img {\n  border-radius: @border-radius-small;\n  margin-right: @font-size-base / 3;\n\n  width: @line-height-computed;\n  height: @line-height-computed;\n}\n","//\n// Thread Participants\n// --------------------------------------------------\n\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user {\n  margin-bottom: @line-height-computed;\n\n  &,\n  &:hover,\n  &:focus,\n  &:focus:active {\n    padding: 0px;\n\n    overflow: hidden;\n\n    text-align: left;\n  }\n\n  img {\n    background-color: #fff;\n    width: 34px;\n    height: 34px;\n\n    margin-right: 8px;\n  }\n}\n\n// Panel copy\n.panel-participants p {\n  margin: 0px;\n  margin-top: @padding-base-vertical + 1px;\n}\n","//\n// Poll Editor\n// --------------------------------------------------\n\n.poll-choices-control {\n  .list-group-item {\n    padding: 0px;\n  }\n\n  .list-group-item .btn {\n    background: transparent;\n    border: transparent;\n    float: left;\n    margin: 0px 2px;\n    margin-bottom: -29px;\n    padding: 0px;\n    width: 28px;\n    height: 28px;\n\n    position: relative;\n    top: 3px;\n\n    .material-icon {\n      width: 28px;\n      height: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n  }\n\n  input {\n    &,\n    &:focus,\n    &:active {\n      background: transparent;\n      border: none;\n      .box-shadow(none);\n      outline: none;\n      margin-left: 30px;\n      padding: @padding-base-vertical @padding-base-horizontal;\n      width: 100%;\n    }\n  }\n}\n","//\n// Posts List\n// --------------------------------------------------\n\n// Remove paddings and margins from items list\n.posts-list {\n  margin: 0px;\n  padding: 0px;\n  clear: both;\n\n  li {\n    list-style: none;\n    margin: 0px;\n    padding: 0px;\n  }\n}\n","//\n// Posts List Post\n// --------------------------------------------------\n\n// Post side\n.post-side {\n  font-size: @font-size-small;\n\n  .media {\n    margin: 0px;\n  }\n\n  .poster-avatar {\n    height: 36px;\n    width: 36px;\n\n    @media screen and (min-width: @screen-md-min) {\n      margin-top: 4px;\n\n      height: 82px;\n      width: 82px;\n    }\n  }\n\n  .user-status {\n    margin-right: 4px;\n  }\n\n  .media-heading {\n    display: block;\n  }\n\n  .media-heading {\n    margin: 0px;\n    margin-top: -1px;\n\n    font-size: @font-size-base;\n\n    .user-status {\n      margin-right: 0;\n      margin-left: 2px;\n    }\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  // Lay user details vertically\n  @media screen and (min-width: @screen-md-min) {\n    .media-heading {\n      margin-top: 3px;\n\n      font-size: @font-size-large;\n\n      .user-status {\n        display: none;\n      }\n    }\n\n    .user-title {\n      margin-top: 4px;\n      margin-bottom: 5px;\n    }\n\n    .user-postcount {\n      display: block;\n    }\n\n    .user-status {\n      display: block;\n    }\n  }\n}\n\n// Heading\n.post-heading {\n  height: 36px;\n\n  @media screen and (max-width: @screen-sm-max) {\n    margin-top: @line-height-computed / 2;\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n\n  .label {\n    margin-top: 6px;\n\n    font-size: @font-size-base;\n    font-weight: normal;\n  }\n\n  .label-unread {\n    background-color: @brand-success;\n\n    color: #fff;\n  }\n}\n\n// Move controls up\n@media screen and (min-width: @screen-md-min) {\n  .post-side .pull-right {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-sm-max) {\n  .post-heading .pull-right {\n    display: none;\n  }\n}\n\n// Body\n.post-body {\n  padding-top: @line-height-computed;\n  padding-bottom: @line-height-computed * 1.5;\n}\n\n// Status\n.post-status-message {\n  overflow: auto;\n\n  .material-icon {\n    float: left;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n\n  p {\n    margin: 0px;\n    margin-top: (28px - @line-height-computed) / 2;\n    margin-left: 36px;\n  }\n}\n\n.post-status-best-answer {\n  background-color: @brand-success;\n\n  color: #fff;\n}\n\n.post-status-hidden {\n  background-color: @brand-danger;\n\n  color: #fff;\n}\n\n.post-status-unapproved {\n  background-color: @brand-primary;\n\n  color: #fff;\n}\n\n.post-status-protected {\n  background-color: @gray;\n\n  color: #fff;\n}\n\n// Footer\n.post-footer {\n  .pull-left {\n    margin-right: @padding-large-horizontal;\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  p {\n    padding-top: 7px;\n    padding-bottom: 6px;\n    margin-bottom: 0px;\n  }\n}\n\n// Attachments\n.post-attachments {\n  @post-preview-width: 40px;\n\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-base-vertical @padding-large-horizontal;\n\n  abbr {\n    white-space: nowrap;\n  }\n\n  .attachment-name {\n    word-wrap: break-word;\n  }\n\n  .row > div {\n    margin: @padding-large-vertical 0px;\n  }\n\n  .post-attachment-preview {\n    float: left;\n    height: @post-preview-width;\n    width: @post-preview-width;\n\n    text-align: center;\n  }\n\n  .post-attachment {\n    margin-left: @post-preview-width + 12px;\n  }\n\n  .post-thumbnail {\n    display: block;\n    background-size: cover;\n    background-position: center;\n    border-radius: @border-radius-small;\n    width: @post-preview-width;\n    height: @post-preview-width;\n  }\n\n  .material-icon {\n    width: 28px;\n    height: 28px;\n\n    position: relative;\n    top: 5px;\n\n    font-size: 28px;\n    line-height: 28px;\n\n    &:link,\n    &:active,\n    &:visited,\n    &:hover,\n    &:focus {\n      color: @gray-darker;\n      text-decoration: none;\n    }\n  }\n\n  .post-attachment-description {\n    margin: 0px;\n    padding: 0px;\n\n    color: @text-muted;\n    font-size: @font-size-small;\n  }\n}\n","//\n// Post Feed\n// --------------------------------------------------\n\n.post-feed .post-side {\n  .media-heading {\n    margin: 0px;\n\n    font-size: @font-size-base;\n  }\n\n  .user-title {\n    margin: 0px;\n\n    font-size: @font-size-small;\n  }\n}\n\n.post-feed .post-side .btn {\n  display: inline-block;\n}\n\n.post-feed .post-side img {\n  margin-top: 0px;\n\n  width: 36px;\n  height: 36px;\n}\n\n.post-feed .post-heading {\n  height: auto;\n  margin: @line-height-computed / 2 0px;\n}\n\n.post-feed .post-heading .btn {\n  margin-right: @padding-large-horizontal;\n  max-width: 100%;\n\n  text-align: left;\n  white-space: normal;\n  word-wrap: break-word;\n}\n","//\n// Posts List Event\n// --------------------------------------------------\n\n// Event style\n.posts-list .event {\n  margin-bottom: @line-height-computed;\n\n  color: @text-muted;\n\n  .media {\n    margin-top: @line-height-computed / 4;\n  }\n}\n\n// Event label\n.posts-list .event-label {\n  .label-unread {\n    background-color: @brand-success;\n\n    color: #fff;\n  }\n}\n\n// Event icon\n.posts-list .event .text-right {\n  padding-right: 0px;\n\n  text-align: right;\n\n  .material-icon {\n    margin-right: -12px;\n\n    height: @event-icon-size;\n    width: @event-icon-size;\n\n    font-size: @event-icon-size;\n    line-height: @event-icon-size;\n\n    text-align: center;\n  }\n}\n\n// Align event content with post's content\n.posts-list .event .text-left {\n  padding-left: 24px;\n}\n\n// Event first and second rows\n.posts-list .event .event-message {\n  margin-bottom: @line-height-computed / 4;\n\n  font-size: @font-size-large;\n}\n\n.posts-list .event .event-info {\n  margin: 0px;\n\n  font-size: @font-size-small;\n\n  li {\n    margin-right: @padding-base-horizontal;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Event controls\n.posts-list .event .event-controls {\n  .btn-link {\n    border: 0px;\n    margin: 0px;\n    margin-right: @padding-base-horizontal;\n    padding: 0px;\n\n    font-size: @font-size-small;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Mobile tweaks\n@media screen and (max-width: @screen-xs-max) {\n  .posts-list .event .text-right {\n    width: @event-icon-size;\n\n    text-align: right;\n  }\n\n  .posts-list .event .text-left:first-child {\n    padding-left: 0px;\n  }\n\n  .posts-list .event .event-info {\n    margin-top: @line-height-computed / 4;\n  }\n\n  .posts-list .event .event-controls {\n    clear: both;\n    margin-top: @line-height-computed / 4;\n\n    .btn-link {\n      margin-right: @line-height-computed;\n\n      font-size: @font-size-base;\n\n      &:last-child {\n        margin-right: 0px;\n      }\n    }\n  }\n}\n","//\n// Post Changelog Modal\n// --------------------------------------------------\n\n.post-changelog-diff {\n  padding: 0px;\n  margin: 0px;\n\n  .list-unstyled {\n    padding: 0px;\n    margin: @padding-small-vertical 0px;\n  }\n\n  .diff-item {\n    padding: @padding-small-vertical @padding-small-horizontal;\n  }\n\n  .diff-item-sub {\n    color: @brand-danger;\n  }\n\n  .diff-item-add {\n    color: @brand-success;\n  }\n}\n\n.post-changelog-toolbar .row {\n  margin-left: -12px;\n  margin-right: -12px;\n}\n\n.post-changelog-toolbar .post-change-label {\n  @media screen and (max-width: @screen-xs-max) {\n    text-align: center;\n  }\n}\n","//\n// Message Pages\n// --------------------------------------------------\n\n// Small displays\n@media screen and (max-width: @screen-xs-max) {\n  .page-message,\n  .page-error {\n    .message-panel {\n      text-align: center;\n    }\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n      font-size: @message-page-icon-size;\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-sm-min) {\n  .page-message,\n  .page-error {\n    .message-panel {\n      margin: @line-height-computed * 3 auto;\n      max-width: @screen-md-max * 0.65;\n      overflow: auto;\n    }\n\n    .message-icon {\n      float: left;\n\n      .material-icon {\n        font-size: @message-page-icon-size;\n      }\n    }\n\n    .message-body {\n      margin-top: @message-page-icon-size / 5;\n      margin-left: @message-page-icon-size + @line-height-computed;\n\n      font-size: @font-size-large;\n\n      p.lead {\n        font-size: @font-size-large * 2;\n      }\n    }\n  }\n}\n","//\n// Threads Lists\n// --------------------------------------------------\n\n.threads-list {\n  margin-bottom: @line-height-computed;\n}\n\n// Make list row flexbox row\n.threads-list-item {\n  display: flex;\n  align-items: center;\n\n  img {\n    width: @thread-read-block-size;\n    height: @thread-read-block-size;\n  }\n}\n\n.threads-list-item-top-row {\n  display: flex;\n  flex: 1;\n  align-items: center;\n  justify-content: center;\n}\n\n.threads-list-item-bottom-row {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n// Thread icon\n.threads-list-item-col-icon {\n  padding-right: @grid-gutter-width / 2;\n}\n\n.threads-list-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: @thread-read-block-size;\n  height: @thread-read-block-size;\n\n  border-radius: @border-radius-small;\n  font-size: @thread-read-icon-size;\n  line-height: @thread-read-icon-size;\n\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    background-color: @thread-read-icon-bg;\n    color: @thread-read-icon-color;\n    text-decoration: none;\n  }\n}\n\n.threads-list-icon-new {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    background-color: @thread-new-icon-bg;\n    color: @thread-new-icon-color;\n  }\n}\n\n// Thread title\n.threads-list-item-col-title {\n  flex: 1;\n}\n\na.threads-list-item-title {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    font-size: @threads-list-title-size;\n\n    color: @thread-color;\n    overflow-wrap: break-word;\n  }\n}\n\na.threads-list-item-title-sm {\n  font-size: @threads-list-title-size-sm;\n\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    color: @thread-read-color;\n    overflow-wrap: break-word;\n  }\n}\n\na.threads-list-item-title-new {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    color: @thread-new-color;\n  }\n}\n\n// Thread status flags\n.threads-list-item-col-flags {\n  padding-left: @grid-gutter-width / 2;\n}\n\n.threads-list-item-flags {\n  display: flex;\n  align-items: center;\n\n  opacity: @thread-flag-icon-opacity;\n\n  margin: 0;\n  padding: 0;\n\n  li {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    width: @thread-flag-block-size;\n    height: @thread-flag-block-size;\n\n    border-radius: @border-radius-small;\n    list-style-type: none;\n  }\n\n  li + li {\n    margin-left: @grid-gutter-width / 4;\n  }\n\n  .material-icon {\n    font-size: @thread-flag-icon-size;\n    line-height: @thread-flag-icon-size;\n  }\n}\n\n.threads-list-item:hover,\n.threads-list-item:focus {\n  .threads-list-item-flags {\n    opacity: @thread-flag-icon-opacity-hover;\n  }\n}\n\n.threads-list-item-flag-pinned-globally {\n  color: @thread-flag-pinned-globally-color;\n  background: @thread-flag-pinned-globally-bg;\n}\n\n.threads-list-item-flag-pinned-locally {\n  color: @thread-flag-pinned-locally-color;\n  background: @thread-flag-pinned-locally-bg;\n}\n\n.threads-list-item-flag-answered {\n  color: @thread-flag-answered-color;\n  background: @thread-flag-answered-bg;\n}\n\n.threads-list-item-flag-poll {\n  color: @thread-flag-poll-color;\n  background: @thread-flag-poll-bg;\n}\n\n.threads-list-item-flag-unapproved {\n  color: @thread-flag-unapproved-color;\n  background: @thread-flag-unapproved-bg;\n}\n\n.threads-list-item-flag-closed {\n  color: @thread-flag-closed-color;\n  background: @thread-flag-closed-bg;\n}\n\n.threads-list-item-flag-hidden {\n  color: @thread-flag-hidden-color;\n  background: @thread-flag-hidden-bg;\n}\n\n// Thread category\n.threads-list-item-col-category {\n  padding-left: @grid-gutter-width / 2;\n\n  white-space: nowrap;\n}\n\n.threads-list-category-label {\n  padding: 3px 6px;\n\n  border-radius: @border-radius-small;\n\n  font-size: @font-size-small;\n  font-weight: bold;\n\n  &,\n  &:link,\n  &:active,\n  &:hover,\n  &:focus,\n  &:visited {\n    color: @category-label-default-color;\n    background: @category-label-default-bg;\n    text-decoration: none;\n  }\n\n  &.threads-list-category-label-color {\n    &,\n    &:link,\n    &:active,\n    &:hover,\n    &:focus,\n    &:visited {\n      color: #fff;\n      background: var(--label-color);\n    }\n  }\n}\n\n.threads-list-item-parent-category {\n  border-radius: @border-radius-small 0 0 @border-radius-small;\n  margin-right: 2px;\n}\n\n.threads-list-item-parent-category + .threads-list-category-label {\n  border-radius: 0 @border-radius-small @border-radius-small 0;\n}\n\n// Replies\n.threads-list-item-col-replies {\n  width: 80px;\n  padding-left: @grid-gutter-width / 2;\n}\n\n.threads-list-item-replies {\n  display: flex;\n  align-items: center;\n\n  color: @thread-replies-color;\n  font-size: @thread-replies-size;\n  font-weight: bold;\n\n  .material-icon {\n    margin-right: @grid-gutter-width / 4;\n    transform: matrix(-1, 0, 0, 1, 0, 0);\n  }\n}\n\n// Last poster\n.threads-list-item-col-last-poster {\n  padding-left: @grid-gutter-width / 2;\n\n  img {\n    border-radius: @border-radius-small;\n  }\n}\n\n// Last activity\n.threads-list-item-col-last-activity {\n  width: 120px;\n  padding-left: @grid-gutter-width / 2;\n\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n\n  a:link,\n  a:hover,\n  a:active,\n  a:visited,\n  a:focus {\n    color: @thread-last-activity-color;\n    font-size: @thread-last-activity-size;\n  }\n}\n\n// Subscription and checkbox\n.threads-list-item-col-checkbox,\n.threads-list-item-col-subscription {\n  padding-left: @grid-gutter-width / 2;\n}\n\n// Make list responsive\n.threads-list-item-title-sm,\n.threads-list-item-col-checkbox-sm {\n  display: none;\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  // Make card full-width\n  .threads-list {\n    margin-left: @grid-gutter-width * -0.5;\n    margin-right: @grid-gutter-width * -0.5;\n\n    .list-group,\n    .list-group-item {\n      border-radius: 0;\n      border-left: 0;\n      border-right: 0;\n    }\n  }\n\n  // Swap title with sm one\n  .threads-list-item-title {\n    display: none;\n  }\n\n  .threads-list-item-title-sm {\n    display: inline-block;\n  }\n\n  // Make thread read icon disappear\n  .threads-list-item-col-icon {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-sm-max) {\n  // Use two rows per item\n  .threads-list-item {\n    display: block;\n\n    // Make avatar same size as flag icons\n    img {\n      width: @thread-flag-block-size;\n      height: @thread-flag-block-size;\n    }\n  }\n\n  // Insert bottom marin to top row, align itss contents to top\n  .threads-list-item-top-row {\n    align-items: start;\n    margin-bottom: @grid-gutter-width / 4;\n  }\n\n  // Make all cols in second row auto, align them to right\n  .threads-list-item-bottom-row {\n    justify-content: end;\n    flex: 0;\n\n    & > div {\n      width: auto;\n      padding: 0 0 0 @grid-gutter-width / 2;\n    }\n  }\n\n  // Make thread subscription and checkbox icons disappear\n  .threads-list-item-col-subscription,\n  .threads-list-item-col-checkbox {\n    display: none;\n  }\n\n  // Reveal checkbox in top row, make it smol\n  .threads-list-item-col-checkbox-sm {\n    display: block;\n    padding-left: @grid-gutter-width / 2;\n\n    .btn-icon {\n      padding: 4px;\n\n      .material-icon {\n        font-size: 16px;\n      }\n    }\n  }\n}\n\n// Make thread buttons flash when thread is busy\n.threads-list-item-is-busy .btn-icon {\n  opacity: 0.8;\n  animation: busy 0.75s linear infinite;\n}\n\n@keyframes busy {\n  50% {\n    opacity: 0.5;\n  }\n}\n\n// Threads list update prompt\n.threads-list-update-prompt {\n  padding: 0;\n}\n\n.threads-list-update-prompt-btn {\n  padding: @padding-large-vertical @padding-large-horizontal;\n\n  background: @update-threads-prompt-bg;\n  color: @update-threads-prompt-color;\n  border: none;\n  border-radius: @list-group-border-radius @list-group-border-radius 0 0;\n}\n\n.threads-list-update-prompt-btn:hover,\n.threads-list-update-prompt-btn:focus {\n  background: @update-threads-prompt-hover-bg;\n  color: @update-threads-prompt-hover-color;\n}\n\n.threads-list-update-prompt-btn:active {\n  background: @update-threads-prompt-active-bg;\n  color: @update-threads-prompt-active-color;\n}\n","//\n// Active posters list\n// --------------------------------------------------\n\n// List layout\n.active-posters {\n  li {\n    display: block;\n    overflow: auto;\n  }\n}\n\n// User avatar\n.active-posters .rank-user-avatar {\n  float: left;\n\n  @media screen and (max-width: @screen-sm-max) {\n    height: 42px; // even list item vertically\n\n    img {\n      width: 36px;\n      height: 36px;\n\n      position: relative;\n      top: 3px;\n    }\n  }\n}\n\n// User\n.active-posters .rank-user {\n  float: left;\n  margin-top: 3px;\n\n  @media screen and (max-width: @screen-sm-max) {\n    margin-left: @line-height-computed * 0.66;\n    width: 40%;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    float: none;\n    margin-left: 50px;\n    width: auto;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    margin-left: @line-height-computed * 0.8;\n    width: 25%;\n\n    .user-name {\n      font-size: @font-size-large;\n    }\n  }\n}\n\n// User details\n.active-posters .user-details {\n  overflow: auto;\n\n  font-family: Sans-Serif;\n\n  .user-status,\n  .rank-name,\n  .user-title {\n    display: block;\n    float: left;\n    margin-right: 3px;\n\n    font-size: @font-size-small;\n\n    @media screen and (min-width: @screen-md-min) {\n      margin-right: 8px;\n    }\n  }\n\n  .user-title {\n    margin-right: 0px;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    overflow: visible;\n\n    .rank-name,\n    .user-title {\n      height: 14px;\n      overflow: hidden;\n\n      position: relative;\n      top: 1px;\n\n      vertical-align: baseline;\n    }\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @padding-base-vertical / 2;\n\n    .rank-name,\n    .user-title {\n      font-weight: normal;\n    }\n  }\n}\n\n// User status\n.active-posters .user-status {\n  overflow: auto;\n\n  position: relative;\n  top: 1px;\n\n  span {\n    display: block;\n    float: left;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    height: 14px;\n    overflow: hidden;\n  }\n\n  .status-icon {\n    position: relative;\n\n    @media screen and (max-width: @screen-sm-max) {\n      top: 0px;\n\n      width: 12px;\n      height: 12px;\n\n      font-size: 12px;\n      line-height: 12px;\n    }\n\n    @media screen and (min-width: @screen-md-min) {\n      top: 1px;\n\n      margin-right: 3px;\n\n      width: 13px;\n      height: 13px;\n\n      font-size: 13px;\n      line-height: 13px;\n    }\n  }\n}\n\n// User status UI preview\n.active-posters {\n  .status-label.ui-preview-text,\n  .rank-name .ui-preview-text,\n  .user-title .ui-preview-text {\n    height: 11px;\n\n    position: relative;\n    top: 2px;\n\n    font-size: 11px;\n    line-height: 11px;\n  }\n\n  // even rank/title preview with status\n  .rank-name,\n  .user-title {\n    .ui-preview-text {\n      position: static;\n    }\n  }\n}\n\n// Rank stats\n.active-posters {\n  .rank-position,\n  .rank-posts-counted,\n  .rank-posts-total {\n    strong,\n    small {\n      display: block;\n    }\n\n    @media screen and (max-width: @screen-sm-max) {\n      overflow: auto;\n\n      strong,\n      small {\n        float: left;\n\n        font-size: @font-size-base * 0.75;\n      }\n\n      strong {\n        min-width: 30px;\n        margin-right: 3px;\n\n        text-align: right;\n      }\n\n      .ui-preview-text {\n        height: 8px;\n\n        position: relative;\n        top: -1px;\n\n        font-size: 8px;\n        line-height: 8px;\n      }\n    }\n\n    @media screen and (min-width: @screen-md-min) {\n      float: left;\n      margin-top: 3px;\n      width: 23%;\n\n      font-size: @font-size-large;\n      text-align: center;\n\n      small {\n        font-size: @font-size-small;\n        font-weight: normal;\n      }\n    }\n  }\n}\n\n.user-compact-stats {\n  .rank-position,\n  .rank-posts-counted {\n    strong,\n    small {\n      display: inline-block;\n      float: none;\n    }\n\n    strong {\n      min-width: auto;\n    }\n\n    small {\n      margin-right: @line-height-computed;\n    }\n  }\n}\n\n// Tablet displays\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  // Margin top first state so its even with username\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n\n  // Hide rank-posts-total on small displays (cos it overflows for crazy posters)\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n\n// Mobile displays\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  // Margin top first state so its even with username\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n\n  // Hide rank-posts-total on small displays (cos it overflows for crazy posters)\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n","//\n// Forum Profile\n// --------------------------------------------------\n\n.page-user-profile .page-header {\n  padding-top: @line-height-computed;\n\n  .alert {\n    margin-bottom: @line-height-computed;\n  }\n\n  h1 {\n    margin-bottom: 0px;\n  }\n\n  .btn-aligned {\n    margin-top: 0px;\n  }\n}\n\n// Small displays header\n@media screen and (max-width: @screen-xs-max) {\n  .page-user-profile .page-header {\n    text-align: center;\n\n    img {\n      clear: both;\n      margin-top: @line-height-computed;\n\n      width: 100px;\n      height: 100px;\n    }\n\n    h1 {\n      margin-top: @line-height-computed;\n\n      font-size: @font-size-base * 2;\n    }\n\n    .header-stats ul {\n      text-align: center;\n\n      li {\n        display: inline-block;\n\n        white-space: nowrap;\n      }\n    }\n  }\n\n  .page-user-profile .profile-side-avatar {\n    display: none;\n  }\n}\n\n// Tablet displays\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  .page-user-profile .page-header {\n    img,\n    h1 {\n      float: left;\n    }\n\n    img {\n      margin-top: @line-height-computed;\n      margin-right: 24px;\n\n      width: 80px;\n      height: 80px;\n    }\n\n    h1 {\n      position: relative;\n      top: @line-height-computed * 1.25;\n    }\n\n    .header-stats {\n      margin-left: 80px + 32px;\n      margin-top: @line-height-computed * 1.25;\n      margin-bottom: @line-height-computed * -2.25;\n\n      position: relative;\n      bottom: @line-height-computed * 2.5;\n    }\n  }\n}\n\n// Dekstops header\n@media screen and (min-width: @screen-md-min) {\n  .page-user-profile .page-header {\n    .user-avatar-sm {\n      display: none;\n    }\n\n    h1 {\n      position: relative;\n      top: 5px;\n    }\n\n    .header-stats ul {\n      li {\n        display: block;\n        float: left;\n      }\n    }\n  }\n\n  .page-user-profile .profile-side-avatar img {\n    width: 100%;\n    height: auto;\n    margin-top: @line-height-computed * -7;\n    margin-bottom: @line-height-computed;\n  }\n}\n","//\n// Username History\n// --------------------------------------------------\n\n// Change tabular on larger displays\n.username-history li {\n  @media screen and (min-width: @screen-md-min) {\n    display: block;\n    overflow: auto;\n  }\n}\n\n// Change avatar\n.username-history .change-avatar {\n  float: left;\n\n  a,\n  span {\n    margin-right: @line-height-computed / 2;\n\n    img {\n      width: 42px;\n      height: 42px;\n    }\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    a,\n    span {\n      img {\n        width: 18px;\n        height: 18px;\n\n        position: relative;\n        bottom: 1px;\n      }\n    }\n  }\n}\n\n// Change author\n.username-history .change-author {\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 30%;\n  }\n}\n\n// Old to new name change\n.username-history .change {\n  min-height: @line-height-computed; // we need that for ui-preview-text\n  overflow: auto;\n\n  span {\n    display: block;\n    float: left;\n  }\n\n  .material-icon {\n    margin: 0px @font-size-base / 2;\n\n    position: relative;\n    top: 4px;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 40%;\n  }\n}\n\n// Date\n.username-history .change-date {\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 20%;\n  }\n}\n","//\n// Search Page\n// --------------------------------------------------\n\n.search-footer p {\n  margin-top: @line-height-computed;\n\n  color: @gray;\n  font-size: @font-size-small;\n  text-align: center;\n}\n\n.page-search-form {\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top: @line-height-computed * 2;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    padding-bottom: @line-height-computed * 2;\n\n    h1 {\n      position: relative;\n      top: @padding-small-vertical;\n    }\n\n    .form-group {\n      margin-bottom: 0px;\n    }\n  }\n}\n","/*\nDescription: Foundation 4 docs style for highlight.js\nAuthor: Dan Allen <dan.j.allen@gmail.com>\nWebsite: http://foundation.zurb.com/docs/\nVersion: 1.0\nDate: 2013-04-02\n*/\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #eee; color: black;\n}\n\n.hljs-link,\n.hljs-emphasis,\n.hljs-attribute,\n.hljs-addition {\n  color: #070;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong,\n.hljs-string,\n.hljs-deletion {\n  color: #d14;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n\n.hljs-quote,\n.hljs-comment {\n  color: #998;\n  font-style: italic;\n}\n\n.hljs-section,\n.hljs-title {\n  color: #900;\n}\n\n.hljs-class .hljs-title,\n.hljs-type {\n  color: #458;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n  color: #336699;\n}\n\n.hljs-bullet {\n  color: #997700;\n}\n\n.hljs-meta {\n  color: #3344bb;\n}\n\n.hljs-code,\n.hljs-number,\n.hljs-literal,\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #099;\n}\n\n.hljs-regexp {\n  background-color: #fff0ff;\n  color: #880088;\n}\n\n.hljs-symbol {\n  color: #990073;\n}\n\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n  color: #007700;\n}\n",".atwho-view {\n    position:absolute;\n    top: 0;\n    left: 0;\n    display: none;\n    margin-top: 18px;\n    background: white;\n    color: black;\n    border: 1px solid #DDD;\n    border-radius: 3px;\n    box-shadow: 0 0 5px rgba(0,0,0,0.1);\n    min-width: 120px;\n    z-index: 11110 !important;\n}\n\n.atwho-view .atwho-header {\n    padding: 5px;\n    margin: 5px;\n    cursor: pointer;\n    border-bottom: solid 1px #eaeff1;\n    color: #6f8092;\n    font-size: 11px;\n    font-weight: bold;\n}\n\n.atwho-view .atwho-header .small {\n    color: #6f8092;\n    float: right;\n    padding-top: 2px;\n    margin-right: -5px;\n    font-size: 12px;\n    font-weight: normal;\n}\n\n.atwho-view .atwho-header:hover {\n    cursor: default;\n}\n\n.atwho-view .cur {\n    background: #3366FF;\n    color: white;\n}\n.atwho-view .cur small {\n    color: white;\n}\n.atwho-view strong {\n    color: #3366FF;\n}\n.atwho-view .cur strong {\n    color: white;\n    font:bold;\n}\n.atwho-view ul {\n    /* width: 100px; */\n    list-style:none;\n    padding:0;\n    margin:auto;\n    max-height: 200px;\n    overflow-y: auto;\n}\n.atwho-view ul li {\n    display: block;\n    padding: 5px 10px;\n    border-bottom: 1px solid #DDD;\n    cursor: pointer;\n    /* border-top: 1px solid #C8C8C8; */\n}\n.atwho-view small {\n    font-size: smaller;\n    color: #777;\n    font-weight: normal;\n}\n","//\n// Typography Flavor\n// --------------------------------------------------\n\nabbr {\n  outline: none;\n  text-decoration: none;\n}\n","//\n// Flavor Shadows\n// --------------------------------------------------\n\n.shadow-2dp {\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 1px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n    0 1px 5px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n}\n\n.shadow-3dp {\n  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 3px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n    0 1px 8px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n}\n\n.shadow-4dp {\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 1px 10px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 2px 4px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-6dp {\n  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 1px 18px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-8dp {\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 14px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 5px 5px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-16dp {\n  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 6px 30px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 8px 10px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-24dp {\n  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 11px 15px -7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 24px 38px 3px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n","//\n// Buttons Flavor\n// --------------------------------------------------\n\n// mixins\n.misago-btn(@color, @bg, @color-hover, @bg-hover, @color-active, @bg-active) {\n  &,\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    background: @bg;\n    border: 1px solid @bg;\n\n    color: @color;\n\n    .box-shadow(none);\n  }\n\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    .opacity(0.25);\n  }\n\n  &:hover,\n  &:focus {\n    background: @bg-hover;\n    border: 1px solid @bg-hover;\n\n    color: @color-hover;\n\n    .box-shadow(none);\n  }\n\n  &:active:focus,\n  &:active,\n  .dropdown.open .dropdown-toggle &,\n  .dropdown.open .dropdown-toggle &:focus,\n  .dropdown.open .dropdown-toggle &:active:focus,\n  .dropdown.open .dropdown-toggle &:hover {\n    background: @bg-active;\n    border: 1px solid @bg-active;\n\n    color: @color-active;\n\n    .box-shadow(none);\n  }\n\n  &.btn-loading {\n    &,\n    &:disabled,\n    &:disabled:hover,\n    &:hover,\n    &:focus,\n    &:active:focus,\n    &:active {\n      color: transparent;\n    }\n  }\n}\n\n.misago-btn-outline(@color, @bg, @border,\n                    @color-hover, @bg-hover, @border-hover,\n                    @color-active, @bg-active, @border-active) {\n  &,\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    background: @bg;\n    border: 1px solid @border;\n\n    color: @color;\n\n    .box-shadow(none);\n  }\n\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    .opacity(0.25);\n  }\n\n  &:hover,\n  &:focus {\n    background: @bg-hover;\n    border: 1px solid @border-hover;\n\n    color: @color-hover;\n\n    .box-shadow(none);\n  }\n\n  &:active:focus,\n  &:active,\n  .dropdown.open &,\n  .dropdown.open &:focus,\n  .dropdown.open &:active:focus,\n  .dropdown.open &:hover {\n    background: @bg-active;\n    border: 1px solid @border-active;\n\n    color: @color-active;\n\n    .box-shadow(none);\n  }\n\n  &.btn-loading {\n    &,\n    &:disabled,\n    &:disabled:hover,\n    &:hover,\n    &:focus,\n    &:active:focus,\n    &:active {\n      background: @bg;\n      border: 1px solid @border;\n\n      color: transparent;\n\n      .box-shadow(none);\n    }\n  }\n}\n\n// button styles\n.btn-default {\n  .misago-btn(\n    @btn-default-color,\n    @btn-default-bg,\n\n    @btn-default-hover-color,\n    @btn-default-hover-bg,\n\n    @btn-default-active-color,\n    @btn-default-active-bg\n  );\n}\n\n.btn-primary {\n  .misago-btn(\n    @btn-primary-color,\n    @btn-primary-bg,\n\n    @btn-primary-hover-color,\n    @btn-primary-hover-bg,\n\n    @btn-primary-active-color,\n    @btn-primary-active-bg\n  );\n}\n\n.btn-success {\n  .misago-btn(\n    @btn-success-color,\n    @btn-success-bg,\n\n    @btn-success-hover-color,\n    @btn-success-hover-bg,\n\n    @btn-success-active-color,\n    @btn-success-active-bg\n  );\n}\n\n.btn-danger {\n  .misago-btn(\n    @btn-danger-color,\n    @btn-danger-bg,\n\n    @btn-danger-hover-color,\n    @btn-danger-hover-bg,\n\n    @btn-danger-active-color,\n    @btn-danger-active-bg\n  );\n}\n\n// outlined button styles\n.btn-default.btn-outline {\n  .misago-btn-outline(\n    @btn-default-outline-color,\n    @btn-default-outline-bg,\n    @btn-default-outline-border,\n\n    @btn-default-outline-hover-color,\n    @btn-default-outline-hover-bg,\n    @btn-default-outline-hover-border,\n\n    @btn-default-outline-active-color,\n    @btn-default-outline-active-bg,\n    @btn-default-outline-active-border\n  );\n}\n\n.btn-primary.btn-outline {\n  .misago-btn-outline(\n    @btn-primary-outline-color,\n    @btn-primary-outline-bg,\n    @btn-primary-outline-border,\n\n    @btn-primary-outline-hover-color,\n    @btn-primary-outline-hover-bg,\n    @btn-primary-outline-hover-border,\n\n    @btn-primary-outline-active-color,\n    @btn-primary-outline-active-bg,\n    @btn-primary-outline-active-border\n  );\n}\n\n// sign in and register buttons in navbar\n.navbar-misago {\n  .btn-sign-in {\n    border-radius: @navbar-btn-sign-in-radius;\n\n    .misago-btn-outline(\n      @navbar-btn-sign-in-color,\n      @navbar-btn-sign-in-bg,\n      @navbar-btn-sign-in-border,\n\n      @navbar-btn-sign-in-hover-color,\n      @navbar-btn-sign-in-hover-bg,\n      @navbar-btn-sign-in-hover-border,\n\n      @navbar-btn-sign-in-active-color,\n      @navbar-btn-sign-in-active-bg,\n      @navbar-btn-sign-in-active-border\n    );\n  }\n\n  .btn-register {\n    border-radius: @navbar-btn-register-radius;\n\n    .misago-btn-outline(\n      @navbar-btn-register-color,\n      @navbar-btn-register-bg,\n      @navbar-btn-register-border,\n\n      @navbar-btn-register-hover-color,\n      @navbar-btn-register-hover-bg,\n      @navbar-btn-register-hover-border,\n\n      @navbar-btn-register-active-color,\n      @navbar-btn-register-active-bg,\n      @navbar-btn-register-active-border\n    );\n  }\n}\n","//\n// Social Buttons Flavor\n// --------------------------------------------------\n\n// Those buttons simply add brand color over the .btn-default\n.misago-social-btn(@color) {\n  &,\n  &:disabled,\n  &:disabled:hover {\n    color: @color;\n    font-weight: bold;\n  }\n}\n\n.btn-social-battlenet,\n.btn-social-battlenet-oauth2 {\n  .misago-social-btn(#0e86ca);\n}\n\n.btn-social-bungie {\n  .misago-social-btn(#0096db);\n}\n\n.btn-social-facebook,\n.btn-social-facebook-app {\n  .misago-social-btn(#3b5998);\n}\n\n.btn-social-github,\n.btn-social-github-team,\n.btn-social-github-enterprise,\n.btn-social-github-enterprise-org,\n.btn-social-github-enterprise-team {\n  .misago-social-btn(#000000);\n}\n\n.btn-social-gitlab {\n  .misago-social-btn(#fc6d26);\n}\n\n.btn-social-google,\n.btn-social-google-oauth,\n.btn-social-google-oauth2,\n.btn-social-google-plus,\n.btn-social-google-openidconnect {\n  .misago-social-btn(#dd4b39);\n}\n\n.btn-social-linkedin {\n  .misago-social-btn(#0077b5);\n}\n\n.btn-social-steam {\n  .misago-social-btn(#5c7e10);\n}\n\n.btn-social-twitter {\n  .misago-social-btn(#1da1f2);\n}\n\n.form-social-auth {\n  .row {\n    margin-top: @padding-base-vertical * -1;\n    margin-bottom: @padding-base-vertical * -1;\n  }\n\n  .btn {\n    margin: @padding-base-vertical 0px;\n  }\n}\n","//\n// Inputs Flavor\n// --------------------------------------------------\n\n// default input\ninput.form-control,\ntextarea.form-control {\n  border-color: @input-border;\n  box-shadow: inset 0px 0px 0px 1px @input-border;\n\n  &:focus {\n    border-color: @input-border-focus;\n    box-shadow: inset 0px 0px 0px 1px @input-border-focus;\n  }\n}\n\n.has-error input.form-control {\n  border-color: @state-danger-border;\n  box-shadow: inset 0px 0px 0px 1px @state-danger-border;\n\n  &:focus {\n    border-color: lighten(@state-danger-border, 20%);\n    box-shadow: inset 0px 0px 0px 1px lighten(@state-danger-border, 20%);\n  }\n}\n\n.has-success input.form-control {\n  border-color: @state-success-border;\n  box-shadow: inset 0px 0px 0px 1px @state-success-border;\n\n  &:focus {\n    border-color: lighten(@state-success-border, 20%);\n    box-shadow: inset 0px 0px 0px 1px lighten(@state-success-border, 20%);\n  }\n}\n\n// password strenght marker\n.password-strength {\n  margin-top: @line-height-computed / 2;\n\n  .text-small {\n    margin-top: @line-height-computed / 5;\n\n    color: lighten(@text-color, 25%);\n    font-size: @font-size-small;\n  }\n\n  .progress {\n    margin: 0px;\n  }\n}\n","//\n// Flavor Auth Message\n// --------------------------------------------------\n\n.auth-message {\n  background: @auth-message-bg;\n  padding: @line-height-computed * 4 0px;\n\n  .shadow-8dp();\n\n  p {\n    color: @auth-message-text-color;\n  }\n\n  .btn {\n    & {\n      background: @auth-message-btn-default-bg;\n      border-color: @auth-message-btn-default-border;\n\n      color: @auth-message-btn-default-color;\n    }\n\n    &:hover,\n    &:focus {\n      background: @auth-message-btn-default-hover-bg;\n      border-color: @auth-message-btn-default-hover-border;\n\n      color: @auth-message-btn-default-hover-color;\n    }\n\n    &:active {\n      background: @auth-message-btn-default-active-bg;\n      border-color: @auth-message-btn-default-active-border;\n\n      color: @auth-message-btn-default-active-color;\n    }\n  }\n}\n","//\n// Dropdown Flavor\n// --------------------------------------------------\n\n.dropdown-menu {\n  border: none;\n\n  .shadow-4dp();\n}\n\n// Navbar dropdown\n.user-dropdown .dropdown-header {\n  strong {\n    display: block;\n\n    color: @text-color;\n    font-weight: bold;\n  }\n\n  .user-stats {\n    margin-top: @line-height-computed / 2;\n\n    font-size: @font-size-small;\n\n    .material-icon {\n      margin-right: 3px;\n\n      position: relative;\n      bottom: 1px;\n\n      width: 14px;\n      height: 14px;\n\n      font-size: 14px;\n    }\n  }\n}\n\n.user-dropdown .guest-preview {\n  padding-bottom: @padding-large-vertical;\n}\n\n.user-dropdown .badge {\n  background-color: @brand-danger;\n}\n\n.user-dropdown {\n  a:hover,\n  a:focus,\n  a:active,\n  .btn-link:hover,\n  .btn-link:focus,\n  .btn-link:active {\n    .badge {\n      background-color: #fff;\n\n      color: @brand-danger;\n    }\n  }\n}\n\n// Mobile dropdown\n.mobile-dropdown.open {\n  margin: 0px;\n}\n","//\n// Flavor Navbar\n// --------------------------------------------------\n\n.navbar-misago {\n  border-bottom: none;\n  box-shadow: 0px 0px 3px @navbar-default-border;\n}\n\n// Round up user's avatar\n.navbar-misago .user-avatar {\n  background: #fff;\n  border-radius: @border-radius-small;\n}\n\n// Round up brand's icon\n.navbar-misago .brand-link img {\n  border-radius: @border-radius-small;\n}\n","//\n// Search Dropdown\n// --------------------------------------------------\n\n.dropdown-search-results {\n  border-radius: 0px 0px @border-radius-base @border-radius-base;\n}\n\n.dropdown-search-message {\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-large-vertical @padding-large-horizontal;\n\n  color: @text-muted;\n}\n\n.dropdown-search-loader {\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-large-vertical @padding-large-horizontal;\n}\n\n.dropdown-search-header {\n  border-top: 1px solid @gray-lighter;\n  padding: 8px 20px;\n\n  color: @text-muted;\n  font-weight: bold;\n}\n\n// result\n.dropdown-search-thread,\n.dropdown-search-user {\n  small {\n    color: @text-muted;\n  }\n}\n\n.dropdown-search-thread {\n  .dropdown-search-post-content {\n    overflow: hidden;\n    white-space: normal;\n    max-height: 47px;\n  }\n\n  .dropdown-search-post-footer {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n}\n\n// footer\n.dropdown-search-footer {\n  padding-bottom: @padding-small-vertical;\n\n  &:last-child {\n    padding-bottom: 0px;\n  }\n}\n\n.dropdown-menu > li.dropdown-search-footer > a {\n  font-size: small;\n}\n","//\n// Flavor Header\n// --------------------------------------------------\n\n// Graphic background\n.page-header {\n  background: none; // we'll use header handler for that\n  border-bottom: none;\n}\n\n.page-header-bg {\n  background: @page-header-bg;\n  background-size: cover;\n\n  @media screen and (min-width: @screen-md-min) {\n    margin-bottom: @line-height-computed * 2;\n  }\n}\n\n// Min-height the line on headless pages\n.page-header-bg {\n  min-height: @page-header-min-height;\n}\n\n// Item colors\n.page-header {\n  h1 {\n    color: @page-header-color;\n    font-weight: 400;\n  }\n}\n\n// Buttons\n.page-header .btn-outline {\n  &.btn-default {\n    .misago-btn(\n      @page-header-btn-default-color,\n      @page-header-btn-default-bg,\n\n      @page-header-btn-default-hover-color,\n      @page-header-btn-default-hover-bg,\n\n      @page-header-btn-default-active-color,\n      @page-header-btn-default-active-bg\n    );\n  }\n\n  &.btn-primary {\n    .misago-btn(\n      @page-header-btn-primary-color,\n      @page-header-btn-primary-bg,\n\n      @page-header-btn-primary-hover-color,\n      @page-header-btn-primary-hover-bg,\n\n      @page-header-btn-primary-active-color,\n      @page-header-btn-primary-active-bg\n    );\n  }\n}\n\n// Stats\n.header-stats {\n  color: @page-header-text-color;\n\n  li {\n    a,\n    a:link,\n    a:visited {\n      color: @page-header-link-color;\n    }\n\n    a:hover,\n    a:focus,\n    a:active {\n      color: @page-header-link-hover-color;\n    }\n\n    .user-status.user-offline {\n      .status-icon {\n        color: @page-header-text-color;\n      }\n    }\n  }\n}\n\n// Go back\n.page-header .go-back-sm {\n  &,\n  &:link,\n  &:visited {\n    color: @page-header-text-color;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: @page-header-link-hover-color;\n  }\n}\n\n// Breadcrumbs\n.page-header .breadcrumb {\n  color: @page-header-text-color;\n\n  a,\n  a:link,\n  a:visited {\n    color: @page-header-text-color;\n  }\n\n  a:hover,\n  a:focus,\n  a:active {\n    color: @page-header-link-color;\n  }\n\n  li:before {\n    color: @page-header-text-color;\n  }\n}\n\n// Header tabs\n.page-header .page-tabs {\n  background-color: @page-tabs-bg;\n  margin-top: @line-height-computed * 1.66;\n\n  li a {\n    font-weight: bold;\n\n    &,\n    &:link,\n    &:visited {\n      background-color: @page-tabs-link-bg;\n      border-radius: @border-radius-small @border-radius-small 0 0;\n\n      color: @page-tabs-link-color;\n    }\n\n    &:hover,\n    &:focus {\n      background-color: @page-tabs-link-hover-bg;\n\n      color: @page-tabs-link-hover-color;\n\n      @media screen and (max-width: @screen-sm-max) {\n        // sticky hover on touch devices is confusing, so don.t add it\n        background-color: @page-tabs-link-bg;\n\n        color: @page-tabs-link-color;\n      }\n    }\n  }\n\n  li.active a {\n    &,\n    &:link,\n    &:active,\n    &:visited,\n    &:hover,\n    &:focus {\n      background-color: @page-tabs-link-active-bg;\n\n      color: @page-tabs-link-active-color;\n    }\n  }\n}\n","//\n// Flavor Footer\n// --------------------------------------------------\n\n// Make footer full width\n.misago-footer {\n  margin-top: @line-height-computed * 2;\n\n  .footer-content {\n    border-top: 1px solid @gray-lighter;\n    padding-top: @line-height-computed * 1;\n\n    color: @page-footer-text-color;\n\n    @media screen and (max-width: @screen-xs-max) {\n      text-align: center;\n\n      .site-footnote {\n        clear: both;\n        margin-bottom: @line-height-computed * 0.75;\n      }\n    }\n\n    a,\n    a:link,\n    a:visited {\n      color: @page-footer-link-color;\n    }\n\n    a:hover,\n    a:focus {\n      color: @page-footer-link-hover-color;\n    }\n\n    .misago-branding {\n      &,\n      &:link,\n      &:visited {\n        color: @page-footer-brand-color;\n      }\n\n      &:hover,\n      &:focus {\n        color: @page-footer-brand-hover-color;\n      }\n    }\n  }\n}\n","//\n// List Groups Flavor\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @list-group-border-radius;\n\n  .list-group-item {\n    border-left-color: @list-group-outer-border;\n    border-right-color: @list-group-outer-border;\n  }\n\n  .list-group-item:first-child {\n    border-top-color: @list-group-outer-border;\n  }\n\n  .list-group-item:last-child {\n    border-bottom-color: @list-group-outer-border;\n  }\n}\n\n.list-group-item.empty-message {\n  padding-top: @line-height-computed;\n  padding-bottom: @line-height-computed;\n\n  text-align: center;\n\n  p {\n    margin: @line-height-computed / 2 0px;\n  }\n}\n","//\n// Navs Flavor\n// --------------------------------------------------\n\n.nav-side {\n  .box-shadow(none);\n}\n\n.nav-side > .list-group-item {\n  border-left: none;\n  border-right: none;\n  margin-bottom: 1px;\n\n  &:first-child {\n    border-top: none;\n  }\n\n  &:last-child {\n    border-bottom: none;\n  }\n\n  &,\n  &:link,\n  &:visited {\n    background: @side-nav-bg;\n    border: none;\n\n    color: @side-nav-color;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    background: @side-nav-hover-bg;\n\n    color: @side-nav-hover-color;\n  }\n\n  &.active {\n    &,\n    &:link,\n    &:visited,\n    &:hover,\n    &:focus,\n    &:active {\n      background: @side-nav-active-bg;\n\n      color: @side-nav-active-color;\n      font-weight: bold;\n\n      .badge {\n        background: @side-nav-bg;\n\n        color: @side-nav-color;\n      }\n    }\n  }\n}\n","//\n// Username History Flavor\n// --------------------------------------------------\n\n.username-history .user-avatar {\n  border-radius: @border-radius-base;\n}\n","//\n// Panels Flavor\n// --------------------------------------------------\n\n.panel {\n  border: none;\n  border-radius: @border-radius-base;\n\n  .panel-heading,\n  .panel-footer {\n    background: @panel-bg;\n  }\n\n  .panel-title {\n    color: @panel-title-color;\n  }\n\n  .form-group + .form-group {\n    margin-top: @line-height-computed;\n  }\n\n  .panel-body > .form-group:first-child {\n    margin-top: @line-height-computed / 2;\n  }\n\n  fieldset {\n    margin-top: @line-height-computed;\n\n    &:first-child {\n      margin-top: 0px;\n    }\n\n    legend {\n      border: none;\n\n      color: @panel-fieldset-color;\n      font-weight: 300;\n    }\n  }\n}\n\n// use default message icon color for panel messages\n.panel-message-body .message-icon {\n  color: @message-icon-color;\n}\n","//\n// Forms Flavor\n// --------------------------------------------------\n\n.panel-form {\n  border: 1px solid @panel-form-border;\n  box-shadow: none;\n}\n\n.panel-form .panel-heading,\n.panel-form .panel-footer {\n  border-color: @panel-form-border;\n}\n\n// remove bottom margin from poll panel\n.poll-form .panel {\n  margin: 0px;\n}\n\n// Override help text color\n.help-block,\n.help-block .text-small {\n  color: @gray-light;\n}\n","//\n// Categories Lists Flavor\n// --------------------------------------------------\n\n// Make category read status icon visually larger\n.category-main .media-left {\n  .read-status {\n    background: @category-read-color;\n    border-radius: @border-radius-base;\n    padding: @padding-small-vertical (@padding-large-vertical - 2px);\n  }\n\n  .material-icon {\n    height: 14px;\n    width: 14px;\n\n    color: @gray;\n    font-size: 14px;\n    line-height: 14px;\n  }\n\n  .read-status.item-new {\n    background-color: @category-new-color;\n\n    .material-icon {\n      color: #fff;\n    }\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding: @padding-small-vertical 0px;\n  }\n}\n\n// Fix category main alignment\n.category-main .media-body {\n  padding-left: @padding-base-horizontal;\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-left: @padding-small-horizontal / 3;\n  }\n}\n\n.list-group-category-no-description {\n  .category-main .media-heading {\n    margin-top: @padding-large-vertical;\n\n    @media screen and (max-width: @screen-xs-max) {\n      margin-top: @padding-large-vertical / 2;\n    }\n  }\n}\n\n// Make category name larger\n.category-main .media-heading {\n  a,\n  a:link,\n  a:visited {\n    color: @gray-dark;\n  }\n\n  a:focus,\n  a:hover,\n  a:active {\n    color: @text-color;\n  }\n}\n\n// Fade out stats\n.category-stats {\n  color: @gray;\n}\n\n// Fade out category description\n.category-main .category-description p {\n  font-size: @font-size-small;\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Round last poster's up avatar\n.category-last-thread img {\n  background-color: #fff;\n  border-radius: @border-radius-base;\n}\n\n// Last thread\n.category-last-thread .media-heading {\n  margin-bottom: 2px;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @line-height-computed / 2;\n  }\n}\n\n.category-last-thread .list-inline {\n  color: @gray-light;\n  font-size: @font-size-small;\n\n  a,\n  a:link,\n  a:visited {\n    color: @gray-light;\n  }\n\n  a:hover,\n  a:active,\n  a:focus {\n    color: @gray-dark;\n  }\n\n  .item-title {\n    &,\n    &:link,\n    &:visited {\n      color: @gray-dark;\n    }\n\n    &:hover,\n    &:active,\n    &:focus {\n      color: @text-color;\n    }\n  }\n}\n\n// Last thread message\n.category-thread-message {\n  color: @gray-light;\n\n  .material-icon {\n    padding: @padding-base-vertical 0px;\n    margin-right: @padding-base-vertical / 2;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-top: @line-height-computed * 0.75;\n\n    font-size: @font-size-small;\n\n    .material-icon {\n      padding: 3px 0px;\n    }\n  }\n}\n","//\n// Thread Participants Flavor\n// --------------------------------------------------\n\n.panel-participants {\n  border: 1px solid @panel-form-border;\n}\n\n.participant-card .btn-user {\n  border: 0px !important;\n}\n\n.participant-card .dropdown-header-owner {\n  color: @brand-primary;\n\n  .material-icon {\n    width: 14px;\n    height: 14px;\n\n    font-size: 14px;\n    line-height: 14px;\n  }\n\n  .icon-text {\n    margin-left: 4px;\n\n    position: relative;\n    top: 2px;\n  }\n}\n\n.panel-participants p {\n  color: @gray-light;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @line-height-computed / 2;\n\n    text-align: center;\n  }\n}\n","//\n// Polls Flavor\n// --------------------------------------------------\n\n.panel-poll {\n  border: 1px solid @panel-form-border;\n}\n\n// Poll vote form\n.panel-poll .poll-select-choices {\n  margin-top: @line-height-computed / -2;\n}\n\n// Poll results styles\n.panel-poll .poll-details {\n  margin-bottom: @line-height-computed;\n\n  color: @gray-light;\n  font-size: @font-size-small;\n}\n\n.panel-poll .progress {\n  margin-top: @line-height-computed / 3;\n  margin-bottom: @line-height-computed / 4;\n}\n\n.panel-poll .poll-chart {\n  color: @gray-light;\n  font-size: @font-size-small;\n}\n\n.panel-poll .poll-options {\n  margin-top: @line-height-computed;\n}\n","//\n// Posting Form Flavor\n// --------------------------------------------------\n\n#posting-placeholder {\n  background-color: #fafbfc;\n}\n\n.posting-message {\n  .material-icon {\n    color: @message-info-icon-color;\n  }\n\n  .btn {\n    margin-top: @line-height-computed;\n  }\n}\n","//\n// Posts Flavor\n// --------------------------------------------------\n\n// Post body\n.panel-post {\n  background: @post-bg;\n  border: 1px solid @post-border;\n}\n\n// Post side\n.post-side {\n  color: @gray-light;\n\n  .poster-avatar {\n    border-radius: @border-radius-base;\n  }\n\n  .user-title {\n    color: @gray;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @gray;\n    }\n  }\n}\n\n// Header\n.post-heading {\n  .label-unread {\n    background-color: @post-unread-label;\n    margin-right: @padding-large-horizontal;\n  }\n\n  .label-protected {\n    background-color: transparent;\n    margin-left: @padding-base-horizontal * 2;\n\n    position: relative;\n    top: 1px;\n\n    color: @post-protected-icon;\n\n    .material-icon {\n      margin-right: 2px;\n\n      position: relative;\n      top: -1px;\n\n      font-size: 16px;\n      line-height: 16px;\n    }\n  }\n\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n\n    &,\n    &:link,\n    &:visited {\n      color: @gray-light;\n    }\n\n    &:hover,\n    &:focus,\n    &:focus:active,\n    &:active {\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n\n  .btn-see-edits {\n    margin-left: @padding-base-horizontal * 2;\n  }\n}\n\n// Status\n.post-status-message {\n  border-radius: @border-radius-base;\n  margin-top: @line-height-computed / 2;\n  padding: @padding-base-vertical @padding-base-horizontal;\n\n  @media screen and (max-width: @screen-xs-max) {\n    font-size: @font-size-small;\n\n    .material-icon {\n      margin-top: 3px;\n    }\n\n    p {\n      margin-top: 0px;\n    }\n  }\n}\n\n// Post body\n.post-body:last-child {\n  padding-bottom: @line-height-computed / 2;\n}\n\n// Attachments\n.post-attachments {\n  background-color: @gray-lighter;\n  border: none;\n  border-radius: @border-radius-base;\n  margin-bottom: @line-height-computed * 1.5;\n\n  &:last-child {\n    margin-bottom: @line-height-computed / 2;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    border-radius: 0px;\n    margin: 0px -15px;\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Footer\n.post-footer {\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n\n    &,\n    &:link,\n    &:visited {\n      color: @gray-light;\n    }\n\n    &:hover,\n    &:focus,\n    &:focus:active,\n    &:active {\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n\n  p {\n    color: @gray-light;\n    font-size: @font-size-small;\n  }\n}\n\n// Hidden and invalid messages\n.post-body-hidden,\n.post-body-invalid {\n  padding-top: @line-height-computed / 2;\n  padding-bottom: @line-height-computed / 2;\n\n  .lead {\n    margin-bottom: @line-height-computed / 2;\n  }\n\n  .text-muted {\n    margin-bottom: 0px;\n\n    font-size: @font-size-small;\n  }\n}\n\n// Fade out hidden posts a little\n.post-hidden {\n  .opacity(0.75);\n}\n","//\n// Post Feed Flavor\n// --------------------------------------------------\n\n.post-feed .panel-body {\n  padding-bottom: 0px;\n}\n\n.post-feed .post-body {\n  position: relative;\n  padding-top: 0px;\n  padding-bottom: @line-height-computed;\n  max-height: 300px;\n  overflow-y: hidden;\n\n  &:after {\n    box-shadow: 0px 0px 16px 16px #ffffff;\n    display: block;\n\n    position: absolute;\n    bottom: 0px;\n\n    height: 0px;\n    width: 100%;\n\n    content: \"-\";\n    color: transparent;\n  }\n}\n","//\n// Events Flavor\n// --------------------------------------------------\n\n// Style label\n.posts-list .event .event-label {\n  margin-bottom: @line-height-computed / 4;\n}\n\n.posts-list .event .label-unread {\n  background-color: @post-unread-label;\n\n  color: #fff;\n}\n\n// Style info text\n.posts-list .event-info {\n  a,\n  a:link,\n  a:visited,\n  .btn-link {\n    color: @gray;\n  }\n\n  a:focus,\n  a:active,\n  a:focus:active,\n  .btn-link:focus,\n  .btn-link:active,\n  .btn-link:focus:active {\n    color: @text-color;\n  }\n}\n\n// Fade out hidden event\n.posts-list .event-hidden {\n  .opacity(0.33);\n}\n","//\n// User Card Flavor\n// --------------------------------------------------\n\n// Background color\n.user-card {\n  background: @user-card-bg;\n}\n\n// Round avatar corners\n.user-card-small-avatar,\n.user-card-avatar {\n  img {\n    border-radius: @border-radius-base;\n  }\n}\n\n// Sizing and spacing on large avatar\n.user-card-avatar {\n  margin: @line-height-computed 0px;\n\n  img {\n    width: 150px;\n    height: 150px;\n  }\n}\n\n// Upsize the user name\n.user-card-username {\n  a,\n  a:link,\n  a:visited,\n  a:hover,\n  a:focus,\n  a:active {\n    color: @text-color;\n    font-size: @font-size-large;\n    font-weight: bold;\n  }\n}\n\n// User title\n.user-card-title {\n  span,\n  a,\n  a:link,\n  a:visited {\n    color: @gray;\n  }\n\n  a:focus,\n  a:hover,\n  a:active {\n    color: @text-color;\n  }\n}\n\n// User stats\n.user-card-stats {\n  @media screen and (min-width: @screen-sm-min) {\n    margin-top: @line-height-computed;\n  }\n\n  ul {\n    margin: 0px;\n  }\n\n  li {\n    display: inline-block;\n    margin-right: @padding-base-horizontal;\n\n    color: @gray-light;\n    font-size: @font-size-small;\n\n    @media screen and (min-width: @screen-sm-min) {\n      margin: 0px @padding-base-horizontal / 2;\n    }\n  }\n\n  li.user-stat-empty {\n    display: none;\n  }\n}\n\n// Divide stats in two on larger screen\n@media screen and (min-width: @screen-sm-min) {\n  li.user-stat-divider {\n    display: block;\n    margin: 0px;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  li.user-stat-divider {\n    display: none;\n  }\n}\n\n// Make stats 60px min height on tablets and up\n@media screen and (min-width: @screen-sm-min) {\n  .user-card-stats {\n    min-height: 60px;\n  }\n}\n\n// Reduce gutter on small grid\n@media screen and (max-width: @screen-xs-max) {\n  .user-card-left {\n    padding-right: 0px;\n  }\n}\n","//\n// Progress Bars Flavor\n// --------------------------------------------------\n\n// Make progress bars flat\n.progress,\n.progress .progress-bar {\n  .box-shadow(none);\n\n  height: 8px;\n}\n","//\n// Markup Flavor\n// --------------------------------------------------\n\n// Round images\n.misago-markup img {\n  border-radius: @border-radius-base;\n}\n\n// Quote block\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background-color: #ffecb3;\n  border-color: #b3e5fc;\n  overflow: hidden;\n\n  color: #3e2723;\n\n  .quote-heading {\n    background-color: #ffe082;\n    border: none;\n\n    color: #795548;\n\n    a,\n    a:link,\n    a:visited {\n      color: #5d4037;\n    }\n\n    a:hover,\n    a:focus,\n    a:active {\n      color: #3e2723;\n    }\n  }\n\n  hr {\n    border-color: #ffca28;\n  }\n}\n\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  background: #ffecb3;\n  border: none;\n  border-radius: @border-radius-base;\n\n  .quote-block {\n    background: #ffecb3;\n  }\n}\n\n.misago-markup .quote-body {\n  background: #ffecb3;\n\n  & > .quote-block,\n  & > blockquote {\n    border-color: #ffe082;\n    border-radius: @border-radius-base;\n  }\n}\n\n// Spoiler block\n.misago-markup .spoiler-block {\n  background: repeating-linear-gradient(\n    45deg,\n    fadeout(@gray-lighter, 50%),\n    fadeout(@gray-lighter, 50%) 10px,\n    @post-bg 10px,\n    @post-bg 20px\n  );\n  border: none;\n}\n\n.misago-markup .spoiler-body {\n  background: transparent;\n  -webkit-filter: blur(5px);\n  -moz-filter: blur(5px);\n  -o-filter: blur(5px);\n  -ms-filter: blur(5px);\n  filter: blur(5px);\n  color: @text-color;\n}\n\n.misago-markup .spoiler-block.revealed .spoiler-body {\n  -webkit-filter: none;\n  -moz-filter: none;\n  -o-filter: none;\n  -ms-filter: none;\n  filter: none;\n}\n\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: fadeout(@post-bg, 90%);\n}\n\n.misago-markup .spoiler-reveal {\n  .btn-default();\n}\n\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal:hover {\n  border-radius: 4px;\n  box-shadow: 0px 0px 0px 4px @post-bg;\n  padding: @padding-base-vertical @padding-base-horizontal;\n}\n","//\n// Modal Flavor\n// --------------------------------------------------\n\n// Custom header styles\n.modal-header {\n  background: @modal-header-bg;\n  border-bottom-color: @modal-header-border-color;\n  border-radius: @border-radius-large @border-radius-large 0px 0px;\n\n  color: @modal-header-color;\n\n  .close {\n    padding: 0px 6px;\n\n    color: @modal-header-color;\n    font-size: 24px;\n    line-height: 24px;\n    text-shadow: none;\n  }\n}\n\n// Color message icon\n.modal-message .message-icon {\n  color: @message-icon-color;\n}\n\n// Even out space between form fields\n.modal-body > .form-group {\n  margin: @line-height-computed 0px;\n\n  &:first-child {\n    margin-top: 0px;\n  }\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Sign in modal\n.modal-sign-in {\n  .modal-body {\n    padding-top: 0px;\n    padding-bottom: 0px;\n\n    & > .form-group {\n      margin: @line-height-computed 0px;\n    }\n  }\n}\n\n// Register modal\n.legal-footnote {\n  label {\n    font-weight: bold;\n  }\n\n  .help-block {\n    margin-left: 20px;\n\n    color: @brand-danger;\n  }\n}\n\n// Avatar crop\n.modal-avatar-index {\n  .avatar-preview {\n    background: #fff;\n    border-radius: @border-radius-large;\n  }\n}\n\n.modal-avatar-crop {\n  .cropit-preview {\n    background: #fff;\n    margin: @line-height-computed 0px;\n  }\n\n  .cropit-image-zoom-input {\n    margin-top: @line-height-computed * 2;\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Post likes\n.modal-post-likers {\n  .media {\n    border-bottom: 1px solid @gray-lighter;\n    padding-bottom: 15px; // hardcoded in BS less\n\n    img {\n      border-radius: @border-radius-base;\n\n      width: 40px;\n      height: 40px;\n    }\n\n    &:last-child {\n      border: none;\n      padding-bottom: 0px;\n    }\n  }\n}\n","//\n// Well Flavor\n// --------------------------------------------------\n\n.well {\n  border: 1px solid @well-border;\n}\n","//\n// Active Posters Flavor\n// --------------------------------------------------\n\n.active-posters .rank-user-avatar img {\n  border-radius: @border-radius-base;\n}\n\n.active-posters .user-details {\n  color: @gray-light;\n\n  a.rank-name {\n    &,\n    &:link,\n    &:visited {\n      color: @gray;\n      font-weight: normal;\n    }\n\n    &:focus,\n    &:hover,\n    &:active {\n      color: @text-color;\n    }\n  }\n\n  span.rank-name {\n    color: @gray;\n    font-weight: normal;\n  }\n}\n\n.active-posters small {\n  color: @gray-light;\n}\n","//\n// Message Pages Flavor\n// --------------------------------------------------\n\n.page-error .message-icon {\n  color: @error-icon-color;\n}\n\n.page-message .message-icon {\n  color: @message-icon-color;\n}\n\n.page-message-info .message-icon {\n  color: @message-info-icon-color;\n}\n\n.page-message-success .message-icon {\n  color: @message-success-icon-color;\n}\n","//\n// User Options Flavor\n// --------------------------------------------------\n\n.page-options .message-line {\n  color: @gray-light;\n\n  a,\n  a:link,\n  a:visited {\n    color: @gray-light;\n  }\n\n  a:hover,\n  a:focus,\n  a:focus:active,\n  a:active {\n    color: @text-color;\n  }\n}\n","//\n// User Profile Flavor\n// --------------------------------------------------\n\n// Text align disabled account node\n.page-user-profile .page-header .alert {\n  text-align: center;\n}\n\n// Style user's avatar\n.page-user-profile .page-header {\n  img {\n    background-color: #fff;\n    border: 3px solid #fff;\n    border-radius: @border-radius-large;\n    .shadow-2dp();\n  }\n\n  .user-status .status-icon {\n    width: 14px;\n    height: 14px;\n\n    font-size: 14px;\n    line-height: 14px;\n  }\n}\n\n.page-user-profile .profile-side-avatar {\n  img {\n    background-color: #fff;\n    border: 3px solid #fff;\n    border-radius: @border-radius-large;\n    .shadow-4dp();\n  }\n}\n","//\n// Profile Details\n// --------------------------------------------------\n\n.panel-profile-details-group.panel {\n  border: 1px solid @panel-form-border;\n}\n\n.panel-profile-details-group.panel .form-group {\n  margin: 0px;\n}\n\n.panel-profile-details-group .form-control-static {\n  p:last-child {\n    margin-bottom: 0px;\n  }\n}\n","//\n// Default flavors for user ranks\n// --------------------------------------------------\n\n.post-rank-flavor(@border, @title) {\n  .panel-post {\n    border-color: @border;\n  }\n\n  .user-title {\n    color: @title;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @title;\n    }\n  }\n}\n\n.card-rank-flavor(@border, @title, @color) {\n  .panel-body {\n    background: @body-bg;\n    border: 2px solid @border;\n    border-radius: @panel-border-radius;\n    padding: @panel-body-padding - 2px;\n  }\n\n  .user-card-title {\n    color: @title;\n\n    a.user-title {\n      &,\n      &:link,\n      &:visited,\n      &:focus,\n      &:hover,\n      &:active {\n        color: @title;\n      }\n    }\n  }\n\n  .user-card-stats li {\n    color: @color;\n  }\n}\n\n.list-group-rank-flavor(@border, @title) {\n  border-left: 4px solid @border;\n  padding-left: 11px;\n\n  span.rank-name {\n    color: @title;\n  }\n\n  a.rank-name {\n    &,\n    &:link,\n    &:visited,\n    &:focus,\n    &:hover,\n    &:active {\n      color: @title;\n    }\n  }\n}\n\n.user-profile-rank-flavor(@color) {\n  .user-rank {\n    color: @color;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @color;\n    }\n  }\n}\n\n// Posts\n.post-primary {\n  .post-rank-flavor(#b388ff, #6200ea);\n}\n\n.post-success {\n  .post-rank-flavor(#00c853, #388e3c);\n}\n\n.post-warning {\n  .post-rank-flavor(#ffab40, #ff6d00);\n}\n\n.post-danger {\n  .post-rank-flavor(#ff8a80, #d50000);\n}\n\n// Cards\n.user-card-primary {\n  .card-rank-flavor(#b388ff, #6200ea, #9575cd);\n}\n\n.user-card-success {\n  .card-rank-flavor(#00c853, #388e3c, #66bb6a);\n}\n\n.user-card-warning {\n  .card-rank-flavor(#ffab40, #ff6d00, #ff6e40);\n}\n\n.user-card-danger {\n  .card-rank-flavor(#ff8a80, #d50000, #e57373);\n}\n\n// Posters ranking\n.list-group {\n  .list-group-rank-primary {\n    .list-group-rank-flavor(#7e57c2, #6200ea);\n  }\n\n  .list-group-rank-success {\n    .list-group-rank-flavor(#9ccc65, #388e3c);\n  }\n\n  .list-group-rank-warning {\n    .list-group-rank-flavor(#ff7043, #ff6d00);\n  }\n\n  .list-group-rank-danger {\n    .list-group-rank-flavor(#f44336, #d50000);\n  }\n}\n\n// User profiles\n.page-header-rank-primary {\n  .user-profile-rank-flavor(#6200ea);\n}\n\n.page-header-rank-success {\n  .user-profile-rank-flavor(#388e3c);\n}\n\n.page-header-rank-warning {\n  .user-profile-rank-flavor(#ff6d00);\n}\n\n.page-header-rank-danger {\n  .user-profile-rank-flavor(#d50000);\n}\n"],"names":[],"sourceRoot":""}
+{"version":3,"file":"../css/misago.css","mappings":"AAAA,2EAA2E,CCU3E,KAEE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDNF,CCeA,KACE,QDbF,CC0BA,2FAaE,aDxBF,CCgCA,4BAIE,oBAAqB,CACrB,uBD9BF,CCsCA,sBACE,YAAa,CACb,QDpCF,CC4CA,kBAEE,YD1CF,CCoDA,EACE,4BDlDF,CC0DA,iBAEE,SDxDF,CCmEA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCDjEF,CCwEA,SAEE,eDtEF,CC6EA,IACE,iBD3EF,CCmFA,GACE,aAAc,CACd,cDjFF,CCwFA,KACE,eAAgB,CAChB,UDtFF,CC6FA,MACE,aD3FF,CCkGA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDhGF,CCmGA,IACE,SDjGF,CCoGA,IACE,aDlGF,CC4GA,IACE,QD1GF,CCiHA,eACE,eD/GF,CCyHA,OACE,eDvHF,CC8HA,GACE,sBAAuB,CACvB,QD5HF,CCmIA,IACE,aDjIF,CCwIA,kBAIE,+BAAiC,CACjC,aDtIF,CCwJA,sCAKE,aAAc,CACd,YAAa,CACb,QDtJF,CC6JA,OACE,gBD3JF,CCqKA,cAEE,mBDnKF,CC8KA,oEAIE,yBAA0B,CAC1B,cD5KF,CCmLA,sCAEE,cDjLF,CCwLA,iDAEE,QAAS,CACT,SDtLF,CC8LA,MACE,kBD5LF,CCuMA,uCAEE,qBAAsB,CACtB,SDrMF,CC8MA,4FAEE,WD5MF,CCoNA,mBACE,4BAA6B,CAC7B,sBDlNF,CC2NA,+FAEE,uBDzNF,CCgOA,SACE,uBAAyB,CACzB,YAAa,CACb,0BD9NF,CC+OA,SACE,aDzOF,CCiPA,SACE,eD/OF,CCyPA,MACE,wBAAyB,CACzB,gBDvPF,CC0PA,MAEE,SDxPF;AACA,oFAAoF,CE3KpF,aACE,iBAKE,gCAAkC,CAClC,yBAA2B,CAH3B,oBAAsB,CACtB,0BF+KF,CE1KA,YAEE,yBF4KF,CEzKA,cACE,2BF2KF,CExKA,kBACE,4BF0KF,CErKA,gDAEE,UFuKF,CEpKA,eAEE,qBAAsB,CACtB,uBFsKF,CEnKA,MACE,0BFqKF,CElKA,OAEE,uBFoKF,CEjKA,IACE,wBFmKF,CEhKA,QAGE,SAAU,CACV,QFkKF,CE/JA,MAEE,sBFiKF,CE3JA,QACE,YF6JF,CE3JA,gCAGI,+BF4JJ,CEzJA,OACE,qBF2JF,CExJA,OACE,kCF0JF,CE3JA,oBAKI,+BF0JJ,CEvJA,sCAGI,+BFwJJ,CACF,CG7OA,iBC+DE,8BACG,2BACK,qBJuLV,CGhPA,KAEE,yCAA6C,CAD7C,cHmPF,CG/OA,KAKE,sBADA,cAHA,sDACA,eACA,sBHmPF,CG7OA,6BAIE,mBAAoB,CACpB,iBAAkB,CAClB,mBH+OF,CGzOA,EACE,cACA,oBH2OF,CGzOE,gBAEE,cACA,yBH2OJ,CGxOE,QEnDA,yCAA0C,CAC1C,mBL8RF,CGjOA,OACE,QHmOF,CG7NA,IACE,qBH+NF,CG3NA,gBG1EE,cAEA,WAAY,CADZ,cNySF,CG3NA,aACE,iBH6NF,CGvNA,eAGE,sBACA,sBACA,kBG3FA,qBAEA,WAAY,CHsFZ,uBGvFA,cAAe,CHsFf,YCmGA,uCACK,kCACG,8BJ8HV,CGvNA,YACE,iBHyNF,CGnNA,GAGE,QAAS,CACT,6BAFA,mBADA,eHwNF,CG7MA,SAOE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SHqNF,CGvME,mDAOE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UH6MJ,CG9LA,cACE,cHgMF,COrVA,0CAKE,cAHA,oBACA,gBACA,ePkWF,COtWA,gPAWI,cAFA,eAAgB,CAChB,aPwXJ,COnXA,qBAIE,mBADA,ePyXF,CO5XA,wHAQI,aPkYJ,CO/XA,qBAIE,mBADA,ePqYF,COxYA,wHAQI,aP8YJ,CO1YA,OAAU,cP8YV,CO7YA,OAAU,cPiZV,COhZA,OAAU,cPoZV,COnZA,OAAU,cPuZV,COtZA,OAAU,cP0ZV,COzZA,OAAU,cP6ZV,COvZA,EACE,ePyZF,COtZA,MAEE,eACA,eAAgB,CAChB,eAAgB,CAHhB,kBP2ZF,COtZE,+BACE,cPyZF,CACF,COjZA,aAEE,aPmZF,COhZA,WAGE,yBADA,YPmZF,CO9YA,WAAuB,ePiZvB,COhZA,YAAuB,gBPmZvB,COlZA,aAAuB,iBPqZvB,COpZA,cAAuB,kBPuZvB,COtZA,aAAuB,kBPyZvB,COtZA,gBAAuB,wBPyZvB,COxZA,gBAAuB,wBP2ZvB,CO1ZA,iBAAuB,yBP6ZvB,CO1ZA,YACE,aP4ZF,CO1ZA,cCvGE,aRogBF,CQngBE,0CAEE,aRqgBJ,CO9ZA,cC1GE,aR2gBF,CQ1gBE,0CAEE,aR4gBJ,COlaA,WC7GE,aRkhBF,CQjhBE,oCAEE,aRmhBJ,COtaA,cChHE,aRyhBF,CQxhBE,0CAEE,aR0hBJ,CO1aA,aCnHE,aRgiBF,CQ/hBE,wCAEE,aRiiBJ,CO1aA,YE1HE,yBF6HA,UP2aF,CSviBE,sCAEE,wBTyiBJ,CO5aA,YEhIE,wBT+iBF,CS9iBE,sCAEE,wBTgjBJ,COhbA,SEnIE,wBTsjBF,CSrjBE,gCAEE,wBTujBJ,COpbA,YEtIE,wBT6jBF,CS5jBE,sCAEE,wBT8jBJ,COxbA,WEzIE,wBTokBF,CSnkBE,oCAEE,wBTqkBJ,COvbA,aAGE,gCADA,mBADA,kBP2bF,COjbA,MAGE,mBADA,YPobF,COtbA,wBAMI,ePsbJ,COzaA,4BAJE,eAAgB,CADhB,cPubF,COlbA,aAEE,gBPgbF,COlbA,gBAKI,oBAAqB,CAErB,gBAAiB,CADjB,iBPibJ,CO3aA,GAEE,mBADA,YP8aF,CO3aA,MAEE,sBP6aF,CO3aA,GACE,eP6aF,CO3aA,GACE,aP6aF,COhaE,2CAII,UAAW,CAFX,UAAW,CGrNf,eAAgB,CHwNZ,gBAAiB,CGvNrB,sBAAuB,CACvB,kBAAmB,CHoNf,WPuaJ,CO1aA,kBASI,iBPoaJ,CACF,CO1ZA,sCAEE,WP4ZF,COzZA,YACE,aAAc,CA9IO,wBP0iBvB,COvZA,WAIE,8BADA,iBADA,gBADA,iBP4ZF,COpZI,0EACE,ePwZN,COlaA,qDAsBI,cAHA,aAAc,CACd,aAAc,CACd,sBPqZJ,COlZI,0EACE,qBPsZN,CO9YA,0CAME,aAAc,CADd,+BAFA,cAAe,CADf,kBAAmB,CAEnB,gBPkZF,CO1YI,gNAAW,UPkZf,COjZI,0MACE,qBPwZN,COlZA,QAEE,iBAAkB,CAClB,uBAFA,kBPsZF,CW5rBA,kBAIE,uDX8rBF,CW1rBA,KAIE,yBACA,kBAFA,aX8rBF,CWxrBA,SAPE,aAAc,CADd,eXwsBF,CWhsBA,IAIE,sBACA,kBACA,0CAHA,UX6rBF,CWhsBA,QAYI,eAAgB,CAFhB,cAAe,CACf,eAAgB,CAFhB,SX6rBJ,CWrrBA,IAQE,oBAAqB,CACrB,yBACA,sBACA,kBALA,cALA,aAAc,CAGd,eACA,uBAFA,gBADA,cAKA,oBX2rBF,CWlsBA,SAmBI,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBXwrBJ,CWjrBA,gBACE,iBACA,iBXmrBF,CY7uBA,WCAE,gBAAiB,CADjB,iBAAkB,CADlB,kBADA,kBbsvBF,CYhvBE,oCACE,WZmvBF,CACF,CYlvBE,oCACE,WZqvBF,CACF,CYpvBE,qCACE,YZuvBF,CACF,CY9uBA,iBCpBE,gBAAiB,CADjB,iBAAkB,CADlB,kBADA,kBb2wBF,CY3uBA,KCtBE,kBADA,kBbswBF,CY3uBA,gBAEE,aAAc,CADd,cZ8uBF,CY/uBA,8BAMI,cAAe,CADf,eZ8uBJ,Cc7xBC,4eCmBK,cAAe,CAGf,kBADA,mBAJA,iBfi0BN,Ccl1BC,2HCuCK,UfyzBN,Cch2BC,WC+CG,UfozBJ,Ccn2BC,WC+CG,kBfuzBJ,Cct2BC,WC+CG,kBf0zBJ,Ccz2BC,UC+CG,Sf6zBJ,Cc52BC,UC+CG,kBfg0BJ,Cc/2BC,UC+CG,kBfm0BJ,Ccl3BC,UC+CG,Sfs0BJ,Ccr3BC,UC+CG,kBfy0BJ,Ccx3BC,UC+CG,kBf40BJ,Cc33BC,UC+CG,Sf+0BJ,Cc93BC,UC+CG,kBfk1BJ,Ccj4BC,UC+CG,iBfq1BJ,Ccp4BC,gBC8DG,Ufy0BJ,Ccv4BC,gBC8DG,kBf40BJ,Cc14BC,gBC8DG,kBf+0BJ,Cc74BC,eC8DG,Sfk1BJ,Cch5BC,eC8DG,kBfq1BJ,Ccn5BC,eC8DG,kBfw1BJ,Cct5BC,eC8DG,Sf21BJ,Ccz5BC,eC8DG,kBf81BJ,Cc55BC,eC8DG,kBfi2BJ,Cc/5BC,eC8DG,Sfo2BJ,Ccl6BC,eC8DG,kBfu2BJ,Ccr6BC,eC8DG,iBf02BJ,Ccx6BC,eCmEG,Ufw2BJ,Cc36BC,gBCoDG,Sf03BJ,Cc96BC,gBCoDG,iBf63BJ,Ccj7BC,gBCoDG,iBfg4BJ,Ccp7BC,eCoDG,Qfm4BJ,Ccv7BC,eCoDG,iBfs4BJ,Cc17BC,eCoDG,iBfy4BJ,Cc77BC,eCoDG,Qf44BJ,Cch8BC,eCoDG,iBf+4BJ,Ccn8BC,eCoDG,iBfk5BJ,Cct8BC,eCoDG,Qfq5BJ,Ccz8BC,eCoDG,iBfw5BJ,Cc58BC,eCoDG,gBf25BJ,Cc/8BC,eCyDG,Sfy5BJ,Ccl9BC,kBCwEG,gBf64BJ,Ccr9BC,kBCwEG,wBfg5BJ,Ccx9BC,kBCwEG,wBfm5BJ,Cc39BC,iBCwEG,efs5BJ,Cc99BC,iBCwEG,wBfy5BJ,Ccj+BC,iBCwEG,wBf45BJ,Ccp+BC,iBCwEG,ef+5BJ,Ccv+BC,iBCwEG,wBfk6BJ,Cc1+BC,iBCwEG,wBfq6BJ,Cc7+BC,iBCwEG,efw6BJ,Cch/BC,iBCwEG,wBf26BJ,Ccn/BC,iBCwEG,uBf86BJ,Cct/BC,iBCwEG,afi7BJ,CYh7BA,yBEzEC,2HCuCK,Ufi+BJ,CcxgCD,WC+CG,Uf49BF,Cc3gCD,WC+CG,kBf+9BF,Cc9gCD,WC+CG,kBfk+BF,CcjhCD,UC+CG,Sfq+BF,CcphCD,UC+CG,kBfw+BF,CcvhCD,UC+CG,kBf2+BF,Cc1hCD,UC+CG,Sf8+BF,Cc7hCD,UC+CG,kBfi/BF,CchiCD,UC+CG,kBfo/BF,CcniCD,UC+CG,Sfu/BF,CctiCD,UC+CG,kBf0/BF,CcziCD,UC+CG,iBf6/BF,Cc5iCD,gBC8DG,Ufi/BF,Cc/iCD,gBC8DG,kBfo/BF,CcljCD,gBC8DG,kBfu/BF,CcrjCD,eC8DG,Sf0/BF,CcxjCD,eC8DG,kBf6/BF,Cc3jCD,eC8DG,kBfggCF,Cc9jCD,eC8DG,SfmgCF,CcjkCD,eC8DG,kBfsgCF,CcpkCD,eC8DG,kBfygCF,CcvkCD,eC8DG,Sf4gCF,Cc1kCD,eC8DG,kBf+gCF,Cc7kCD,eC8DG,iBfkhCF,CchlCD,eCmEG,UfghCF,CcnlCD,gBCoDG,SfkiCF,CctlCD,gBCoDG,iBfqiCF,CczlCD,gBCoDG,iBfwiCF,Cc5lCD,eCoDG,Qf2iCF,Cc/lCD,eCoDG,iBf8iCF,CclmCD,eCoDG,iBfijCF,CcrmCD,eCoDG,QfojCF,CcxmCD,eCoDG,iBfujCF,Cc3mCD,eCoDG,iBf0jCF,Cc9mCD,eCoDG,Qf6jCF,CcjnCD,eCoDG,iBfgkCF,CcpnCD,eCoDG,gBfmkCF,CcvnCD,eCyDG,SfikCF,Cc1nCD,kBCwEG,gBfqjCF,Cc7nCD,kBCwEG,wBfwjCF,CchoCD,kBCwEG,wBf2jCF,CcnoCD,iBCwEG,ef8jCF,CctoCD,iBCwEG,wBfikCF,CczoCD,iBCwEG,wBfokCF,Cc5oCD,iBCwEG,efukCF,Cc/oCD,iBCwEG,wBf0kCF,CclpCD,iBCwEG,wBf6kCF,CcrpCD,iBCwEG,efglCF,CcxpCD,iBCwEG,wBfmlCF,Cc3pCD,iBCwEG,uBfslCF,Cc9pCD,iBCwEG,afylCF,CACF,CYhlCA,yBElFC,2HCuCK,Uf0oCJ,CcjrCD,WC+CG,UfqoCF,CcprCD,WC+CG,kBfwoCF,CcvrCD,WC+CG,kBf2oCF,Cc1rCD,UC+CG,Sf8oCF,Cc7rCD,UC+CG,kBfipCF,CchsCD,UC+CG,kBfopCF,CcnsCD,UC+CG,SfupCF,CctsCD,UC+CG,kBf0pCF,CczsCD,UC+CG,kBf6pCF,Cc5sCD,UC+CG,SfgqCF,Cc/sCD,UC+CG,kBfmqCF,CcltCD,UC+CG,iBfsqCF,CcrtCD,gBC8DG,Uf0pCF,CcxtCD,gBC8DG,kBf6pCF,Cc3tCD,gBC8DG,kBfgqCF,Cc9tCD,eC8DG,SfmqCF,CcjuCD,eC8DG,kBfsqCF,CcpuCD,eC8DG,kBfyqCF,CcvuCD,eC8DG,Sf4qCF,Cc1uCD,eC8DG,kBf+qCF,Cc7uCD,eC8DG,kBfkrCF,CchvCD,eC8DG,SfqrCF,CcnvCD,eC8DG,kBfwrCF,CctvCD,eC8DG,iBf2rCF,CczvCD,eCmEG,UfyrCF,Cc5vCD,gBCoDG,Sf2sCF,Cc/vCD,gBCoDG,iBf8sCF,CclwCD,gBCoDG,iBfitCF,CcrwCD,eCoDG,QfotCF,CcxwCD,eCoDG,iBfutCF,Cc3wCD,eCoDG,iBf0tCF,Cc9wCD,eCoDG,Qf6tCF,CcjxCD,eCoDG,iBfguCF,CcpxCD,eCoDG,iBfmuCF,CcvxCD,eCoDG,QfsuCF,Cc1xCD,eCoDG,iBfyuCF,Cc7xCD,eCoDG,gBf4uCF,CchyCD,eCyDG,Sf0uCF,CcnyCD,kBCwEG,gBf8tCF,CctyCD,kBCwEG,wBfiuCF,CczyCD,kBCwEG,wBfouCF,Cc5yCD,iBCwEG,efuuCF,Cc/yCD,iBCwEG,wBf0uCF,CclzCD,iBCwEG,wBf6uCF,CcrzCD,iBCwEG,efgvCF,CcxzCD,iBCwEG,wBfmvCF,Cc3zCD,iBCwEG,wBfsvCF,Cc9zCD,iBCwEG,efyvCF,Ccj0CD,iBCwEG,wBf4vCF,Ccp0CD,iBCwEG,uBf+vCF,Ccv0CD,iBCwEG,afkwCF,CACF,CYhvCA,0BE3FC,2HCuCK,UfmzCJ,Cc11CD,WC+CG,Uf8yCF,Cc71CD,WC+CG,kBfizCF,Cch2CD,WC+CG,kBfozCF,Ccn2CD,UC+CG,SfuzCF,Cct2CD,UC+CG,kBf0zCF,Ccz2CD,UC+CG,kBf6zCF,Cc52CD,UC+CG,Sfg0CF,Cc/2CD,UC+CG,kBfm0CF,Ccl3CD,UC+CG,kBfs0CF,Ccr3CD,UC+CG,Sfy0CF,Ccx3CD,UC+CG,kBf40CF,Cc33CD,UC+CG,iBf+0CF,Cc93CD,gBC8DG,Ufm0CF,Ccj4CD,gBC8DG,kBfs0CF,Ccp4CD,gBC8DG,kBfy0CF,Ccv4CD,eC8DG,Sf40CF,Cc14CD,eC8DG,kBf+0CF,Cc74CD,eC8DG,kBfk1CF,Cch5CD,eC8DG,Sfq1CF,Ccn5CD,eC8DG,kBfw1CF,Cct5CD,eC8DG,kBf21CF,Ccz5CD,eC8DG,Sf81CF,Cc55CD,eC8DG,kBfi2CF,Cc/5CD,eC8DG,iBfo2CF,Ccl6CD,eCmEG,Ufk2CF,Ccr6CD,gBCoDG,Sfo3CF,Ccx6CD,gBCoDG,iBfu3CF,Cc36CD,gBCoDG,iBf03CF,Cc96CD,eCoDG,Qf63CF,Ccj7CD,eCoDG,iBfg4CF,Ccp7CD,eCoDG,iBfm4CF,Ccv7CD,eCoDG,Qfs4CF,Cc17CD,eCoDG,iBfy4CF,Cc77CD,eCoDG,iBf44CF,Cch8CD,eCoDG,Qf+4CF,Ccn8CD,eCoDG,iBfk5CF,Cct8CD,eCoDG,gBfq5CF,Ccz8CD,eCyDG,Sfm5CF,Cc58CD,kBCwEG,gBfu4CF,Cc/8CD,kBCwEG,wBf04CF,Ccl9CD,kBCwEG,wBf64CF,Ccr9CD,iBCwEG,efg5CF,Ccx9CD,iBCwEG,wBfm5CF,Cc39CD,iBCwEG,wBfs5CF,Cc99CD,iBCwEG,efy5CF,Ccj+CD,iBCwEG,wBf45CF,Ccp+CD,iBCwEG,wBf+5CF,Ccv+CD,iBCwEG,efk6CF,Cc1+CD,iBCwEG,wBfq6CF,Cc7+CD,iBCwEG,uBfw6CF,Cch/CD,iBCwEG,af26CF,CACF,CgB7+CA,MACE,4BhB++CF,CgBh/CA,uBASI,oBAAqB,CACrB,UAAW,CAFX,ehB6+CJ,CgBt+CI,4CAEE,kBAAmB,CACnB,UAAW,CAFX,ehB2+CN,CgBp+CA,QAGE,cADA,mBADA,ehBy+CF,CgBn+CA,WAHE,ehBy+CF,CgB/9CA,OAGE,mBADA,cAAe,CADf,UhBm+CF,CgBp+CA,kHAcQ,0BAFA,uBADA,YAEA,kBhBk+CR,CgB/+CA,mBAqBI,6BADA,qBhB+9CJ,CgBn/CA,oPA8BQ,YhB69CR,CgB3/CA,mBAoCI,yBhB09CJ,CgB9/CA,cAyCI,qBhBw9CJ,CgBj9CA,8KAOQ,WhBk9CR,CgBv8CA,wLAQQ,qBhB08CR,CgBl9CA,wDAeM,uBhBu8CN,CgB77CA,yCAEI,wBhB87CJ,CiBlkDE,oVAOI,wBjB4kDN,CiBtkDE,4LAMI,wBjBukDN,CiB1lDE,oUAOI,wBjBimDN,CiB3lDE,iMAMI,wBjB4lDN,CiB/mDE,gSAOI,wBjBsnDN,CiBhnDE,kLAMI,wBjBinDN,CiBpoDE,oUAOI,wBjB2oDN,CiBroDE,iMAMI,wBjBsoDN,CiBzpDE,wTAOI,wBjBgqDN,CiB1pDE,4LAMI,wBjB2pDN,CgBvgDA,kBACE,gBACA,ehBygDF,CgBvgDE,sDAIE,2CAA4C,CAC5C,sBAHA,mBACA,iBAAkB,CAFlB,UhB8gDF,CgB/gDA,yBASI,ehBygDJ,CgBlhDA,8NAkBU,kBhBwgDV,CgB1hDA,kCA0BI,QhBmgDJ,CgB7hDA,4VAmCU,ahBkgDV,CgBriDA,sVAuCU,chBsgDV,CgB7iDA,oOAoDU,ehB+/CV,CACF,CkBztDA,SAME,QAAS,CAFT,WlB2tDF,CkBrtDA,gBAHE,QAAS,CAFT,SlBquDF,CkBhuDA,OASE,gCAFA,cANA,aAAc,CAId,eACA,mBAAoB,CAFpB,mBAFA,UlB8tDF,CkBptDA,MACE,oBAAqB,CAGrB,eAAgB,CADhB,iBAAkB,CADlB,clBwtDF,CkB5sDA,mBAUE,uBAAwB,CACxB,eAAgB,CdkBhB,8BACG,2BACK,qBJorDV,CkBpsDA,uCAIE,kBAAmB,CAFnB,cAAe,CACf,gBlBusDF,CkBhsDE,iMAGE,kBlBqsDJ,CkBjsDA,iBACE,alBmsDF,CkB/rDA,kBACE,aAAc,CACd,UlBisDF,CkB7rDA,8BAEE,WlB+rDF,CkB3rDA,0Eb1FE,yCAA0C,CAC1C,mBL0xDF,CkB1rDA,OAEE,elB+rDF,CkBlqDA,qBA1BE,cAJA,aAAc,CAEd,eACA,sBlB+sDF,CkBprDA,cAQE,sBACA,qBAAsB,CACtB,yBACA,kBd3EA,oDACQ,4CckER,YACA,iBdsDA,6EACK,wEACG,qEc1DR,UlBkrDF,CmBlwDE,oBACE,qBfaF,iFACQ,yEebN,SnBswDJ,CIxtDE,gCACE,WACA,SJ0tDJ,CIxtDE,oCAA0B,UJ2tD5B,CI1tDE,yCAAgC,UJ6tDlC,CkB9qDE,0BACE,4BAA6B,CAC7B,QlBgrDJ,CkBxqDE,iFAGE,yBACA,SlB0qDJ,CkBvqDE,yDAEE,kBlByqDJ,CkBrqDE,sBACE,WlBuqDJ,CkBzpDA,qDAKI,mIACE,gBlB0pDJ,CkBvpDE,kQAEE,gBlB+pDJ,CkB5pDE,kQAEE,gBlBoqDJ,CACF,CkB1pDA,YACE,kBlB4pDF,CkBppDA,iBAGE,aAAc,CAEd,kBAAmB,CADnB,eAAgB,CAFhB,iBlBypDF,CkBnpDE,kHAGI,kBlBspDN,CkBjqDA,6BAoBI,cAAe,CADf,eAAgB,CADhB,eAAgB,CAFhB,gBACA,iBlBwpDJ,CkBlpDA,8HAME,iBAAkB,CADlB,gBAAkB,CADlB,iBlBspDF,CkBjpDA,kCAEE,elBmpDF,CkB/oDA,+BAQE,cAAe,CALf,oBAAqB,CAGrB,eAAgB,CADhB,eAAgB,CADhB,iBAAkB,CAFlB,iBAAkB,CAKlB,qBlBkpDF,CkB9oDE,sHAEE,kBlBkpDJ,CkB/oDA,8DAGE,gBAAiB,CADjB,YlBkpDF,CkBxoDA,qBAME,eAAgB,CALhB,gBAGA,mBADA,elB2oDF,CkBtoDE,4DAGE,cAAe,CADf,elByoDJ,CkB3nDA,UCvPE,kBAFA,eAFA,YAGA,gBAFA,gBnB43DF,CmBv3DE,gBACE,YACA,gBnBy3DJ,CmBt3DE,4CAEE,WnBw3DJ,CkBvoDA,6BAMI,kBAFA,eAFA,YAGA,gBAFA,gBlB2oDJ,CkB9oDA,mCASI,YACA,gBlBwoDJ,CkBlpDA,kFAcI,WlBwoDJ,CkBtpDA,oCAoBI,eAHA,YAIA,gBAHA,gBACA,gBlB0oDJ,CkBpoDA,UCnRE,kBAFA,eAFA,YAGA,sBAFA,iBnBi6DF,CmB55DE,gBACE,YACA,gBnB85DJ,CmB35DE,4CAEE,WnB65DJ,CkBhpDA,6BAMI,kBAFA,eAFA,YAGA,sBAFA,iBlBopDJ,CkBvpDA,mCASI,YACA,gBlBipDJ,CkB3pDA,kFAcI,WlBipDJ,CkB/pDA,oCAoBI,eAHA,YAIA,sBAHA,gBACA,iBlBmpDJ,CkBxoDA,cAEE,iBlByoDF,CkB3oDA,4BAMI,oBlBwoDJ,CkBpoDA,uBAKE,aAAc,CAEd,YACA,iBAEA,mBAAoB,CATpB,iBAAkB,CAElB,OAAQ,CAMR,iBAAkB,CAPlB,KAAM,CAIN,WAFA,SlB4oDF,CkBpoDA,4HAIE,YACA,iBAFA,UlBwoDF,CkBpoDA,4HAIE,YACA,iBAFA,UlBwoDF,CkBloDA,iRClZI,anBgiEJ,CkB9oDA,2BC9YI,qBfiDF,oDACQ,2CJ++DV,CmB/hEI,iCACE,qBf8CJ,oEACQ,2DJo/DV,CkBxpDA,gCCnYI,yBACA,qBAFA,anBiiEJ,CkB7pDA,oCC9XI,anB8hEJ,CkB7pDA,iRCrZI,anB8jEJ,CkBzqDA,2BCjZI,qBfiDF,oDACQ,2CJ6gEV,CmB7jEI,iCACE,qBf8CJ,oEACQ,2DJkhEV,CkBnrDA,gCCtYI,yBACA,qBAFA,anB+jEJ,CkBxrDA,oCCjYI,anB4jEJ,CkBxrDA,6PCxZI,anB4lEJ,CkBpsDA,yBCpZI,qBfiDF,oDACQ,2CJ2iEV,CmB3lEI,+BACE,qBf8CJ,oEACQ,2DJgjEV,CkB9sDA,8BCzYI,yBACA,qBAFA,anB6lEJ,CkBntDA,kCCpYI,anB0lEJ,CkB/sDE,2CACE,QlBitDJ,CkB/sDE,mDACE,KlBitDJ,CkBvsDA,YAIE,cAHA,aAAc,CAEd,kBAAmB,CADnB,clB2sDF,CkBvrDE,kDAGI,oBAAqB,CACrB,eAAgB,CAChB,qBlBwrDJ,CkB7rDA,2BAUI,oBAAqB,CAErB,qBAAsB,CADtB,UlBurDJ,CkBlsDA,kCAiBI,oBlBorDJ,CkBrsDA,0BAqBI,oBAAqB,CACrB,qBlBmrDJ,CkBzsDA,gIA2BM,UlBmrDN,CkB9sDA,wCAiCI,UlBgrDJ,CkBjtDA,4BAqCI,eAAgB,CAChB,qBlB+qDJ,CkBrtDA,2CA6CI,oBAAqB,CAErB,eAAgB,CADhB,YAAa,CAEb,qBlB4qDJ,CkB5tDA,uDAmDM,clB6qDN,CkBhuDA,kFAyDI,aAAc,CADd,iBlB6qDJ,CkBruDA,kDA8DI,KlB0qDJ,CACF,CkBhqDA,oHAWI,eAAgB,CADhB,YAAa,CADb,elB+pDJ,CkBxqDA,mDAiBI,elB2pDJ,CkB5qDA,6BL7gBE,kBADA,kBb8rEF,CkBrpDE,yDAGI,eAAgB,CADhB,gBAEA,gBlBupDJ,CACF,CkBvrDA,sDAwCI,UlBkpDJ,CkB1oDI,wEAGI,eADA,gBlB6oDN,CkBvoDE,+CAGI,eADA,elB2oDN,CALF,CoBntEA,KASE,qBAAsB,CACtB,4BAA6B,CCuC7B,kBDzCA,cAAe,CAPf,oBAAqB,CC8CrB,eD5CA,gBC6CA,uBD9CA,eAAgB,CC4ChB,iBD1CA,iBAAkB,CAGlB,yBAA0B,ChB+M1B,yBACG,sBACC,qBACI,iBgBnNR,qBAAsB,CADtB,kBpBwuEF,CoB5tEI,8FfrBF,yCAA0C,CAC1C,mBLyvEF,CoB/tEE,iCAGE,cACA,oBpBiuEJ,CoB9tEE,wBAEE,qBAAsB,ChB4BxB,oDACQ,4CgB5BN,SpBkuEJ,CoB9tEE,qDhBuBA,wBACQ,gBgBrBN,mBE9CF,yBACA,WtBixEF,CoB9tEI,wCAEE,mBpBguEN,CoBvtEA,aC5DE,yBACA,kBAFA,arByxEF,CqBrxEE,sCAGE,yBACA,qBAFA,arByxEJ,CqBrxEE,mBAEE,yBACA,qBAFA,arByxEJ,CqBrxEE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,arB0xEJ,CqBrxEI,uRAIE,yBACA,qBAFA,arB+xEN,CqBvxEI,6RAGE,yBACA,iBrB+xEN,CoBxwEA,oBCjBI,yBADA,arB8xEJ,CoBzwEA,aC/DE,yBACA,qBAFA,UrB80EF,CqB10EE,sCAGE,yBACA,qBAFA,UrB80EJ,CqB10EE,mBAEE,yBACA,qBAFA,UrB80EJ,CqB10EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrB+0EJ,CqB10EI,uRAIE,yBACA,qBAFA,UrBo1EN,CqB50EI,6RAGE,yBACA,oBrBo1EN,CoB1zEA,oBCpBI,sBADA,arBm1EJ,CoB1zEA,aCnEE,yBACA,qBAFA,UrBm4EF,CqB/3EE,sCAGE,yBACA,qBAFA,UrBm4EJ,CqB/3EE,mBAEE,yBACA,qBAFA,UrBm4EJ,CqB/3EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBo4EJ,CqB/3EI,uRAIE,yBACA,qBAFA,UrBy4EN,CqBj4EI,6RAGE,yBACA,oBrBy4EN,CoB32EA,oBCxBI,sBADA,arBw4EJ,CoB32EA,UCvEE,yBACA,qBAFA,UrBw7EF,CqBp7EE,gCAGE,yBACA,qBAFA,UrBw7EJ,CqBp7EE,gBAEE,yBACA,qBAFA,UrBw7EJ,CqBp7EE,kEAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBy7EJ,CqBp7EI,4PAIE,yBACA,qBAFA,UrB87EN,CqBt7EI,kQAGE,yBACA,oBrB87EN,CoB55EA,iBC5BI,sBADA,arB67EJ,CoB55EA,aC3EE,yBACA,qBAFA,UrB6+EF,CqBz+EE,sCAGE,yBACA,kBAFA,UrB6+EJ,CqBz+EE,mBAEE,yBACA,qBAFA,UrB6+EJ,CqBz+EE,2EAIE,yBACA,qBAAsB,CACtB,qBAHA,UrB8+EJ,CqBz+EI,uRAIE,yBACA,kBAFA,UrBm/EN,CqB3+EI,6RAGE,yBACA,oBrBm/EN,CoB78EA,oBChCI,sBADA,arBk/EJ,CoB78EA,YC/EE,yBACA,qBAFA,UrBkiFF,CqB9hFE,oCAGE,yBACA,qBAFA,UrBkiFJ,CqB9hFE,kBAEE,yBACA,qBAFA,UrBkiFJ,CqB9hFE,wEAIE,yBACA,qBAAsB,CACtB,qBAHA,UrBmiFJ,CqB9hFI,8QAIE,yBACA,qBAFA,UrBwiFN,CqBhiFI,oRAGE,yBACA,oBrBwiFN,CoB9/EA,mBCpCI,sBADA,arBuiFJ,CoBz/EA,UAGE,eAAgB,CADhB,cADA,epB6/EF,CoBz/EE,6FAKE,4BAA6B,ChBnC/B,wBACQ,eJ+hFV,CoB1/EE,2DAIE,wBpB4/EJ,CoB1/EE,gCAIE,4BAA6B,CAF7B,cACA,yBpB6/EJ,CoBx/EI,0HAEE,cACA,oBpB4/EN,CoBn/EA,2BC3EE,kBAFA,eACA,sBAFA,iBrBwkFF,CoBt/EA,2BC/EE,kBAFA,eACA,gBAFA,gBrB+kFF,CoBz/EA,2BCnFE,kBAFA,eACA,gBAFA,erBslFF,CoBx/EA,WACE,aAAc,CACd,UpB0/EF,CoBt/EA,sBACE,cpBw/EF,CoBj/EE,sFACE,UpBq/EJ,CuB/oFA,MACE,SAAU,CnBoLV,uCACK,kCACG,8BJ89EV,CuBjpFE,SACE,SvBmpFJ,CuB/oFA,UACE,YvBipFF,CuB/oFE,aAAY,avBkpFd,CuBjpFE,eAAY,iBvBopFd,CuBnpFE,kBAAY,uBvBspFd,CuBnpFA,YAEE,QAAS,CACT,eAAgB,CAFhB,iBAAkB,CnBgLlB,iCACQ,yBATR,8CACQ,sCAWR,wCACQ,+BJw+EV,CwBprFA,OASE,kCADA,mCAFA,sBACA,uBANA,oBAAqB,CAErB,QAAS,CACT,eAAgB,CAChB,qBAAsB,CAHtB,OxB6rFF,CwBlrFA,kBAEE,iBxBorFF,CwBhrFA,uBACE,SxBkrFF,CwB9qFA,eAcE,2BAA4B,CAD5B,sBAEA,sBACA,iCACA,kBpBuBA,+CACQ,uCoBpCR,YAAa,CACb,UAAW,CAIX,eAPA,MAAO,CASP,eAAgB,CAHhB,cAAe,CAFf,eAAgB,CAChB,aAAc,CAPd,iBAAkB,CAUlB,eAAgB,CAThB,QAAS,CAET,YxB+rFF,CwB5qFE,0BAEE,SAAU,CADV,OxB+qFJ,CwBvsFA,wBCtBE,yBAHA,UAAW,CACX,aACA,ezBouFF,CwB7sFA,oBAqCI,UAAW,CAGX,cALA,aAAc,CAGd,eAAgB,CAChB,uBAHA,gBAAiB,CAKjB,kBxB6qFJ,CwB3qFI,oDAIE,yBAFA,cACA,oBxB8qFN,CwBtqFE,uFAKE,yBAFA,WAGA,SAAU,CAFV,oBxB0qFJ,CwB/pFE,6FAGE,axBiqFJ,CwB7pFE,kEAIE,4BAA6B,CAC7B,qBAAsB,CAFtB,mBEvGF,mEFsGE,oBxBmqFJ,CwB1pFA,qBAGI,axB0pFJ,CwB7pFA,QAQI,SxBwpFJ,CwBhpFA,qBAEE,SAAU,CADV,OxBmpFF,CwB1oFA,oBAEE,MAAO,CADP,UxB6oFF,CwBxoFA,iBAKE,cAJA,aAAc,CAEd,eACA,uBAFA,gBAAiB,CAIjB,kBxB0oFF,CwBtoFA,mBAIE,QAAS,CACT,MAAO,CAJP,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,WxBwoFF,CwBpoFA,2BAEE,SAAU,CADV,OxBuoFF,CwB9nFA,qDAMI,yBACA,0BAFA,YAAa,CADb,UxBioFJ,CwBroFA,qEAYI,WAAY,CACZ,iBAAkB,CAFlB,QxBgoFJ,CwBrnFA,yBACE,6BAnEA,SAAU,CADV,OxB6rFA,CwBznFA,kCAzDA,MAAO,CADP,UxBurFA,CACF,C2B9zFA,KAGE,eAAgB,CADhB,eAAgB,CADhB,c3Bk0FF,C2Bn0FA,kBAQI,aAAc,CADd,iB3Bq0FJ,C2B50FA,UAaM,iB3B+zFN,C2B9zFM,gCAGE,yBADA,oB3Bi0FR,C2B3zFI,mBACE,a3B6zFN,C2B3zFM,kDAKE,4BAA6B,CAH7B,cAEA,mBADA,oB3B+zFR,C2BtzFI,mDAGE,yBACA,oB3BwzFN,C2Bj2FA,kBFFE,yBAHA,UAAW,CACX,aACA,ezB02FF,C2Bv2FA,cA0DI,c3BgzFJ,C2BvyFA,UACE,4B3ByyFF,C2B1yFA,aAGI,UAAW,CAEX,kB3ByyFJ,C2B9yFA,eAWM,4BAA6B,CAC7B,0BAFA,uBADA,gB3B2yFN,C2BvyFM,qBACE,iC3ByyFR,C2BnyFM,8EAKE,sBAEA,gBAAgC,CAAhC,kCAAgC,CAJhC,cACA,c3BwyFR,C2BhyFE,wBAmFA,eAAgB,CA9BhB,U3B+uFF,C2BpyFE,2BAwDE,U3B+uFJ,C2BvyFE,6BA0DI,iBAAkB,CAClB,iB3BgvFN,C2B3yFE,iDAiEE,SAAU,CADV,Q3B+uFJ,C2B3uFE,oDAEI,kBAAmB,CACnB,Q3B6uFJ,C2BhvFA,6BAKM,e3B8uFN,CACF,C2BxzFE,6BAwFE,kBADA,c3BquFJ,C2B5zFE,kHA8FE,qB3BmuFJ,C2BhuFE,sDAEI,6BACA,yB3BkuFJ,C2BruFA,kHAQI,wB3BkuFJ,CACF,C2Bn0FA,cAEI,U3Bo0FJ,C2Bt0FA,gBAMM,iB3Bm0FN,C2Bz0FA,iBASM,e3Bm0FN,C2B9zFM,iFAIE,yBADA,U3Bi0FR,C2BxzFA,gBAEI,U3ByzFJ,C2B3zFA,mBAKM,aAAc,CADd,c3B2zFN,C2B9yFA,eACE,U3BgzFF,C2BjzFA,kBAII,U3BgzFJ,C2BpzFA,oBAMM,iBAAkB,CAClB,iB3BizFN,C2BxzFA,wCAaI,SAAU,CADV,Q3BgzFJ,C2B5yFE,2CAEI,kBAAmB,CACnB,Q3B8yFJ,C2BjzFA,oBAKM,e3B+yFN,CACF,C2BvyFA,oBACE,e3ByyFF,C2B1yFA,yBAMI,kBADA,c3ByyFJ,C2B9yFA,sGAYI,qB3BuyFJ,C2BpyFE,kDAEI,6BACA,yB3BsyFJ,C2BzyFA,sGAQI,wB3BsyFJ,CACF,C2B7xFA,uBAEI,Y3B8xFJ,C2BhyFA,qBAKI,a3B8xFJ,C2BrxFA,yBC3OE,yBACA,0BD4OA,e3BwxFF,C6B5/FA,QAIE,4BAA6B,CAD7B,mBADA,gBADA,iB7BigGF,C6Bz/FE,iCACE,iB7B4/FF,C6B/+FA,eACE,U7Bm/FF,CAJF,C6Bh+FA,iBAOE,gCAAiC,CAHjC,gCAAiC,CACjC,4CAFA,kBAAmB,CADnB,kBADA,kB7B4+FF,C6Bp+FE,oBACE,e7Bs+FJ,C6Bn+FE,0CAEE,YAAa,CACb,eAAgB,CAFhB,U7Bw+FF,C6Bp+FE,0BACE,uBAAyB,CACzB,qBAAuB,CAEvB,0BAA4B,CAD5B,gB7Bu+FJ,C6Bn+FE,oBACE,kB7Bq+FJ,C6Bh+FE,6GAIE,cAAe,CADf,e7Bm+FJ,CACF,C6B99FA,uCAaE,MAAO,CAFP,cAAe,CACf,OAAQ,CAER,Y7Bu9FF,C6Br+FA,yEAGI,gB7Bs+FJ,C6Bp+FI,qIACE,gB7Bw+FJ,CACF,C6B99FE,gEACE,e7Bk+FF,CACF,C6B/9FA,kBAEE,oBAAqB,CADrB,K7Bk+FF,C6B/9FA,qBAGE,oBAAqB,CAFrB,QAAS,CACT,e7Bk+FF,C6Bz9FA,wHAKI,kBADA,kB7B49FJ,C6Bz9FI,iJAEE,aAAc,CADd,c7Bg+FJ,CACF,C6Bn9FA,mBAEE,oBAAqB,CADrB,Y7Bs9FF,C6Bn9FE,4CACE,e7Bs9FF,CACF,C6Bh9FA,cACE,UAAW,CAGX,eAFA,YAGA,iBAFA,iB7Bo9FF,C6Bh9FE,wCAEE,oB7Bk9FJ,C6B39FA,kBAaI,a7Bi9FJ,C6B98FE,yBACE,wEAEE,iB7Bg9FJ,CACF,C6Bt8FA,eAME,4BAA6B,CAC7B,qBAAsB,CACtB,4BAA6B,CAC7B,kBAPA,WAAY,CC3LZ,mBD6LA,kBC9LA,gBD6LA,gBAAiB,CAFjB,iB7Bi9FF,C6Br8FE,qBACE,S7Bu8FJ,C6Br9FA,yBAsBI,iBAAkB,CAHlB,aAAc,CAEd,UAAW,CADX,U7Bu8FJ,C6B39FA,mCAyBI,c7Bq8FJ,C6Bl8FE,wCACE,Y7Bq8FF,CACF,C6B57FA,YACE,kB7B87FF,C6B/7FA,iBAMI,iBADA,mBAAoB,CADpB,gB7Bg8FJ,C6B37FE,0DAOI,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CALhB,UAAW,CAEX,YAAa,CAHb,eAAgB,CAEhB,U7Bg8FJ,C6Br8FA,wFAYM,yB7B67FN,C6Bz8FA,sCAeM,gB7B67FN,C6B57FM,wFAEE,qB7B87FR,CACF,C6Bx7FE,qCACE,UAAW,CACX,Q7B27FF,C6B77FA,eAKI,U7B27FJ,C6Bh8FA,iBAQM,oBADA,gB7B67FN,CACF,C6Bj7FA,aAKE,mCAAoC,CADpC,gCAAiC,CzB3NjC,+EACQ,uE0BhER,kBDuRA,iB7B27FF,CkBrwFE,kDAGI,oBAAqB,CACrB,eAAgB,CAChB,qBlBswFJ,CkB3wFA,2BAUI,oBAAqB,CAErB,qBAAsB,CADtB,UlBqwFJ,CkBhxFA,kCAiBI,oBlBkwFJ,CkBnxFA,0BAqBI,oBAAqB,CACrB,qBlBiwFJ,CkBvxFA,gIA2BM,UlBiwFN,CkB5xFA,wCAiCI,UlB8vFJ,CkB/xFA,4BAqCI,eAAgB,CAChB,qBlB6vFJ,CkBnyFA,2CA6CI,oBAAqB,CAErB,eAAgB,CADhB,YAAa,CAEb,qBlB0vFJ,CkB1yFA,uDAmDM,clB2vFN,CkB9yFA,kFAyDI,aAAc,CADd,iBlB2vFJ,CkBnzFA,kDA8DI,KlBwvFJ,CACF,C6Bj+FI,kDACE,iB7Bo+FJ,C6Bl+FI,oCACE,e7Bo+FN,CACF,C6B59FE,sCAME,QAAS,CzBvPX,wBACQ,gByBqPN,aAAc,CADd,cAAe,CADf,gBAAiB,CADjB,aAAc,CADd,U7Bs+FF,CACF,C6Bz9FA,8BDnUE,yBACA,0BCmUA,Y7B69FF,C6Bz9FA,mDD/TE,4BADA,6BARA,2BACA,4BCwUA,e7B+9FF,C6Br9FA,YC/UE,mBADA,e9ByyGF,C6Bt9FE,mBClVA,mBADA,e9B6yGF,C6Bv9FE,mBCrVA,mBADA,e9BizGF,C6Bj9FA,aC/VE,mBADA,e9BqzGF,C6Bl9FE,sCACE,UAAW,CAEX,iBADA,iB7Bs9FF,C6Bv8FA,aEtWA,oB/BkzGA,C6B38FA,cE1WA,qBAAuB,CF4WrB,kB7B68FF,C6B/8FA,4BAKI,c7B68FJ,CAXF,C6Bx7FA,gBACE,sBACA,oB7Bs8FF,C6Bx8FA,8BAKI,a7Bs8FJ,C6Br8FI,wEAGE,6BADA,a7Bw8FN,C6Bh9FA,6BAcI,U7Bq8FJ,C6Bn9FA,iCAmBM,a7Bm8FN,C6Bj8FM,8EAGE,6BADA,a7Bo8FR,C6B/7FM,8HAIE,yBADA,a7Bk8FR,C6B77FM,oIAIE,6BADA,a7Bg8FR,C6Bx7FM,wHAIE,yBADA,a7B27FR,C6Bt7FI,+EAIM,a7Bs7FR,C6Br7FQ,wHAGE,6BADA,a7Bw7FV,C6Bn7FQ,6LAIE,yBADA,a7Bs7FV,C6Bj7FQ,mMAIE,6BADA,a7Bo7FV,CACF,C6BngGA,+BAuFI,iB7B+6FJ,C6B96FI,0EAEE,qB7Bg7FN,C6B1gGA,yCA6FM,qB7Bg7FN,C6B7gGA,8DAmGI,oB7B86FJ,C6BjhGA,6BA4GI,a7Bw6FJ,C6Bv6FI,mCACE,a7By6FN,C6BvhGA,0BAmHI,a7Bu6FJ,C6Bt6FI,gEAEE,a7Bw6FN,C6Bp6FM,0LAEE,a7Bw6FR,C6Bh6FA,gBACE,sBACA,oB7Bk6FF,C6Bp6FA,8BAKI,a7Bk6FJ,C6Bj6FI,wEAGE,6BADA,U7Bo6FN,C6B56FA,8DAmBM,a7B+5FN,C6B75FM,8EAGE,6BADA,U7Bg6FR,C6B35FM,8HAIE,yBADA,U7B85FR,C6Bz5FM,oIAIE,6BADA,U7B45FR,C6Br5FM,wHAIE,yBADA,U7Bw5FR,C6Bn5FI,2FAIM,oB7Bm5FR,C6Bv5FE,0DAOM,wB7Bm5FR,C6B15FE,sDAUM,a7Bm5FR,C6Bl5FQ,wHAGE,6BADA,U7Bq5FV,C6Bh5FQ,6LAIE,yBADA,U7Bm5FV,C6B94FQ,mMAIE,6BADA,U7Bi5FV,CACF,C6Br+FA,+BA6FI,iB7B24FJ,C6B14FI,0EAEE,qB7B44FN,C6B5+FA,yCAmGM,qB7B44FN,C6B/+FA,8DAyGI,oB7B04FJ,C6Bn/FA,6BA6GI,a7By4FJ,C6Bx4FI,mCACE,U7B04FN,C6Bz/FA,0BAoHI,a7Bw4FJ,C6Bv4FI,gEAEE,U7By4FN,C6Br4FM,0LAEE,U7By4FR,CgC/gHA,YAIE,yBACA,kBAFA,eAAgB,CADhB,mBADA,gBhCqhHF,CgCthHA,eAQI,oBhCihHJ,CgCzhHA,yBAYM,WACA,iBAFA,ahCmhHN,CgC9hHA,oBAkBI,ahC+gHJ,CiC9hHA,OAGE,4BAA6B,CAC7B,kBAFA,mBADA,YjCmiHF,CiCpiHA,UASI,aAAc,CADd,YjCgiHJ,CiCxiHA,mBAcI,ejC6hHJ,CiC3iHA,mBAoBI,ejC2hHJ,CiC/iHA,WAwBI,cjC0hHJ,CiCjhHA,sCAEE,kBjCmhHF,CiCrhHA,oDASI,aAAc,CAHd,iBAAkB,CAElB,WAAY,CADZ,QjCqhHJ,CiC3gHA,eCtDE,yBACA,qBAFA,UlCukHF,CiChhHA,kBClDI,wBlCqkHJ,CiCnhHA,2BC9CI,alCokHJ,CiClhHA,YC1DE,yBACA,qBAFA,UlCklHF,CiCvhHA,eCtDI,wBlCglHJ,CiC1hHA,wBClDI,alC+kHJ,CiCzhHA,eC9DE,yBACA,qBAFA,UlC6lHF,CiC9hHA,kBC1DI,wBlC2lHJ,CiCjiHA,2BCtDI,alC0lHJ,CiChiHA,cClEE,yBACA,qBAFA,UlCwmHF,CiCriHA,iBC9DI,wBlCsmHJ,CiCxiHA,0BC1DI,alCqmHJ,CmC7mHA,OAUE,oBAJA,WALA,cAAe,CAEf,aAAc,CACd,eAAgB,CAChB,aAAc,CAHd,uBAKA,iBAAkB,CAElB,uBAAwB,CADxB,kBnCinHF,CmC3mHI,4BAEE,WAEA,cAAe,CADf,oBnC8mHN,CmCxmHE,aACE,YnC0mHJ,CmCtmHE,YACE,iBAAkB,CAClB,QnCwmHJ,CmCjmHA,eCtCE,wBpC0oHF,CoCvoHI,sDAEE,wBpCyoHN,CmCpmHA,eC1CE,wBpCipHF,CoC9oHI,sDAEE,wBpCgpHN,CmCvmHA,eC9CE,wBpCwpHF,CoCrpHI,sDAEE,wBpCupHN,CmC1mHA,YClDE,wBpC+pHF,CoC5pHI,gDAEE,wBpC8pHN,CmC7mHA,eCtDE,wBpCsqHF,CoCnqHI,sDAEE,wBpCqqHN,CmChnHA,cC1DE,wBpC6qHF,CoC1qHI,oDAEE,wBpC4qHN,CqCzqHA,wCACE,GAAQ,0BrC4qHR,CqC3qHA,GAAQ,uBrC8qHR,CACF,CqC3qHA,gCACE,GAAQ,0BrC8qHR,CqC7qHA,GAAQ,uBrCgrHR,CACF,CqCzqHA,UAIE,yBACA,kBjCsCA,kDACQ,0CiC3CR,YACA,mBACA,erC+qHF,CqCxqHA,cAQE,yBjCyBA,kDACQ,0CiC5BR,WALA,UAAW,CAGX,eADA,WAAY,CAEZ,iBAEA,iBAAkB,CjCoJlB,kCACK,6BACG,0BiC3JR,OrCqrHF,CqCrqHA,sDCDI,8KACA,+KACA,sKDEF,yBrCyqHF,CqClqHA,oDjC5CE,0DACK,qDACG,iDJktHV,CqC/pHA,sBEvEE,wBvCyuHF,CuCtuHE,wCDgDE,8KACA,+KACA,qKtCyrHJ,CqCnqHA,mBE3EE,wBvCivHF,CuC9uHE,qCDgDE,8KACA,+KACA,qKtCisHJ,CqCvqHA,sBE/EE,wBvCyvHF,CuCtvHE,wCDgDE,8KACA,+KACA,qKtCysHJ,CqC3qHA,qBEnFE,wBvCiwHF,CuC9vHE,uCDgDE,8KACA,+KACA,qKtCitHJ,CwClwHA,+BAGE,oBAAqB,CADrB,iBAAkB,CAElB,qBxCowHF,CwCxwHA,yCAOI,UAAW,CADX,iBxCuwHJ,CwCpwHI,wNAIE,SxC0wHN,CwCpwHA,4GAKI,gBxCqwHJ,CwChwHA,aACE,gBxCkwHF,CwCnwHA,oEAOI,UxCiwHJ,CwCxwHA,oEAYI,exCiwHJ,CwC7vHA,yEACE,exC+vHF,CwC3vHA,4BACE,axC6vHF,CwC5vHE,mEZnDA,6BADA,yB5BozHF,CwC3vHA,2FZhDE,4BADA,wB5BizHF,CwC1vHA,sBACE,UxC4vHF,CwC1vHA,8DACE,exC4vHF,CwC1vHA,uIZpEE,6BADA,yB5Bo0HF,CwCzvHA,oEZlEE,4BADA,wB5Bg0HF,CwCxvHA,oEAEE,SxC0vHF,CwCzuHA,iCAEE,gBAAiB,CADjB,iBxC4uHF,CwCzuHA,oCAEE,iBAAkB,CADlB,kBxC4uHF,CwCtuHA,iCpC/CE,oDACQ,2CJwxHV,CwCtuHE,0CpCnDA,wBACQ,eJ4xHV,CwCnuHA,YACE,axCquHF,CwCluHA,eAEE,sBxCouHF,CwCjuHA,uBACE,sBxCmuHF,CwC5tHA,4FAII,aAAc,CACd,UAAW,CAEX,cAAe,CADf,UxC8tHJ,CwCpuHA,oCAcM,UxCytHN,CwCvuHA,gJAuBI,aAAc,CADd,exCwtHJ,CwCltHE,4DACE,exCotHJ,CwCltHE,sDZpKA,4BADA,6BARA,2BACA,2B5Bo4HF,CwCptHE,sDZxKA,8BADA,+BARA,yBACA,yB5B04HF,CwCrtHA,uEACE,exCutHF,CwCrtHA,yJZhLE,4BADA,4B5B24HF,CwCptHA,6EZ/LE,yBACA,yB5Bs5HF,CwChtHA,qBAIE,wBAAyB,CAHzB,aAAc,CAEd,kBAAmB,CADnB,UxCotHF,CwCttHA,0DAOI,kBAAmB,CACnB,UAAW,CACX,QxCmtHJ,CwC5tHA,qCAYI,UxCmtHJ,CwC/tHA,+CAgBI,SxCktHJ,CwCjsHA,gNAMM,kBAAsB,CACtB,mBAAoB,CAFpB,iBxCosHN,CyC56HA,aAGE,wBAAyB,CADzB,aAAc,CADd,iBzCg7HF,CyC36HE,0BACE,UAAW,CAEX,cAAe,CADf,ezC86HJ,CyCt7HA,2BAqBI,UAAW,CAGX,eAAgB,CAThB,iBAAkB,CAQlB,UAAW,CAPX,SzC66HJ,CyCn6HI,iCACE,SzCq6HN,CyC35HA,uGtB4BE,kBAFA,eAFA,YAGA,sBAFA,iBnB24HF,CmBt4HE,yHACE,YACA,gBnB04HJ,CmBv4HE,sRAEE,WnB64HJ,CyC76HA,uGtBuBE,kBAFA,eAFA,YAGA,gBAFA,gBnBk6HF,CmB75HE,yHACE,YACA,gBnBi6HJ,CmB95HE,sRAEE,WnBo6HJ,CyC37HA,+DAGE,kBzC67HF,CyC37HE,wKACE,ezC+7HJ,CyC37HA,oCAIE,qBAAsB,CADtB,kBAAmB,CADnB,QzC+7HF,CyCx7HA,mBAOE,yBACA,yBACA,kBAJA,cAHA,eACA,eAAgB,CAChB,aAAc,CAHd,iBAKA,iBzC67HF,CyCv7HE,4BAGE,kBADA,eADA,gBzC27HJ,CyCv7HE,4BAGE,kBADA,eADA,iBzC27HJ,CyC78HA,6EA0BI,YzCu7HJ,CyCl7HA,wUbrGE,6BADA,yB5BkiIF,CyCn7HA,+BACE,czCq7HF,CyCn7HA,iTbzGE,4BADA,wB5BuiIF,CyCp7HA,8BACE,azCs7HF,CyCj7HA,iBAIE,WAAY,CACZ,kBzCi7HF,CyCt7HA,uCACE,iBzCw7HF,CyCz7HA,2BAYM,gBzCg7HN,CyC76HI,qFAGE,SzC+6HN,CyC16HE,0EAGI,iBzC26HN,CyCx6HE,wEAII,gBAAiB,CADjB,SzC06HN,C0CllIA,OAEE,e1CmlIF,C0CjlIE,mBACE,Y1CmlIJ,C0C/kIA,mBAGE,MAAO,CADP,e1CklIF,C0C9kIA,YACE,a1CglIF,C0C7kIA,cACE,a1C+kIF,C0C5kIE,4BACE,c1C8kIJ,C0C1kIA,gCAEE,iB1C4kIF,C0CzkIA,8BAEE,kB1C2kIF,C0CxkIA,qCAGE,kBAAmB,CACnB,kB1C0kIF,C0CvkIA,cACE,qB1CykIF,C0CtkIA,cACE,qB1CwkIF,C0CpkIA,eAEE,iBAAkB,CADlB,Y1CukIF,C0ChkIA,YAEE,eAAgB,CADhB,c1CmkIF,C2CvnIA,YAGE,kBAAmB,CADnB,c3CynIF,C2ChnIA,iBAME,sBACA,yBALA,aAAc,CAGd,kBAAmB,CAFnB,iBAAkB,CAFlB,iB3CunIF,C2C9mIE,6Bf7BA,2BACA,2B5B8oIF,C2C/mIE,4BfvBA,8BADA,+BeyBE,e3CmnIJ,C2C9mIE,0FAKE,yBAFA,cACA,kB3CinIJ,C2CrnIE,qKASI,a3CinIN,C2C1nIE,4JAYI,a3CmnIN,C2C9mIE,oFAKE,sBACA,qBAFA,cADA,S3CmnIJ,C2CtnIE,ogBAYI,a3CqnIN,C2CjoIE,sJAeI,U3CunIN,C2C5mIA,yCAEE,a3C8mIF,C2ChnIA,2FAKI,U3C+mIJ,C2C3mIE,0GAIE,sBAFA,cACA,oB3CgnIJ,C2C3mIA,uBAEE,eAAgB,CADhB,U3C8mIF,CcptIC,yB8BKG,yBADA,a5CotIJ,C4CjtII,yDAEE,a5CmtIN,C4CrtII,2GAKI,a5CotIR,C4CjtIM,0IAGE,yBADA,a5CstIR,C4CntIM,6OAIE,yBACA,qBAFA,U5C0tIR,CcjvIC,sB8BKG,yBADA,a5CivIJ,C4C9uII,mDAEE,a5CgvIN,C4ClvII,qGAKI,a5CivIR,C4C9uIM,8HAGE,yBADA,a5CmvIR,C4ChvIM,2NAIE,yBACA,qBAFA,U5CuvIR,Cc9wIC,yB8BKG,yBADA,a5C8wIJ,C4C3wII,yDAEE,a5C6wIN,C4C/wII,2GAKI,a5C8wIR,C4C3wIM,0IAGE,yBADA,a5CgxIR,C4C7wIM,6OAIE,yBACA,qBAFA,U5CoxIR,Cc3yIC,wB8BKG,yBADA,a5C2yIJ,C4CxyII,uDAEE,a5C0yIN,C4C5yII,yGAKI,a5C2yIR,C4CxyIM,sIAGE,yBADA,a5C6yIR,C4C1yIM,uOAIE,yBACA,qBAFA,U5CizIR,C2C9sIA,yBAEE,iBAAkB,CADlB,Y3CitIF,C2C9sIA,sBAEE,eAAgB,CADhB,e3CitIF,C6Cx0IA,OAEE,sBACA,4BAA6B,CzC2D7B,6CACQ,qCyC9DR,kB7C+0IF,C6Cv0IA,YACE,Y7Cy0IF,C6Cp0IA,eAEE,mCAAoC,CjBtBpC,2BACA,4BiBoBA,iB7Cy0IF,C6C/zIA,uDALI,a7C60IJ,C6Cx0IA,aAGE,eADA,eAAgB,CADhB,Y7Cu0IF,C6Cx0IA,iGAWI,a7Co0IJ,C6C/zIA,cAEE,sBjBxCA,8BADA,+BiB0CA,6BAFA,iB7Cq0IF,C6CzzIA,sDAGI,e7C0zIJ,C6C7zIA,wFAOM,eAAgB,CADhB,kB7C4zIN,C6CvzII,wIAEI,YAAa,CjBzEnB,2BACA,2B5Bm4IF,C6CrzII,oIAEI,eAAgB,CjBxEtB,8BADA,8B5Bk4IF,C6C90IA,+EjB5DE,yBACA,yB5B64IF,C6C5yIA,kFACE,kB7CizIF,C6CzyIA,4EAII,e7C0yIJ,C6C9yIA,oGAQM,kBADA,kB7C6yIN,C6CpzIA,0XAmBQ,2BACA,2B7C4yIR,C6Ch0IA,wsBAwBU,0B7CkzIV,C6C10IA,gsBA4BU,2B7CwzIV,C6Cp1IA,yWA0CQ,8BADA,8B7CuzIR,C6Ch2IA,4qBA8CU,6B7C4zIV,C6C12IA,oqBAkDU,8B7Ck0IV,C6Cp3IA,8HA2DI,yB7C+zIJ,C6C13IA,oGA+DI,Y7C+zIJ,C6C93IA,gEAmEI,Q7C+zIJ,C6Cl4IA,gqBA0EU,a7Cs0IV,C6Ch5IA,opBA8EU,c7Cg1IV,C6C95IA,w3BAgGU,e7Ck1IV,C6Cl7IA,yBAuGI,QAAS,CADT,e7Cg1IJ,C6Cr0IA,aACE,kB7Cu0IF,C6Cx0IA,oBAMI,kBADA,e7Cu0IJ,C6C50IA,2BASM,c7Cs0IN,C6C/0IA,4BAcI,e7Co0IJ,C6Cl1IA,gHAkBM,4B7Co0IN,C6Ct1IA,2BAuBI,Y7Ck0IJ,C6Cz1IA,uDAyBM,+B7Cm0IN,C6C5zIA,eC5PE,iB9C2jJF,C8CzjJE,8BAEE,sBACA,kBAFA,a9C6jJJ,C8C9jJE,0DAMI,qB9C2jJN,C8CjkJE,qCAUI,yBADA,U9C4jJN,C8CxjJE,yDAEI,wB9CyjJN,C6C30IA,eC/PE,oB9C6kJF,C8C3kJE,8BAEE,yBACA,qBAFA,U9C+kJJ,C8ChlJE,0DAMI,wB9C6kJN,C8CnlJE,qCAUI,sBADA,a9C8kJN,C8C1kJE,yDAEI,2B9C2kJN,C6C11IA,eClQE,oB9C+lJF,C8C7lJE,8BAEE,yBACA,qBAFA,a9CimJJ,C8ClmJE,0DAMI,wB9C+lJN,C8CrmJE,qCAUI,yBADA,a9CgmJN,C8C5lJE,yDAEI,2B9C6lJN,C6Cz2IA,YCrQE,oB9CinJF,C8C/mJE,2BAEE,yBACA,qBAFA,a9CmnJJ,C8CpnJE,uDAMI,wB9CinJN,C8CvnJE,kCAUI,yBADA,a9CknJN,C8C9mJE,sDAEI,2B9C+mJN,C6Cx3IA,eCxQE,oB9CmoJF,C8CjoJE,8BAEE,yBACA,qBAFA,a9CqoJJ,C8CtoJE,0DAMI,wB9CmoJN,C8CzoJE,qCAUI,yBADA,a9CooJN,C8ChoJE,yDAEI,2B9CioJN,C6Cv4IA,cC3QE,oB9CqpJF,C8CnpJE,6BAEE,yBACA,qBAFA,a9CupJJ,C8CxpJE,yDAMI,wB9CqpJN,C8C3pJE,oCAUI,yBADA,a9CspJN,C8ClpJE,wDAEI,2B9CmpJN,C+ClqJA,OAIE,eAAgB,CAFhB,cADA,cAAe,CAEf,iB/CqqJF,C+CxqJA,UAOI,c/CoqJJ,C+C3qJA,2BAYM,sBACA,sBACA,mBAJA,oBAAqB,CACrB,gB/CwqJN,C+CnrJA,oCAoBM,yBADA,oB/CqqJN,C+CxrJA,iCA2BM,W/CiqJN,C+C5rJA,yCAkCM,U/C8pJN,C+ChsJA,2FA6CM,sBAFA,cACA,kB/C4pJN,CgD1sJA,YAIE,kBAHA,oBAAqB,CAErB,cADA,chD8sJF,CgDhtJA,eAOI,chD4sJJ,CgDntJA,qCAiBM,sBACA,sBAHA,cAJA,UAAW,CAGX,uBADA,gBAAiB,CADjB,iBAFA,iBAAkB,CAMlB,oBhD+sJN,CgD3sJM,kGAIE,yBACA,kBAFA,cADA,ShDktJR,CgD5sJI,6DpBfF,8BADA,2BoBmBM,ahD+sJR,CgD3sJI,2DpB9BF,+BADA,2B5B+uJF,CgDtsJI,qKAME,yBACA,qBAHA,WACA,cAAe,CAFf,ShD+sJN,CgD/vJA,iLAiEM,sBACA,kBAHA,cACA,kBhD0sJN,CgD/rJA,2CCvEM,eACA,sBAFA,iBjD6wJN,CiDzwJI,mErBMF,8BADA,0B5BywJF,CiDxwJI,iErBRF,+BADA,2B5BsxJF,CgD1sJA,2CC5EM,eACA,gBAFA,gBjD6xJN,CiDzxJI,mErBMF,8BADA,0B5ByxJF,CiDxxJI,iErBRF,+BADA,2B5BsyJF,CkDzyJA,kBAEE,aAAc,CACd,QAAS,CAET,eAAgB,CADhB,SAAU,CAHV,iBlD+yJF,CkDhzJA,2IAkBI,QAAS,CAJT,QAAS,CAGT,WAAY,CAFZ,MAAO,CAHP,iBAAkB,CAClB,KAAM,CAGN,UlD6yJJ,CkDtyJA,wBACE,qBlDwyJF,CkDpyJA,uBACE,kBlDsyJF,CmDj0JA,MAIE,sBAEA,kB/C0DA,mDACQ,2C+C9DR,kBAAmB,CAFnB,eAAgB,CAChB,YnDy0JF,CmD30JA,iBASI,iBAAkB,CAClB,4BnDq0JJ,CmDh0JA,SAEE,kBADA,YnDm0JF,CmDh0JA,SAEE,kBADA,WnDm0JF,CoDt1JA,OAKE,W9BRA,yB8BIA,WAAY,CACZ,eACA,gBACA,aAAc,C9BNd,W8BQA,wBpD01JF,CoDv1JE,0BAEE,WAEA,cAAe,C9BhBjB,yBACA,W8BcE,oBpD41JJ,CoDn1JE,aAKE,uBAAwB,CACxB,eAAgB,CAHhB,sBAAuB,CACvB,QAAS,CAFT,cAAe,CADf,SpD01JJ,CqDj3JA,OAWE,yBACA,mBALA,WANA,oBAAqB,CAGrB,eACA,gBACA,cAJA,cAAe,CACf,eAAgB,CAKhB,iBAAkB,CAElB,qBAAsB,CADtB,kBrDs3JF,CqDh3JE,aACE,YrDk3JJ,CqD92JE,YACE,iBAAkB,CAClB,QrDg3JJ,CqD72JE,yCAGE,eAAgB,CADhB,KrDg3JJ,CqD12JI,4BAEE,WAEA,cAAe,CADf,oBrD62JN,CqDv2JE,2DAGE,sBADA,arD02JJ,CqDt2JE,wBACE,WrDw2JJ,CqDr2JE,+BACE,gBrDu2JJ,CqDp2JE,uBACE,erDs2JJ,CsDt5JA,mBAJE,etDy6JF,CsDr6JA,OASE,gCAAiC,CALjC,QAAS,CAGT,YAAa,CAFb,MAAO,CAQP,SAAU,CAZV,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,YtD+5JF,CsDr5JE,0BlDiHA,mCACI,+BACC,8BACG,2BAkER,kDACG,4CACE,wCACG,iCJsuJV,CsD35JE,wBlD6GA,+BACI,2BACC,0BACG,sBJizJV,CsD/5JA,mBACE,iBAAkB,CAClB,etDi6JF,CsD75JA,cAGE,WAAY,CAFZ,iBAAkB,CAClB,UtDg6JF,CsD35JA,eAGE,2BAA4B,CAD5B,sBAEA,sBACA,gCACA,kBlDcA,4CACQ,oCkDZR,SAAU,CARV,iBtDq6JF,CsDz5JA,gBAOE,yBAHA,QAAS,CACT,MAAO,CAJP,cAAe,CAEf,OAAQ,CADR,KAAM,CAIN,YtD45JF,CsDz5JE,qBhCpEA,wBACA,StBg+JF,CsD55JE,mBhCrEA,yBACA,UtBo+JF,CsD35JA,cAEE,gCADA,YtD85JF,CsDz5JA,qBACE,etD25JF,CsDv5JA,aAEE,uBADA,QtD05JF,CsDp5JA,YAEE,aADA,iBtDu5JF,CsDl5JA,cAGE,6BAFA,aACA,gBtDq5JF,CsDv5JA,wBAQI,eAAgB,CAChB,etDk5JJ,CsD35JA,mCAaI,gBtDi5JJ,CsD95JA,oCAiBI,atDg5JJ,CsD34JA,yBAIE,WAAY,CACZ,eAAgB,CAJhB,iBAAkB,CAClB,WAAY,CACZ,UtD+4JF,CsDz4JA,yBAEE,cAEE,gBAAiB,CADjB,WtD24JF,CsDx4JA,elDrEA,6CACQ,oCJg9JR,CsDv4JA,UAAY,WtD04JZ,CACF,CsDx4JA,yBACE,UAAY,WtD24JZ,CACF,CuDnhKE,qsBAGE,WAAY,CADZ,avDsjKJ,CuDnjKE,0VACE,UvDqkKJ,C+B3kKA,cyBVE,aAAc,CAEd,gBAAiB,CADjB,iBxDylKF,C+B7kKA,YACE,qB/B+kKF,C+B7kKA,WACE,oB/B+kKF,C+BvkKA,MACE,sB/BykKF,C+BvkKA,MACE,uB/BykKF,C+BvkKA,WACE,iB/BykKF,C+BvkKA,W0BtBE,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,WAEA,gBzDqmKF,C+BrkKA,QACE,sB/BukKF,C+BhkKA,OACE,c/BkkKF,CcnmKA,cACE,kBdqmKF,CcxlKA,wSAYE,sBdgmKF,Cc5lKE,qC4CjDA,uB1DipKA,C0DhpKA,iBAAU,uB1DmpKV,C0DlpKA,cAAU,2B1DqpKV,C0DppKA,4BACU,4B1DupKV,CcrmKA,kBACE,uBdymKF,CcrmKA,mBACE,wBdymKF,CcrmKA,yBACE,8BdymKF,CAdF,CctlKE,2D4CtEA,uB1D+qKA,C0D9qKA,iBAAU,uB1DirKV,C0DhrKA,cAAU,2B1DmrKV,C0DlrKA,4BACU,4B1DqrKV,Cc9mKA,kBACE,uBdknKF,Cc9mKA,mBACE,wBdknKF,Cc9mKA,yBACE,8BdknKF,CAdF,Cc/lKE,4D4C3FA,uB1D6sKA,C0D5sKA,iBAAU,uB1D+sKV,C0D9sKA,cAAU,2B1DitKV,C0DhtKA,4BACU,4B1DmtKV,CcvnKA,kBACE,uBd2nKF,CcvnKA,mBACE,wBd2nKF,CcvnKA,yBACE,8Bd2nKF,CAdF,CcxmKE,sC4ChHA,uB1D2uKA,C0D1uKA,iBAAU,uB1D6uKV,C0D5uKA,cAAU,2B1D+uKV,C0D9uKA,4BACU,4B1DivKV,CchoKA,kBACE,uBdooKF,CchoKA,mBACE,wBdooKF,CchoKA,yBACE,8BdooKF,CAdF,CcjnKE,oC4C7HA,sB1DiwKA,CACF,CchoKE,0D4ClIA,sB1DswKA,CACF,CchoKE,2D4CvIA,sB1D2wKA,CACF,CchoKE,qC4C5IA,sB1DgxKA,CACF,Cc1nKA,e4CvJE,sB1DoxKF,Cc1nKE,4B4ClKA,uB1DgyKA,C0D/xKA,oBAAU,uB1DkyKV,C0DjyKA,iBAAU,2B1DoyKV,C0DnyKA,kCACU,4B1DsyKV,CACF,CcroKA,qBACE,sBduoKF,CcroKE,kCACE,uBdwoKF,CACF,CctoKA,sBACE,sBdwoKF,CctoKE,mCACE,wBdyoKF,CACF,CcvoKA,4BACE,sBdyoKF,CcvoKE,yCACE,8Bd0oKF,CcroKA,c4CrLA,sB1D+zKA,CAJF,C2Dj0KA,oCACE,UAEE,iB3Dw0KF,CACF,C2Dp0KA,oCACE,kBACE,sB3Ds0KF,CACF,C2Dn0KA,0DACE,eACE,yB3Dq0KF,C2Dl0KA,kBACE,sB3Do0KF,C2Dj0KA,oBACE,0B3Dm0KF,C2Dh0KA,sBACE,wB3Dk0KF,CACF,C2D/zKA,oCACE,eACE,yB3Di0KF,C2D9zKA,oBACE,0B3Dg0KF,CACF,C4Dx2KA,UACE,aAAc,CACd,c5D02KF,C4Dv2KA,kBACE,kBAAmB,CACnB,YAAa,CACb,M5Dy2KF,C4Dt2KA,oCACE,e5Dw2KF,C4Dr2KA,cACE,MAAO,CACP,c5Du2KF,C4Dp2KA,oCACE,UAEE,kBAAmB,CADnB,Y5Du2KF,C4Dn2KA,oCACE,Q5Dq2KF,C4Dl2KA,gCAIE,kBAAmB,CAFnB,M5Dq2KF,C4Dh2KA,8FAEE,M5Dk2KF,CACF,C4D/1KA,qBACE,gB5Di2KF,C6D74KA,cACE,yBAMA,MAAS,CALT,eAGA,cAAe,CACf,SAAU,CAKV,uBAA0B,CAR1B,UAAW,CAMX,Y7D84KF,C6D14KE,mBAEE,WAAY,CADZ,K7D64KJ,C6D35KA,gBAqBI,cAFA,a7D44KJ,C6Dt4KE,kDACE,iB7Dy4KF,C6D14KA,mBAMI,eAFA,iB7D04KJ,CACF,C8Dx6KA,iBAOE,eAIA,mBAAoB,CAVpB,cAAe,CAKf,iBAAkB,CAJlB,SAAU,CAOV,uBAA0B,CAN1B,UAAW,CACX,Y9D86KF,C8Dr6KE,oBACE,KAAQ,CACR,uB9Du6KJ,C8Dt7KA,mBAoBI,0BADA,oBAAqB,CAErB,QAAW,CAEX,kB9Dq6KJ,C+D57KA,mBAQE,kCALA,WAAY,CAEZ,MAAS,CAIT,iBAAkB,CARlB,cAAe,CAGf,KAAQ,CAFR,UAAW,CAIX,Y/Dg8KF,C+Dt8KA,8BAYI,gBACA,iB/D67KJ,C+Dz7KA,mBAME,2BAA4B,CAL5B,sBACA,sBACA,gCACA,kB3D6CA,4CACQ,oC2D3CR,SAAU,CAEV,iB/D27KF,C+Dx7KA,kBAGE,gCAFA,c/D27KF,C+D57KA,qBAMI,Y/Dy7KJ,C+D/7KA,oBAUI,QAAS,CACT,S/Dw7KJ,C+Dp7KA,gBACE,c/Ds7KF,C+Dv7KA,uBAII,QAAS,CACT,S/Ds7KJ,C+Dl7KA,kBTgDE,6BS7CA,eT4CA,gBtDy4KF,C+Dx7KA,4BTqDI,eAAgB,CAChB,etDs4KJ,C+D57KA,uCT0DI,gBtDq4KJ,C+D/7KA,wCT8DI,atDo4KJ,C+D37KA,+BACE,e/D67KF,CgE1/KA,QAEE,WAAY,CACZ,iBAAkB,CAFlB,UhE8/KF,CgE1/KE,sBACE,ahE4/KJ,CgEx/KA,uBAQE,4CAA6C,CAC7C,+CAAgD,CAChD,gDAAiD,CACjD,oDAAqD,CACrD,iDAAkD,CALlD,gCAA+B,CAF/B,iBAAkB,CAElB,kBAA+B,CAA/B,gBAA+B,CAL/B,WAAY,CACZ,aAAc,CAFd,UhEqgLF,CgEv/KA,wBACE,GAEE,uBhEw/KF,CACF,CgEr/KA,2BACE,GACE,0BAA4B,CAC5B,uBhEu/KF,CACF,CgEp/KA,4BACE,GACE,2BAA6B,CAC7B,uBhEs/KF,CACF,CgEn/KA,gCACE,GACE,+BAAiC,CACjC,uBhEq/KF,CACF,CgEl/KA,6BACE,GACE,4BAA8B,CAC9B,uBhEo/KF,CACF,CiE5iLA,QACE,ejE8iLF,CiE1iLA,mCAMI,eAFA,oBADA,gBjE4iLJ,CiEviLI,qCACE,oBAAqB,CACrB,qBjEyiLN,CiEnjLA,uCAcM,YACA,gBjEwiLN,CiEvjLA,sCAoBI,gBjEsiLJ,CiE1jLA,kCA+BI,cAPA,aAAc,CACd,YAGA,kBACA,iBjEsiLJ,CiEliLI,gFAGE,6BADA,ajEqiLN,CiExkLA,iDA2CM,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,UjEsiLN,CiE9kLA,yCAgDM,yBAMA,aAAc,CALd,iBAAkB,CAGlB,SAAU,CADV,OjEkiLN,CiE1hLI,oIAGE,yBAEA,ajE2hLN,CiE3lLA,+DAuEI,WjEwhLJ,CiE/lLA,uFA0EM,gBjEyhLN,CiEnmLA,gDAgFI,YjEshLJ,CiEtmLA,oDAoFM,YADA,UjEuhLN,CiEhhLA,8BACE,wBAAyB,CACzB,aAAc,CACd,QAAW,CACX,kBAAmB,CACnB,UjEkhLF,CiEhhLE,iCACE,kBAAmB,CACnB,UjEkhLJ,CiE/gLE,2EAEE,eAAgB,CAChB,WAAY,CAOZ,cANA,aAAc,CAEd,mBAAoB,CADpB,gBAAiB,CAMjB,iBAAkB,CAHlB,UjEkhLJ,CiE7gLI,uQAIE,yBADA,ajEmhLN,CiE/gLI,mFAEE,YADA,UjEmhLN,CiE9gLE,wCACE,oBjEghLJ,CiE7gLE,kDACE,eACA,gBjE+gLJ,CiE1gLA,yBACE,sBACE,ejE4gLF,CACF,CiExgLA,mCACE,YjE0gLF,CiEvgLA,yBACE,qCACE,YjEygLF,CiEtgLA,mCACE,ajEwgLF,CACF,CkE1qLE,2BAKE,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CATjB,2BAEA,iBAAkB,CAGlB,UlE6qLJ,CkErrLA,mBAgBI,iBAAkB,CAClB,OlEwqLJ,CkEpqLA,gBACE,gBlEsqLF,CkEpqLE,6DAGE,yBACA,alEsqLJ,CkEnqLE,mEAGE,yBACA,alEqqLJ,CkEhqLE,0KAME,yBACA,UlEkqLJ,CmEntLA,aACE,aAAc,CAGd,mBADA,SnEqtLF,CmEjtLA,kBACE,oBAAqB,CAIrB,eAAgB,CAFhB,mBADA,kBAEA,SnEotLF,CmEhtLA,oBAEE,kBAAmB,CADnB,YAAa,CAEb,oBnEktLF,CmEhtLE,gDAEE,anEktLJ,CmE/sLE,oDAEE,anEitLJ,CmEntLE,kGAKI,yBnEktLN,CmE9sLE,2BACE,anEgtLJ,CmE5sLA,iCACE,gBnE8sLF,CoEpvLA,WACE,0BAA6B,CAC7B,iBAAkB,CAClB,eAAgB,CAChB,4CACA,uOpEuvLF,CoEjvLA,eAYE,gBAAiB,CAKjB,kCAAmC,CAKnC,iCAAkC,CAGlC,4BAA6B,CAX7B,aAAc,CAVd,oBAAqB,CAHrB,0BAA6B,CAE7B,iBAAkB,CADlB,eAAmB,CAInB,UAAW,CAIX,qBAAsB,CAHtB,aAAc,CACd,iBAAkB,CAWlB,iCAAkC,CAVlC,mBAAoB,CAEpB,qBAAsB,CAEtB,kBAAmB,CARnB,SpEowLF,CqEnxLA,eACE,mBACA,gCACA,aAAc,CACd,gBrEqxLF,CqEzxLA,0BAOI,gBrEqxLJ,CqE5xLA,iBAYI,eAAkB,CADlB,arEqxLJ,CqE7wLA,oCACE,eACE,iBrE+wLF,CqEhxLA,6BAII,WrE+wLJ,CqEnxLA,4CAOM,erE+wLN,CACF,CqEzwLA,oCACE,2BAGI,oBADA,gBrE2wLJ,CqE7wLA,6BAOI,UAAW,CAEX,QAAS,CADT,iBrE0wLJ,CqElxLA,4CAYM,crEywLN,CqErxLA,6BAiBI,iBACA,erEuwLJ,CqEzxLA,+BAqBM,erEuwLN,CqE5xLA,mCA0BM,eAAkB,CADlB,YrEuwLN,CACF,CqEhwLA,cACE,crEkwLF,CqEnwLA,sBAKI,YACA,iBAAkB,CAFlB,UrEowLJ,CqExwLA,qCAWI,YADA,UrEkwLJ,CqE5vLA,wBACE,erE8vLF,CqE1vLA,kBACE,kBrE4vLF,CqEzvLA,oDACE,erE2vLF,CqEvvLA,+BAEI,QrEwvLJ,CqE1vLA,+BAMI,arEuvLJ,CsE/1LA,mDAIE,qBACA,uBAHA,WADA,OtEo2LF,CsE51LA,0BACE,eACA,iBtE81LF,CsEh2LA,wCAOI,eACA,iBAHA,kBtEg2LJ,CsEr2LA,wCAYI,kBtE41LJ,CsEv1LA,8BACE,eACA,iBtEy1LF,CsE31LA,4CAOI,eACA,iBAHA,kBtE21LJ,CuE13LA,gCAEE,sBAAuB,CACvB,wBvE43LF,CuE/3LA,8DAUI,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CATjB,sBAAiB,CAEjB,iBAAkB,CAGlB,UvE83LJ,CuEt3LA,oCACE,gBAEE,aAAc,CADd,UvEy3LF,CuE13LA,+BAKI,UAAW,CACX,cvEw3LJ,CuE93LA,0BAUI,aAAc,CAEd,gBAAiB,CAEjB,eAAgB,CAChB,kBvEq3LJ,CACF,CuEh3LA,yBAGE,YAAa,CAFb,iBAAkB,CAClB,WvEm3LF,CuE92LA,aACE,iBvEg3LF,CuEj3LA,2BAII,kBvEg3LJ,CuEp3LA,4BAYI,cACA,cAAe,CACf,gBAAiB,CAEjB,mBAAoB,CARpB,iBAAkB,CAElB,SAAU,CADV,OvEo3LJ,CwE76LE,sIAOE,iBxE86LJ,CwEr7LE,sLAWI,WAAY,CACZ,gBxEk7LN,CwEh7LM,8MAEE,WAAY,CADZ,UxEw7LR,CwEl7LE,yCAEE,4BADA,wBxEq7LJ,CwE75LE,yMAEE,yBADA,qBxEg7LJ,CwE16LA,oBAGE,UAAW,CAFX,gBAAiB,CACjB,iBxE66LF,CwEx6LA,yBAME,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,gBAAiB,CAEjB,UxE46LF,CwEr6LA,oBACE,gBxEu6LF,CwEp6LA,yBACE,iBxEs6LF,CwEl6LA,oBACE,cAAiB,CACjB,exEo6LF,CyEt/LA,0FAKE,WAAY,CACZ,UAAW,CAKX,cAPA,aAAc,CAGd,UAAW,CAKX,eAAmB,CACnB,uBALA,gBAAiB,CAMjB,eAAgB,CAChB,kBAAmB,CANnB,UzE6/LF,CyE7+LE,0VANE,yBAEA,cACA,oBzEogMJ,CyE1/LE,8HACE,uBzE+/LJ,CyEhiMA,sJA0CI,UAAW,CAEX,cAAe,CALf,uBAEA,iBzEigMJ,CyE1iMA,sHAgDI,WAAY,CAEZ,iBAAkB,CAClB,OzE+/LJ,CyE1/LA,YACE,cACA,SzE4/LF,CyEz/LA,eAIE,eAAgB,CAHhB,sBACA,SzE4/LF,CyEt/LA,eACE,ezEw/LF,CyEp/LA,gCACE,gBzEs/LF,CyEl/LA,iCAEE,oBzEo/LF,CyEt/LA,sCAKI,YzEo/LJ,CyE/+LA,iBACE,iBzEi/LF,CyE9+LA,sEAEE,WAAY,CACZ,eAAgB,CAEhB,aAAc,CACd,QAAW,CACX,UzE++LF,CyE3+LA,8BACE,iBzE6+LF,CyE9+LA,mCAII,QzE6+LJ,CyEx+LA,uBACE,WzE0+LF,CyEv+LA,gCAGE,eAFA,gBzE0+LF,CyE3+LA,uCAMI,ezEw+LJ,CyEj+LE,oEACE,WzEo+LF,CACF,CyEj+LA,6CAEE,oBAAqB,CADrB,kBzEo+LF,CyE/9LA,oCACE,+BAEE,WAAY,CADZ,eAAkB,CAalB,QAAW,CrE3Fb,oCACQ,4BqEqFN,UAAW,CAOX,QAAW,CAZX,gBAAiB,CACjB,eAAgB,CAchB,iBANA,cAAe,CAHf,QAAS,CACT,UzEo+LF,CyE/+LA,kCA0BI,UAAW,CAJX,UAAW,CAEX,QzE49LJ,CyEx9LI,2EAKE,gCAFA,oBADA,gBzE49LN,CACF,C0E7oMA,gBACE,mBAAqB,CACrB,sB1E+oMF,C0E5oMA,oKAME,U1E8oMF,C0E3oMA,sLAME,yBACA,a1E6oMF,C2EnqMA,cAME,QAAS,CAFT,WAGA,S3EmqMF,C2E1qMA,+BAEE,kBAAmB,CADnB,Y3EmrMF,C2EprMA,iBAiBI,kBAGA,cAAe,CALf,YAHA,sBAAuB,CAMvB,oBAAqB,CAJrB,U3EsqMJ,C2EprMA,oBAwBI,iB3E+pMJ,C2EvrMA,6BA4BI,eACA,gB3E8pMJ,C2E1pMA,6BAEE,mBADA,a3E6pMF,C2EzpMA,4BAEE,mBADA,a3E4pMF,C2ExpMA,sBAEE,mBADA,a3E2pMF,C2EvpMA,kBAEE,mBADA,a3E0pMF,C2EtpMA,wBAEE,mBADA,U3EypMF,C2ErpMA,oBAEE,mBADA,a3EwpMF,C2EppMA,oBAEE,mBADA,U3EupMF,C4EvtMA,iBAEE,kBAAmB,CAEnB,cAHA,YAAa,CAIb,eACA,e5EwtMF,C4E9tMA,gCASI,mBACA,8B5EwtMJ,C6EluMA,kBAEE,kBAAmB,CADnB,Y7EquMF,C6EjuMA,wBACE,MAAO,CACP,iB7EmuMF,C6EruMA,4BAKI,iB7EmuMJ,C6E/tMA,uBACE,MAAO,CAGP,eAAgB,CAChB,sBAAuB,CAFvB,kB7EkuMF,C8E9uMA,sDAIE,SAAU,CAHV,QAAW,CACX,aAAgB,CAGhB,OAAU,CAFV,W9EkvMF,C8E5uMA,qCACE,QAAW,CACX,Y9E8uMF,C8E1uMA,2BACE,iB9E4uMF,C8ExuMA,wBACE,U9E0uMF,C8E3uMA,2BAII,QAAW,CAEX,eAAgB,CAChB,sBAAuB,CAFvB,kB9E4uMJ,C8EjvMA,8BAWI,aAAc,CAEd,c9EyuMJ,C+E1wMA,aAEE,e/E4wMF,C+ExwMA,+BACE,c/E0wMF,C+EtwMA,gBACE,QAAS,CAET,wB/EuwMF,CgFxxMA,gBACE,gBhF0xMF,CiFxxMA,oCACE,oBACE,iBjF0xMF,CiF3xMA,kCAII,WjF0xMJ,CiF9xMA,iDAOM,ejF0xMN,CACF,CiFpxMA,oCACE,oBAEE,sBjFsxMF,CiFxxMA,kCAKI,UjFsxMJ,CiF3xMA,iDAQM,cjFsxMN,CiF9xMA,kCAaI,iBACA,ejFoxMJ,CiFlyMA,wCAiBM,ejFoxMN,CiFryMA,8CAqBM,iBjFmxMN,CACF,CiF7wMA,oBACE,SAAY,CAEZ,iBjF8wMF,CkF7zMA,eAEE,mBADA,elFg0MF,CkFj0MA,+BAMI,gBlF+zMJ,CkF1zMA,gDAEE,UAAW,CAEX,eAHA,iBlF8zMF,CmF10MA,Y/EgBE,0DACK,qDACG,kD+EjBR,anF+0MF,CmF10MA,gCACE,G7DRA,0BACA,StBq1MA,CmF30MA,I7DXA,yBACA,UtBy1MA,CmF50MA,G7DdA,0BACA,StB61MA,CACF,CmF30MA,iBACE,mBACA,mBAAoB,CACpB,oBAAqB,CACrB,YAEA,iBAAkB,CAClB,OnF40MF,CmFz0MA,uCAEI,gBnF00MJ,CmFx0MI,kDACE,cnF00MN,CmFp0MA,gBACE,mBACA,iBnFs0MF,CoFj3MA,oBACE,gBpFm3MF,CoF/2MA,YACE,iBpFi3MF,CoF72MA,oCACE,iBACE,kBACA,kBpF+2MF,CACF,CqF73MA,mBACE,YrF+3MF,CqFh4MA,wBAII,aAAc,CACd,UrF+3MJ,CqFp4MA,6BASI,gBrF83MJ,CqFz3MA,oCACE,iCACE,MrF23MF,CACF,CsF54MA,eACE,YtF84MF,CsF14ME,uHAIE,sBAAuB,CACvB,kBAAmB,ClFwDrB,wBACQ,gBkFtDN,aAIA,YAAa,CAFb,kBAIA,etF04MJ,CsFz5MA,wCAyBI,eAAgB,CAEhB,cAHA,cAAe,CAHf,WAAY,CAFZ,iBAGA,UtF24MJ,CsFn4ME,qDACE,atFq4MJ,CsFj4MA,WACE,ctFm4MF,CsFh4MA,oCAWE,eAAgB,CAPhB,UAAW,CAKX,cACA,cAAe,CAJf,WAAY,CALZ,gBAAiB,CAEjB,iBAAkB,CAIlB,UtFm4MF,CsF53MA,cACE,etF83MF,CsF53ME,kDACE,etF+3MF,CsFh4MA,mBAII,YtF+3MJ,CACF,CuF97ME,sCACE,avFg8MJ,CuF77ME,sCACE,avF+7MJ,CuF57ME,uCACE,avF87MJ,CwFv8ME,+CACE,iBxF08MF,CACF,CwFt8MA,4BAEE,WAAY,CADZ,UxFy8MF,CwFp8MA,oCACE,wBACE,YxFs8MF,CACF,CwFn8MA,oCACE,kBACE,YxFq8MF,CACF,CyF59MA,SACE,aAAc,CACd,czF89MF,CyF39MA,iBAEE,YAAa,CACb,MAAO,CAFP,oBAAqB,CAGrB,kBzF69MF,CyF19MA,cACE,MAAO,CACP,czF49MF,CyF99MA,iCAMI,QzF49MJ,CyFx9MA,qBACE,MzF09MF,CyFv9MA,gBACE,YzFy9MF,CyFt9MA,oCACE,SACE,YzFw9MF,CyFr9MA,+BAIE,kBAAmB,CAFnB,MzFw9MF,CyFn9MA,0FAEE,MzFq9MF,CyFl9MA,gBACE,aAAc,CACd,MzFo9MF,CyFj9MA,2BACE,WzFm9MF,CACF,CyF98MA,oCACE,gBACE,iBzFg9MF,CACF,C0F9gNA,KACE,qB1FghNF,C0F7gNA,YAGE,oB1F+gNF,C0F3gNE,0FANA,cACA,e1FuhNF,C0F1gNE,mBACE,yB1F4gNJ,C0FxgNA,cACE,iB1F0gNF,C0F3gNA,6BAMI,cAAe,CAGf,WAAY,CAFZ,gBAAiB,CAHjB,0BAMA,U1FwgNJ,C0FpgNA,eAEE,eAAgB,CAChB,sBAAuB,CAFvB,kB1FwgNF,C2F9iNA,6HAQI,oB3F+iNJ,C2F1iNA,4GAOI,e3F2iNJ,C2FtiNA,6CAEE,a3FwiNF,C2FtiNE,mEACE,Y3FyiNJ,C2FtiNE,iEACE,e3FyiNJ,C2FpiNA,mBAEE,gBAAiB,CADjB,c3FuiNF,C2FliNA,sDAEE,mBACA,WAAY,CAEZ,c3FmiNF,C2FxiNA,oFAQI,gCAGA,eACA,eAAiB,CAHjB,iB3FsiNJ,C2F/hNA,sDAEE,wB3FiiNF,C2F9hNA,2BACE,gBACA,QAAW,CACX,Y3FgiNF,C2F9hNE,8EAEE,wB3FgiNJ,C2F3hNA,8BACE,mBAGA,c3F4hNF,C2FzhNA,8BACE,yBACA,iB3F2hNF,C2FxhNA,6BACE,gBACA,QAAW,CACX,Y3F0hNF,C2FvhNA,gCASE,e3FyhNF,C2FthNA,wDACE,Y3FwhNF,C2FphNA,uCAII,sB3FshNJ,C2FlhNA,uCAII,uB3FohNJ,C2F/gNA,mBACE,eAAgB,CAChB,WAAY,CAIZ,UAAW,CAFX,eAAgB,CADhB,Y3FmhNF,C2FthNA,6BASI,aACA,a3FghNJ,C4F5pNA,yDAEI,kBAMA,YAAa,CALb,aAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAElB,W5F6pNJ,C4FpqNA,iEAWM,YAAa,CAIb,YAAa,CAFb,iBAAkB,CAClB,Q5F4pNN,C4F1qNA,wFAqBQ,6BAA+B,CAH/B,iBAAkB,CAMlB,YAAa,CADb,W5F2pNR,C4FtpNI,6EtE7BF,yBACA,WtBsrNF,C4F1pNI,iFAMI,a5FupNR,C4FnpNI,kFAIE,YAAa,CAHb,mBAEA,W5FspNJ,C4FzpNE,6DAQI,YAAa,CADb,W5FspNN,C4F7pNE,iEAaI,YAAa,CADb,Q5FqpNN,C4FjqNE,wFAiBM,YAAa,CADb,W5FqpNR,CACF,C4F5sNA,8CA8DI,e5FipNJ,C4F5oNA,0CACE,iB5F8oNF,C4F/oNA,yDAII,sBAAuB,CACvB,yBACA,kBxFRF,wBACQ,gBwFWN,cACA,eAJA,kBAKA,iB5F8oNJ,C4F5oNI,wEACE,aAAc,CAId,eAEA,YAJA,qBAGA,U5F8oNN,C4F1oNI,+HAEE,qBACA,a5F4oNN,C4FvqNA,sDAgCI,iB5F0oNJ,C4F1qNA,+DAqCM,kBACA,mBAEA,eAAgB,CAChB,U5FuoNN,C4FhrNA,qEA8CM,aAAgB,CADhB,S5FuoNN,C4FhoNA,8BACE,a5FkoNF,C4FnoNA,uDAOI,uBAAwB,CAGxB,qBAAuB,CANvB,gBASA,U5F6nNJ,C4F3nNI,sFAGE,mBACA,WAAY,CACZ,iBAAkB,CAHlB,UAAW,CADX,U5FioNN,C4F1nNI,6EACE,uBAAwB,CAKxB,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CAIZ,eAAgB,CAHhB,U5F+nNN,C4FznNI,6DACE,Y5F2nNN,C4FxnNI,4FACE,kB5F0nNN,C4FvnNI,yEAGE,mBACA,WAAY,CACZ,iBAAkB,CAHlB,UAAW,CADX,U5F6nNN,C4FtnNI,yEAKE,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CACZ,U5F0nNN,C4FpnNI,sEACE,sBAAwB,CACxB,mB5FsnNN,C4FnnNI,kEAKE,sBAAuB,CAGvB,wBAAyB,CACzB,kBAAmB,CAGnB,iBAAkB,CAVlB,UAAW,CADX,U5F6nNN,C4F1mNI,8IACE,mBACA,kB5FgnNN,C4F7mNI,kEAKE,mBAJA,WAAY,CAGZ,iBAAkB,CAFlB,WAAY,CACZ,U5FinNN,C4FxmNI,0JACE,kB5F6mNN,C4FvmNA,2CACE,gB5FymNF,C4F1mNA,4DAII,kB5FymNJ,C4F7mNA,+DAOM,Y5FymNN,C4FhnNA,wEAaM,kB5FsmNN,C4FnnNA,wEAmBM,eAAgB,CADhB,yBADA,kBAGA,WAAY,CACZ,iB5FqmNN,C4FnmNM,4JAEE,oB5FqmNR,C4FlmNM,uKAEE,oB5FomNR,C4FloNA,4EAkCQ,kBAEA,WAAY,CADZ,U5FomNR,C6Ft2NA,2CACE,a7Fw2NF,C6Fr2NA,oDACE,a7Fu2NF,C6Fn2NA,uCAEI,oBAAqB,CACrB,eAAgB,CAKhB,sBAAuB,CACvB,kBAAmB,CAJnB,kBAAmB,CACnB,W7Fq2NJ,C6Fh2NI,2EACE,W7Fm2NJ,CACF,C6Fj2NI,2EACE,W7Fo2NJ,CACF,C6F/1NA,wCAKI,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,U7Fm2NJ,C6Fr2NA,2BAUI,Q7F81NJ,C6Fx1NA,gCAEE,iBADA,a7F21NF,C6F51NA,mCAKI,aAAc,CACd,U7F01NJ,C6Fh2NA,8PAcM,yBACA,yBACA,kBAKA,cAJA,oBAAqB,CACrB,gBACA,gB7F21NN,C6Ft1NI,gIAGE,yBAEA,cACA,oB7Fu1NN,C6Fl1NA,6BAEI,gBAEA,e7Fk1NJ,C8F36NA,qBACE,yBACA,YAAa,CAEb,oBADA,gBAEA,eAEA,qB9F46NF,C8F16NE,8BACE,a9F46NJ,C8Fv6NA,gCACE,kB9Fy6NF,C8F16NA,8CAII,wB9Fy6NJ,C8F76NA,sDAUM,kBAAmB,CADnB,e9Fw6NN,C8Fj7NA,gEAaQ,gBAEA,iBAAkB,CAClB,O9Fs6NR,C8Ft7NA,gEA6BM,cAAe,CAPf,WAAY,CAQZ,gBAAiB,CANjB,cAAiB,CAEjB,iBAAkB,CAKlB,iBAAkB,CAJlB,OAAQ,CANR,U9F26NN,C8F35NA,oBACE,eACA,iB9F65NF,C8F/5NA,kCAKI,eAAgB,CAChB,W9F65NJ,C8Fx5NA,gBACE,iB9F05NF,C8Fv5NA,wBACE,Y9Fy5NF,C8F15NA,+CAKI,YAAa,CADb,W9F05NJ,C8Fl5NA,iBACE,iB9Fo5NF,C8Fr5NA,gCAWI,eAFA,YAGA,iBARA,0BACA,iBAAkB,CAClB,QAAS,CAET,U9Fs5NJ,C8F95NA,iCAiBM,c9Fg5NN,C+F/+NA,eACE,qBAAsB,CACtB,yBACA,iB/Fi/NF,C+F9+NA,6BAEE,WAAY,CACZ,W/F++NF,C+F5+NE,oG3FoDA,wBACQ,eJ67NV,C+F1+NA,eACE,6BAEA,aAAc,CADd,gB/F6+NF,C+F/+NA,0BAMI,iB/F4+NJ,C+Fl/NA,2BAUI,gB/F2+NJ,C+Fr/NA,wCAcI,kB/F0+NJ,C+Ft+NE,iEAEI,oBAAsB,CAGtB,e/Fu+NJ,C+F5+NA,kCAQM,oBAAqB,CACrB,oBAAsB,CAEtB,mB/Fs+NN,C+Fj/NA,sCAiBM,gB/Fm+NN,C+Fp/NA,2CAsBM,UAAW,CAKX,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAPjB,iBAAkB,CAGlB,U/Fo+NN,CACF,C+F39NA,0DAEI,+BACE,a/F49NJ,CACF,C+Fv9NA,oCACE,cACE,iB/Fy9NF,C+F19NA,2BAII,aAAc,CACd,oBAAsB,CAKtB,gBAHA,U/F09NJ,CACF,C+Fl9NA,yBACE,QAAW,CACX,S/Fo9NF,C+Ft9NA,4BAKI,Q/Fo9NJ,C+Fh9NA,4BACE,6BAEA,sB/Fk9NF,C+Fr9NA,qDAMI,UAAW,CACX,U/Fk9NJ,C+Fz9NA,uDAWM,uBAA2B,CAD3B,qBAAsB,CAEtB,kBACA,aAAc,CAId,WAAY,CAFZ,aAAgB,CAChB,U/Fk9NN,C+Fl+NA,oDAsBI,UAAW,CAGX,iBAAkB,CAFlB,U/Fg9NJ,C+Fv+NA,mEAkCM,cAAe,CAHf,WAAY,CAIZ,gBAAiB,CAPjB,iBAAkB,CAClB,OAAQ,CAGR,U/F+8NN,C+F/+NA,uDAwCI,gB/F08NJ,C+Fl/NA,mHA+CM,eAHA,QAAW,CACX,S/F28NN,C+Fx/NA,yDAqDM,cACA,eAHA,c/F08NN,C+F7/NA,4DA0DM,kB/Fs8NN,C+Fh8NE,+DACE,e/Fm8NF,CACF,C+Fj8NE,+DACE,kBACA,kB/Fo8NF,CACF,C+Fj8NA,yBACE,6BAEA,sB/Fm8NF,C+Fh8NA,8BACE,UAAW,CAGX,iBAAkB,CAFlB,U/Fm8NF,C+Fr8NA,6CAaI,cAAe,CAHf,WAAY,CAIZ,gBAAiB,CAPjB,iBAAkB,CAClB,OAAQ,CAGR,U/Fk8NJ,C+F37NA,iCACE,gBAAiB,CACjB,cACA,iB/F67NF,C+Fh8NA,uEAUI,eAHA,QAAW,CACX,S/F87NJ,C+Ft8NA,mCAeI,eADA,c/F47NJ,C+F18NA,sCAmBI,iBAAkB,CAElB,WADA,O/F27NJ,C+Fx7NI,0EACE,aAAc,CAEd,gBAEA,e/Fy7NJ,CACF,C+Fr7NA,gCACE,mBACA,a/Fu7NF,C+Fp7NA,4BACE,mBACA,UAAW,CACX,U/Fs7NF,C+Fn7NA,kCACE,QAAW,CACX,gB/Fq7NF,C+Fj7NA,qBAEE,YAAa,CADb,iBAAkB,CAElB,W/Fm7NF,C+F/6NA,sBACE,kBAIA,YAHA,0BAEA,U/Fi7NF,CgG7rOA,uEAEE,kBhG+rOF,CgG7rOE,8UAME,eAAgB,CAFhB,SAAY,CAIZ,ehGisOJ,CgG7sOA,+EAgBI,qBAAsB,CAEtB,WAAY,CAEZ,gBAAiB,CAHjB,UhGmsOJ,CgG3rOA,sBAEE,chG6rOF,CiGxtOA,uCAEI,SjGytOJ,CiG3tOA,4CAMI,sBAAuB,CACvB,kBAAmB,CACnB,UAAW,CAKX,WAAY,CAHZ,kBAAoB,CACpB,SAAY,CAIZ,iBAAkB,CAClB,OAAQ,CAJR,UjG2tOJ,CiGvuOA,2DAsBM,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,UjG0tON,CiGjtOI,iGAGE,sBAAuB,CACvB,WAAY,C7FkChB,wBACQ,gB6FhCJ,gBAAiB,CADjB,YAAa,CAEb,iBACA,UjGotON,CkGxvOA,YAGE,UAAW,CAFX,QAAW,CACX,SlG2vOF,CkG7vOA,eAMI,eAAgB,CAChB,QAAW,CACX,SlG0vOJ,CmGlwOA,WACE,cnGowOF,CmGrwOA,kBAII,QnGowOJ,CmGxwOA,0BAQI,WAAY,CACZ,UnGmwOJ,CmGjwOI,8DAGE,WAAY,CAFZ,cAAe,CAGf,UnGmwOJ,CACF,CmGnxOA,wBAoBI,gBnGkwOJ,CmGtxOA,0BAwBI,aAAc,CAOd,eAFA,enG4vOJ,CmGzxOA,uCAmCM,eAAgB,CADhB,cnGgwON,CmGlyOA,uBAwCI,gBnG6vOJ,CmGzvOE,8DAII,eAFA,cnG4vOJ,CmG9vOA,uCAOM,YnG0vON,CmGjwOA,uBAaI,iBAAkB,CADlB,cnGyvOJ,CmGrwOA,mDAqBI,anGsvOJ,CACF,CmGjvOA,cACE,WnGmvOF,CmGjvOE,kDACE,enGovOF,CACF,CmGzvOA,0BAQI,gBnGovOJ,CmG5vOA,qBAmBI,eACA,eAAmB,CAHnB,cnGovOJ,CmGrwOA,4BAwBI,yBAEA,UnG+uOJ,CmG1uOA,oCACE,uBACE,YnG4uOF,CACF,CmGzuOA,oCACE,0BACE,YnG2uOF,CACF,CmGvuOA,WAEE,oBADA,gBnG0uOF,CmGruOA,qBACE,anGuuOF,CmGxuOA,oCAII,UAAW,CAEX,cAAe,CACf,gBnGsuOJ,CmG7uOA,uBAaI,mBnGquOJ,CmGjuOA,yBACE,yBAEA,UnGkuOF,CmG/tOA,oBACE,yBAEA,UnGguOF,CmG7tOA,wBACE,yBAEA,UnG8tOF,CmG3tOA,uBACE,yBAEA,UnG4tOF,CmGxtOA,wBAEI,iBnGytOJ,CmG3tOA,yBAMI,gBnGwtOJ,CmG9tOA,eAYI,eAAkB,CADlB,kBAAmB,CADnB,enGytOJ,CmGltOA,kBAGE,6BACA,gBnGktOF,CmGttOA,uBAOI,kBnGktOJ,CmGztOA,mCAWI,oBnGitOJ,CmG5tOA,2BAeI,anGgtOJ,CmG/tOA,2CAmBI,UAAW,CACX,YAGA,iBAAkB,CAFlB,UnGgtOJ,CmGruOA,mCA2BI,gBnG6sOJ,CmGxuOA,kCAiCI,uBAA2B,CAD3B,qBAAsB,CAEtB,kBAHA,aAAc,CAKd,YADA,UnG6sOJ,CmGhvOA,iCA8CI,cAAe,CALf,WAAY,CAMZ,gBAAiB,CAJjB,iBAAkB,CAClB,OAAQ,CAJR,UnGgtOJ,CmGvsOI,qMAKE,cACA,oBnGysON,CmGhwOA,+CA+DI,cACA,eAJA,QAAW,CACX,SnGysOJ,CoG37OA,qCAII,eAFA,QpG67OJ,CoG/7OA,kCAUI,eAFA,QpG27OJ,CoGr7OA,2BACE,oBpGu7OF,CoGp7OA,0BAIE,WAAY,CAHZ,YAAe,CAEf,UpGs7OF,CoGl7OA,yBACE,WAAY,CACZ,apGo7OF,CoGj7OA,8BAME,oBAAqB,CALrB,kBACA,cAAe,CAEf,eAAgB,CAChB,kBpGm7OF,CqGr9OA,mBAGE,cAFA,kBrGw9OF,CqGz9OA,0BAMI,crGs9OJ,CqGj9OA,uCAEI,yBAEA,UrGi9OJ,CqG58OA,+BACE,eAAkB,CAElB,gBrG68OF,CqGh9OA,8CAWI,eAHA,YAIA,iBANA,kBAAmB,CAQnB,iBAAkB,CALlB,UrG+8OJ,CqGr8OA,8BACE,iBrGu8OF,CqGn8OA,kCAGE,eAFA,iBrGs8OF,CqGj8OA,+BAGE,eAFA,QrGo8OF,CqGr8OA,kCAMI,iBrGk8OJ,CqGh8OI,6CACE,crGk8ON,CqG57OA,6CAEI,QAAW,CAKX,eAHA,kBACA,SrG87OJ,CqG17OI,wDACE,crG47ON,CqGt7OA,oCACE,+BAGE,gBAAiB,CAFjB,UrGy7OF,CqGp7OA,0CACE,crGs7OF,CqGn7OA,+BACE,crGq7OF,CqGl7OA,mCACE,UAAW,CACX,crGo7OF,CqGt7OA,6CAOI,eAFA,iBrGq7OJ,CqGj7OI,wDACE,crGm7ON,CACF,CsG/hPA,qBAEE,QAAW,CADX,StGkiPF,CsGniPA,oCAMI,aADA,StGkiPJ,CsGviPA,gCAUI,gBtGgiPJ,CsG1iPA,oCAcI,atG+hPJ,CsG7iPA,oCAkBI,atG8hPJ,CsG1hPA,6BACE,iBAAkB,CAClB,kBtG4hPF,CsGxhPE,oCC1BA,mGAGI,iBvGyjPJ,CuG5jPA,sDAQI,eADA,WvG0jPJ,CAVF,CuGziPA,oCACE,wDAGI,iBACA,mBACA,avGqjPJ,CuG1jPA,sDASI,UvGqjPJ,CuG9jPA,oFAYM,cvGsjPN,CuGlkPA,sDAoBI,eAFA,kBADA,evGujPJ,CuGxkPA,oEAuBM,cvGqjPN,CACF,CwG9lPA,cACE,kBxGgmPF,CwG5lPA,mBAEE,kBAAmB,CADnB,YxG+lPF,CwGhmPA,uBAMI,YADA,UxG+lPJ,CwG1lPA,2BAEE,MxG8lPF,CwGzlPA,yDAJE,kBAAmB,CAFnB,YAAa,CAGb,sBxGimPF,CwGvlPA,4BACE,kBxGylPF,CwGtlPA,mBAEE,kBAAmB,CAKnB,kBANA,YAAa,CAOb,eAHA,YAFA,sBAAuB,CAMvB,iBALA,UxG4lPF,CwGrlPE,+HAKE,yBACA,cACA,oBxGulPJ,CwGllPE,mJAKE,yBACA,UxGolPJ,CwG/kPA,6BACE,MxGilPF,CwG7kPE,kKAOE,cAFA,eAGA,wBxG8kPJ,CwG1kPA,6BACE,cxG4kPF,CwG1kPE,iLAKE,cACA,wBxG4kPJ,CwGvkPE,sLAKE,axGykPJ,CwGpkPA,6BACE,iBxGskPF,CwGnkPA,mBACE,UxGqkPF,CwGlkPA,8EAGI,SxGmkPJ,CwG9jPA,gCACE,kBAEA,kBxG+jPF,CwG5jPA,6BAGE,kBAEA,eACA,eAAiB,CALjB,exGikPF,CwG1jPE,8MAOE,mBADA,cAEA,oBxG4jPJ,CwGxjPI,0ZAOE,6BAA8B,CAD9B,UxG2jPN,CwGrjPA,mCACE,0BACA,gBxGujPF,CwGpjPA,gEACE,yBxGsjPF,CwGljPA,+BAEE,kBADA,UxGqjPF,CwGhjPA,mCACE,iBxGkjPF,CwGnjPA,uCAII,iBxGkjPJ,CwG7iPA,qCAIE,eAAgB,CAFhB,kBAIA,sBAAuB,CADvB,kBAAmB,CAJnB,WxGmjPF,CwGpjPA,mOAaI,cACA,cxG8iPJ,CwGziPA,oEAEE,iBxG2iPF,CwGviPA,+DAEE,YxGyiPF,CwGtiPA,oCAEE,cACE,kBACA,kBxGuiPF,CwGziPA,yDAOI,aAAc,CADd,eAAgB,CAEhB,cxGuiPJ,CwGliPA,yBACE,YxGoiPF,CwGjiPA,4BACE,oBxGmiPF,CwG/hPA,4BACE,YxGiiPF,CACF,CwG9hPA,oCAEE,mBACE,axG+hPF,CwGhiPA,uBAMI,YADA,UxG+hPJ,CwGzhPA,2BACE,iBAAkB,CAClB,mBxG2hPF,CwGvhPA,8BAEE,MAAO,CADP,mBxG0hPF,CwGvhPE,kCAEE,mBADA,UxG0hPJ,CwGphPA,oEAEE,YxGshPF,CwGlhPA,mCACE,aAAc,CACd,iBxGohPF,CwGthPA,6CAKI,WxGohPJ,CwGzhPA,4DAQM,cxGohPN,CACF,CwG9gPA,qCAEE,mCAAqC,CADrC,UxGihPF,CwG7gPA,gBACE,IACE,UxG+gPF,CACF,CwG3gPA,4BACE,SxG6gPF,CwG1gPA,gCAGE,mBAEA,WAAY,CACZ,0BAFA,cAHA,iBxGghPF,CwGxgPA,4EAEE,mBACA,axG0gPF,CwGvgPA,uCACE,mBACA,UxGygPF,CyGl1PA,mBAEI,aAAc,CACd,azGm1PJ,CyG90PA,kCACE,UzGg1PF,CyG90PE,sEACE,WzGi1PF,CyGl1PA,sCAKI,WAAY,CAEZ,iBAAkB,CAClB,OAAQ,CAJR,UzGo1PJ,CACF,CyG30PA,2BACE,UAAW,CACX,czG60PF,CyG30PE,+DACE,mBACA,SzG80PF,CACF,CyG50PE,+DACE,UAAW,CACX,gBAAiB,CACjB,UzG+0PF,CACF,CyG70PE,+DACE,iBACA,SzGg1PF,CyGl1PA,sCAKI,czGg1PJ,CACF,CyG30PA,8BAGE,sBAAuB,CAFvB,azG80PF,CyG/0PA,8HAQI,aAAc,CACd,UAAW,CAGX,eAFA,gBzG60PJ,CyGz0PI,kKACE,gBzG80PJ,CACF,CyG91PA,0CAoBI,czG60PJ,CyG10PE,kEACE,gBzG60PF,CyG90PA,mFAKI,WAAY,CACZ,eAAgB,CAEhB,iBAAkB,CAClB,OAAQ,CAER,uBzG20PJ,CACF,CyGx0PE,kEACE,czG20PF,CyG50PA,mFAKI,ezG20PJ,CACF,CyGt0PA,6BACE,aAAc,CAEd,iBAAkB,CAClB,OzGu0PF,CyG30PA,kCAOI,aAAc,CACd,UzGu0PJ,CyGp0PE,iEACE,WAAY,CACZ,ezGu0PF,CACF,CyGr1PA,0CAiBI,iBzGu0PJ,CyGr0PI,8EAME,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,KAAQ,CAER,UzG00PJ,CACF,CyGp0PI,8EAQE,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CANjB,gBAAiB,CAFjB,OAAQ,CAIR,UzGw0PJ,CACF,CyG/zPA,uIASI,cAAe,CALf,WAAY,CAMZ,gBAAiB,CAJjB,iBAAkB,CAClB,OzGi0PJ,CyGx0PA,yFAiBM,ezG2zPN,CyGrzPA,iPAMM,azGuzPN,CyGpzPI,yIACE,azGyzPJ,CyG1zPE,iPAKI,UAAW,CAEX,gBzG4zPN,CyGn0PE,0HAYI,gBAAiB,CADjB,cAAe,CAGf,gBzG4zPN,CyG10PE,wJAuBI,aAAc,CALd,UAAW,CAMX,eAAgB,CAJhB,iBAAkB,CAClB,QzG8zPN,CACF,CyGxzPI,yIACE,UAAW,CAIX,eAHA,cAAe,CAIf,iBAAkB,CAHlB,SzG+zPJ,CyGl0PE,uHASI,eACA,ezG8zPN,CACF,CyGzzPA,gLAKM,oBAAqB,CACrB,UzG0zPN,CyGh0PA,yFAUM,czG0zPN,CyGp0PA,uFAcM,iBzG0zPN,CyGvyPA,0DAEE,+BACE,czGgzPF,CyG5yPA,kCACE,YzG8yPF,CACF,C0GrjQA,4BAEE,cADA,iB1GwjQF,C0GzjQA,yCAKI,iB1GujQJ,C0GljQA,mBACE,aAAc,CAId,eAFA,eADA,S1GsjQF,C0GxjQA,sBAQI,oBAAqB,CACrB,eAAgB,CAChB,gB1GmjQJ,C0G7jQA,gCAgBI,UAAW,CAFX,gBAAiB,CACjB,iB1GmjQJ,C0GlkQA,0CAoBI,cACA,e1GijQJ,C0G5iQA,oCACE,qBAEE,oBAAqB,CADrB,Y1G+iQF,C0G3iQA,4BAEE,iB1G6iQF,CACF,C0GziQA,oCACE,4BAGE,iBAFA,iBAAkB,CAClB,Q1G4iQF,C0GxiQA,6BACE,kB1G0iQF,C0GviQA,mBACE,c1GyiQF,C2GpmQA,qBACE,aAAc,CACd,a3GwmQF,CALF,C2G9lQA,iCACE,U3GsmQF,C2GvmQA,yEAKI,iB3GsmQJ,C2G3mQA,iFASM,WAAY,CADZ,U3GwmQN,C2GnmQE,qHAQM,UAAW,CAHX,WAAY,CAEZ,iBAAkB,CAHlB,U3GumQN,C2G3lQA,iCACE,UAAW,CACX,S3G+lQF,CALF,C2GrlQA,0BACE,gBACA,a3G6lQF,C2G/lQA,+BAKI,aAAc,CACd,U3G6lQJ,C2GnmQA,yCAUI,aAEA,iBAAkB,CAClB,O3G2lQJ,C2GxlQE,8DACE,UAAW,CACX,S3G2lQF,C2GrlQA,+BACE,UAAW,CACX,S3GylQF,CALF,C4G3pQA,iBAGE,cACA,eAHA,gBAIA,iB5GkqQF,C4G9pQE,sDACE,gB5GiqQF,CACF,C4G/pQE,sDACE,mB5GkqQF,C4GnqQA,qBAII,iBAAkB,CAClB,O5GkqQJ,C4GvqQA,8BASI,e5GiqQJ,CACF,C6GprQA,MAIE,eAAgB,CAAE,UAAY,CAH9B,aAAc,CACd,eAAgB,CAChB,Y7G+rQF,C6G3rQA,yDAIE,U7G6rQF,C6G1rQA,eACE,iB7G4rQF,C6GzrQA,yCAGE,U7G2rQF,C6GxrQA,aACE,e7G0rQF,C6GvrQA,0BAEE,UAAW,CACX,iB7GyrQF,C6GtrQA,0BAEE,U7GwrQF,C6GrrQA,mCAEE,U7GurQF,C6GprQA,uCAEE,U7GsrQF,C6GnrQA,aACE,U7GqrQF,C6GlrQA,WACE,U7GorQF,C6GjrQA,uEAKE,U7GmrQF,C6GhrQA,aACE,wBAAyB,CACzB,U7GkrQF,C6G/qQA,aACE,a7GirQF,C6G9qQA,4DAIE,U7GgrQF,C8GtwQA,YAMI,eAAiB,CAEjB,qBAAsB,CACtB,iBAAkB,CAClB,kCAHA,UAAY,CAHZ,YAAa,CADb,MAAO,CAEP,eAAgB,CAMhB,eAAgB,CAVhB,kBACA,KAAM,CAUN,uB9GwwQJ,C8GrwQA,0BAII,+BAAgC,CAChC,aAAc,CAFd,cAAe,CAGf,cAAe,CACf,eAAiB,CALjB,UAAW,CADX,W9G6wQJ,C8GpwQA,iCACI,aAAc,CACd,WAAY,CAGZ,cAAe,CACf,eAAmB,CAFnB,iBAAkB,CADlB,e9GywQJ,C8GnwQA,gCACI,c9GqwQJ,C8GlwQA,iBACI,eAAmB,CACnB,U9GowQJ,C8GlwQA,uBACI,U9GowQJ,C8GlwQA,mBACI,U9GowQJ,C8GlwQA,wBACI,UAAY,CACZ,Q9GowQJ,C8GlwQA,eAEI,gBAEA,YACA,gBAAiB,CACjB,eAAgB,CAHhB,S9GuwQJ,C8GlwQA,kBAGI,4BAA6B,CAC7B,cAAe,CAHf,aAAc,CACd,gB9GuwQJ,C8GlwQA,kBAEI,UAAW,CADX,iBAAkB,CAElB,e9GowQJ,C+Gt0QA,KACE,YAAa,CACb,oB/Gw0QF,CgH10QA,YACE,iGhH40QF,CgHv0QA,YACE,iGhHy0QF,CgHp0QA,YACE,kGhHs0QF,CgHj0QA,YACE,mGhHm0QF,CgH9zQA,YACE,uGhHg0QF,CgH3zQA,aACE,yGhH6zQF,CgHxzQA,aACE,0GhH0zQF,CiH71QE,8IAME,mBACA,yB7GyDF,wBACQ,gB6GxDN,ajHg2QJ,CiH31QE,iI3FhBA,yBACA,WtBk3QF,CiH31QE,sCAEE,mBACA,yB7GuCF,wBACQ,gB6GtCN,ajH81QJ,CiHz1QE,2PAME,mBACA,yB7GyBF,wBACQ,gB6GxBN,ajH41QJ,CiHt1QI,uOAOE,iBjHw1QN,CiH94QE,8IAME,mBACA,yB7GyDF,wBACQ,gB6GxDN,UjHi5QJ,CiH54QE,iI3FhBA,yBACA,WtBm6QF,CiH54QE,sCAEE,mBACA,yB7GuCF,wBACQ,gB6GtCN,UjH+4QJ,CiH14QE,2PAME,mBACA,yB7GyBF,wBACQ,gB6GxBN,UjH64QJ,CiHv4QI,uOAOE,iBjHy4QN,CiH/7QE,8IAME,mBACA,yB7GyDF,wBACQ,gB6GxDN,UjHk8QJ,CiH77QE,iI3FhBA,yBACA,WtBo9QF,CiH77QE,sCAEE,mBACA,yB7GuCF,wBACQ,gB6GtCN,UjHg8QJ,CiH37QE,2PAME,mBACA,yB7GyBF,wBACQ,gB6GxBN,UjH87QJ,CiHx7QI,uOAOE,iBjH07QN,CiHh/QE,wIAME,mBACA,yB7GyDF,wBACQ,gB6GxDN,UjHm/QJ,CiH9+QE,4H3FhBA,yBACA,WtBqgRF,CiH9+QE,oCAEE,mBACA,yB7GuCF,wBACQ,gB6GtCN,UjHi/QJ,CiH5+QE,qPAME,mBACA,yB7GyBF,wBACQ,gB6GxBN,UjH++QJ,CiHz+QI,gOAOE,iBjH2+QN,CiHn+QE,sNAME,mBACA,yB7GLF,wBACQ,gB6GMN,ajHs+QJ,CiHj+QE,6L3F9EA,yBACA,WtBsjRF,CiHj+QE,8DAEE,mBACA,yB7GvBF,wBACQ,gB6GwBN,ajHo+QJ,CiH/9QE,+PAME,mBACA,yB7GrCF,wBACQ,gB6GsCN,ajHk+QJ,CiH59QI,2TAOE,mBACA,yB7GrDJ,wBACQ,gB6GsDJ,iBjH+9QN,CiHxhRE,sNAME,mBACA,yB7GLF,wBACQ,gB6GMN,UjH2hRJ,CiHthRE,6L3F9EA,yBACA,WtB2mRF,CiHthRE,8DAEE,mBACA,yB7GvBF,wBACQ,gB6GwBN,UjHyhRJ,CiHphRE,+PAME,mBACA,yB7GrCF,wBACQ,gB6GsCN,UjHuhRJ,CiHjhRI,2TAOE,mBACA,yB7GrDJ,wBACQ,gB6GsDJ,iBjHohRN,CiHt7QA,4BAEI,iBjHu7QJ,CiHhlRE,wOAME,uBACA,yB7GLF,wBACQ,gB6GMN,ajHmlRJ,CiH9kRE,4M3F9EA,yBACA,WtBmqRF,CiH9kRE,oEAEE,mBACA,yB7GvBF,wBACQ,gB6GwBN,ajHilRJ,CiH5kRE,iRAME,mBACA,yB7GrCF,wBACQ,gB6GsCN,ajH+kRJ,CiHzkRI,gVAOE,uBACA,yB7GrDJ,wBACQ,gB6GsDJ,iBjH4kRN,CiH9+QA,6BAoBI,iBjH69QJ,CiHxoRE,8OAME,mBACA,yB7GLF,wBACQ,gB6GMN,UjH2oRJ,CiHtoRE,iN3F9EA,yBACA,WtB2tRF,CiHtoRE,sEAEE,mBACA,yB7GvBF,wBACQ,gB6GwBN,UjHyoRJ,CiHpoRE,uRAME,mBACA,yB7GrCF,wBACQ,gB6GsCN,UjHuoRJ,CiHjoRI,uVAOE,mBACA,yB7GrDJ,wBACQ,gB6GsDJ,iBjHooRN,CkH3vRE,yMAGE,cACA,elHgwRJ,CkHpwRE,iFAGE,cACA,elHswRJ,CkH1wRE,0LAGE,cACA,elH+wRJ,CkHnxRE,kiBAGE,WACA,elHiyRJ,CkHryRE,iFAGE,cACA,elHuyRJ,CkH3yRE,qfAGE,cACA,elHyzRJ,CkH7zRE,uFAGE,cACA,elH+zRJ,CkHn0RE,8EAGE,cACA,elHq0RJ,CkHz0RE,oFAGE,cACA,elH20RJ,CkHzxRA,uBAGI,mBADA,elH2xRJ,CkH7xRA,uBAOI,YlHyxRJ,CmHv1RA,yCAEE,qBACA,kCnHy1RF,CmHv1RE,qDACE,qBACA,kCnH01RJ,CmHt1RA,8BACE,qBACA,kCnHw1RF,CmHt1RE,oCACE,qBACA,kCnHw1RJ,CmHp1RA,gCACE,qBACA,kCnHs1RF,CmHp1RE,sCACE,qBACA,kCnHs1RJ,CmHj1RA,mBACE,enHm1RF,CmHp1RA,+BAMI,cACA,eAHA,cnHq1RJ,CmHz1RA,6BAWI,QnHi1RJ,CoH73RA,cACE,mBJwBA,wGIvBA,cpHg4RF,CoHl4RA,gBAOI,UpH83RJ,CoHr4RA,mBAYM,mBACA,qBAEA,apH23RN,CoHx3RI,kDAEE,mBACA,qBAEA,apHy3RN,CoHt3RI,0BACE,mBACA,qBAEA,apHu3RN,CqHr5RA,eACE,WAAY,CLYZ,kGhH44RF,CqHl5RA,uCAII,cAFA,aAAc,CAGd,erHk5RJ,CqHv5RA,4CAWI,eAFA,erHk5RJ,CqH35RA,2DAiBM,UAAW,CAKX,cAAe,CAFf,WAAY,CANZ,gBAAiB,CAEjB,iBAAkB,CAGlB,UrHg5RN,CqHx4RA,8BACE,mBrH04RF,CqHv4RA,sBACE,wBrHy4RF,CqHt4RA,8MAQM,qBAAsB,CAEtB,arHq4RN,CqH/3RA,sBACE,QrHi4RF,CsH57RA,eACE,kBAAmB,CACnB,0BtH87RF,CsH17RA,4BACE,eAAgB,CAChB,iBtH47RF,CsHx7RA,+BACE,iBtH07RF,CuHv8RA,yBACE,yBvHy8RF,CuHt8RA,yBAIE,avHu8RF,CuHp8RA,iDANE,6BACA,iBvH68RF,CuHn8RA,wBACE,6BAGA,cACA,eAAiB,CAHjB,gBvHu8RF,CuHh8RA,0DAGI,avHi8RJ,CuH77RA,sDAII,eAAgB,CAFhB,eAAgB,CAChB,kBvH+7RJ,CuHl8RA,qDASI,eAAgB,CAChB,sBAAuB,CAFvB,kBvH+7RJ,CuHx7RA,wBACE,kBvH07RF,CuHx7RE,mCACE,gBvH07RJ,CuHt7RA,2CACE,evHw7RF,CwH/+RA,eACE,exHi/RF,CwHl/RA,+BAII,6BAGA,cAFA,gBxHk/RJ,CwH9+RI,mEACE,iBxHi/RJ,CwHl/RE,8CAII,UAAW,CACX,kBxHi/RN,CACF,CwHhgSA,gHAqBM,axHg/RN,CwHrgSA,8EA0BM,axH++RN,CwH3+RM,6JAGE,axH6+RR,CwH1+RM,4GAEE,axH4+RR,CyHnhSA,YACE,iBzHqhSF,CyHthSA,6BAII,0BACA,0BzHqhSJ,CyH1hSA,yCASI,wBzHohSJ,CyH7hSA,wCAaI,2BzHmhSJ,CyH/gSA,+BAEE,oBADA,iBAGA,iBzHghSF,CyHphSA,iCAOI,azHghSJ,C0HxiSA,UtHkEE,wBACQ,eJy+RV,C0HxiSA,2BACE,gBAAiB,CACjB,iBAAkB,CAClB,iB1H0iSF,C0HxiSE,uCACE,e1H0iSJ,C0HviSE,sCACE,kB1HyiSJ,C0HtiSE,8FAGE,mBACA,WAAY,CAEZ,a1HuiSJ,C0HpiSE,oGAGE,mBAEA,a1HqiSJ,C0HjiSI,4OAME,mBAEA,WACA,e1HkiSN,C0H3iSI,sRAYI,mBAEA,a1HsiSR,C2HvlSA,+BACE,iB3HylSF,C4H1lSA,OACE,WAAY,CACZ,iB5H4lSF,C4H9lSA,2CAMI,e5H4lSJ,C4HlmSA,oBAUI,a5H2lSJ,C4HrmSA,+BAcI,e5H0lSJ,C4HxmSA,2CAkBI,e5HylSJ,C4H3mSA,gBAsBI,e5HwlSJ,C4HtlSI,4BACE,Y5HwlSN,C4HjnSA,uBA6BM,WAAY,CAEZ,cACA,e5HslSN,C4HhlSA,kCACE,a5HklSF,C6HznSA,YACE,yBACA,e7H2nSF,C6HxnSA,qDAEE,oB7H0nSF,C6HtnSA,kBACE,Q7HwnSF,C6HpnSA,oCAEE,a7HsnSF,C8HvoSA,wCAEI,mBACA,kBACA,e9HwoSJ,C8H5oSA,0CAWI,cACA,cAAe,CAJf,WAAY,CAKZ,gBAAiB,CAJjB,U9H0oSJ,C8HnpSA,iDAiBI,wB9HqoSJ,C8HtpSA,gEAoBM,U9HqoSN,C8HjoSE,+DACE,a9HooSF,CACF,C8HhoSA,2BACE,iB9HkoSF,C8HhoSE,+DACE,yB9HmoSF,CACF,C8HhoSA,kEAEI,e9HioSJ,C8H/nSI,sGACE,c9HkoSJ,CACF,C8H7nSA,6GAII,a9H8nSJ,C8HloSA,mHAUI,a9H6nSJ,C8HxnSA,gBACE,a9H0nSF,C8HtnSA,uCACE,c9HwnSF,C8HtnSE,kDACE,e9HwnSJ,C8HnnSA,0BACE,qBAAsB,CACtB,iB9HqnSF,C8HjnSA,qCACE,iB9HmnSF,C8HjnSE,yEACE,e9HonSF,CACF,C8HjnSA,mCACE,cACA,c9HmnSF,C8HrnSA,4HAOI,a9HmnSJ,C8HzmSI,4RAGE,a9HgnSN,C8H7mSI,gKAGE,a9H+mSN,C8HzmSA,yBACE,a9H2mSF,C8H5mSA,wCAKI,iBADA,a9H4mSJ,C8HxmSE,6DAGE,eAFA,gB9H4mSF,C8H7mSA,wCAMI,a9H0mSJ,CACF,C+HtvSA,oBACE,wB/HwvSF,C+HrvSA,4BACE,kB/HuvSF,C+HpvSA,yCACE,a/HsvSF,C+HvvSA,wDAOI,cAAe,CAFf,WAAY,CAGZ,gBAAiB,CAJjB,U/HyvSJ,C+H7vSA,oDAYI,eAAgB,CAEhB,iBAAkB,CAClB,O/HmvSJ,C+H/uSA,sBACE,a/HivSF,C+H/uSE,0DACE,gBAEA,iB/HivSF,CACF,CgInxSA,YACE,wBhIqxSF,CgIjxSA,iCACE,gBhImxSF,CgI/wSA,0BAGE,cACA,eAHA,kBhImxSF,CgI7wSA,sBAEE,kBADA,uBhIgxSF,CgI5wSA,wBACE,cACA,chI8wSF,CgI3wSA,0BACE,ehI6wSF,CiIzySA,qBACE,wBjI2ySF,CiIxySA,gCAEI,ajIyySJ,CiI3ySA,sBAMI,ejIwySJ,CkIjzSA,YACE,gBACA,qBlImzSF,CkI/ySA,WACE,alIizSF,CkIlzSA,0BAII,iBlIizSJ,CkIrzSA,6MAgBM,alIgzSN,CkI1ySA,4BAEI,sBACA,iBlI2ySJ,CkI9ySA,+BAOI,4BAA6B,CAM7B,cALA,iBAEA,iBAAkB,CAClB,OlI0ySJ,CkIrzSA,8CAqBM,cAAe,CACf,gBAAiB,CANjB,gBAAiB,CAEjB,iBAAkB,CAClB,QlIyySN,CkIlySE,wBACE,cAAiB,CACjB,elIoySJ,CkIlySI,qFAGE,alIoySN,CkIjySI,gIAIE,cACA,oBlImySN,CkI50SA,6BA8CI,gBlIiySJ,CkI5xSA,qBACE,kBACA,gBACA,gBlI8xSF,CkI5xSE,yDACE,clI+xSF,CkIhySA,oCAII,clI+xSJ,CkInySA,uBAQI,YlI8xSJ,CACF,CkIzxSA,sBACE,mBlI2xSF,CkIvxSA,kBACE,yBACA,WAAY,CACZ,kBACA,kBlIyxSF,CkIvxSE,6BACE,kBlIyxSJ,CkItxSE,sDACE,eAAkB,CAElB,mBlIyxSF,CACF,CkIpxSE,uBACE,cAAiB,CACjB,elIsxSJ,CkIpxSI,kFAGE,alIsxSN,CkInxSI,4HAIE,cACA,oBlIqxSN,CkIrySA,eAqBI,cACA,clImxSJ,CkI9wSA,qCAGE,oBADA,gBlIixSF,CkInxSA,iDAMI,kBlIixSJ,CkIvxSA,6DAYI,eAFA,elIkxSJ,CkI3wSA,a5GtKE,yBACA,WtBo7SF,CmIr7SA,uBACE,gBnIu7SF,CmIp7SA,sBAIE,gBAAiB,CACjB,iBAAkB,CAFlB,oBADA,aAAgB,CADhB,iBnI07SF,CmIp7SE,4BAKE,QAAW,CAJX,6BAAqC,CAUrC,iBAAkB,CADlB,WAAY,CARZ,aAAc,CAKd,QAAW,CAHX,iBAAkB,CAIlB,UnIs7SJ,CoIx8SA,gCACE,iBpI08SF,CoIv8SA,iCACE,sBAEA,UpIw8SF,CoIp8SA,6HAKI,apIq8SJ,CoI18SA,wOAcI,apIo8SJ,CoI/7SA,0B9G/BE,yBACA,WtBi+SF,CqIj+SA,WACE,kBrIm+SF,CqI/9SA,kDAGI,iBrIg+SJ,CqI39SA,kBACE,arI69SF,CqI99SA,sBAKI,YAAa,CADb,WrI89SJ,CqIx9SA,oKAOI,cACA,eACA,erIy9SJ,CqIp9SA,4FAKI,arIq9SJ,CqI19SA,4EAWI,arIo9SJ,CqI98SE,qDACE,erIi9SF,CACF,CqIp9SA,oBAMI,QrIi9SJ,CqIv9SA,oBAaI,cAHA,oBAAqB,CAIrB,eAHA,iBrIk9SJ,CqI78SI,wDACE,YrIg9SJ,CACF,CqIl+SA,oCAsBI,YrI+8SJ,CqI18SA,oCACE,qBACE,aAAc,CACd,QrI48SF,CACF,CqIz8SA,oCACE,qBACE,YrI28SF,CACF,CqIv8SA,oCACE,iBACE,erIy8SF,CACF,CqIr8SA,oCACE,gBACE,erIu8SF,CACF,CsI/iTA,kClIiEE,wBACQ,gBkI9DR,UtIijTF,CuIrjTA,mBACE,iBvIujTF,CuInjTA,sDAEE,wBAAyB,CACzB,oBAAqB,CAGrB,aAAc,CAFd,evIsjTF,CuI1jTA,oFASI,wBAAyB,CACzB,WAAY,CAEZ,avIojTJ,CuIhkTA,kSAiBM,avIujTN,CuIxkTA,8SAuBM,avIyjTN,CuIhlTA,4DA4BI,oBvIwjTJ,CuIpjTA,sDAEE,kBAAmB,CACnB,WAAY,CACZ,iBvIsjTF,CuI/iTA,2GACE,kBvIqjTF,CuInjTE,8EAEE,oBAAqB,CACrB,iBvIqjTJ,CuIhjTA,8BACE,4GAOA,WvI4iTF,CuIziTA,6BACE,sBAAuB,CAMvB,cALA,wBAAyB,CACzB,qBAAsB,CACtB,mBAAoB,CACpB,oBAAqB,CACrB,gBvI4iTF,CuIxiTA,qDACE,mBAAoB,CACpB,gBAAiB,CACjB,cAAe,CACf,eAAgB,CAChB,WvI0iTF,CuIviTA,gCAOE,kBAAmB,CAEnB,8BAHA,YAAa,CADb,WAAY,CAGZ,sBAAuB,CALvB,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAEN,UvI8iTF,CuItiTA,+BlHlGE,yBACA,kBAFA,arB8oTF,CqB1oTE,0EAGE,yBACA,qBAFA,arB8oTJ,CqB1oTE,qCAEE,yBACA,qBAFA,arB8oTJ,CqB1oTE,iIAIE,yBACA,qBAAsB,CACtB,qBAHA,arB+oTJ,CqB1oTI,ybAIE,yBACA,qBAFA,arBopTN,CqB5oTI,+bAGE,yBACA,iBrBopTN,CuIvlTA,sClHvDI,yBADA,arBmpTJ,CiH9rTE,0PAME,mBACA,yB7GyDF,wBACQ,gB6GxDN,ajHisTJ,CiH5rTE,2N3FhBA,yBACA,WtBmtTF,CiH5rTE,0EAEE,mBACA,yB7GuCF,wBACQ,gB6GtCN,ajH+rTJ,CiH1rTE,uWAME,mBACA,yB7GyBF,wBACQ,gB6GxBN,ajH6rTJ,CiHvrTI,qWAOE,iBjHyrTN,CuIxoTA,0GAGE,iBAAkB,CAClB,0BACA,gBvI0oTF,CwIvvTA,cACE,gBACA,4BACA,0BAEA,axIwvTF,CwI7vTA,qBAUI,cACA,cAAe,CACf,gBAAiB,CAJjB,aAAgB,CAKhB,gBxIuvTJ,CwIlvTA,6BACE,axIovTF,CwIhvTA,wBACE,axIkvTF,CwIhvTE,oCACE,YxIkvTJ,CwI/uTE,mCACE,exIivTJ,CwI5uTA,2BAGI,gBAAmB,CADnB,axI8uTJ,CwI3uTI,uCACE,axI6uTN,CwIvuTA,sBAEI,exIwuTJ,CwI1uTA,4BAQI,cAFA,gBxIwuTJ,CwIjuTA,oCAEI,eAAgB,CAChB,iBxIkuTJ,CwI9tTA,mCAEI,eAAgB,CAChB,axI+tTJ,CwIluTA,4CAQI,mBADA,exI+tTJ,CwIztTA,0BAEI,gCACA,mBxI0tTJ,CwI7tTA,8BAMM,kBAGA,WAAY,CADZ,UxI0tTN,CwIttTI,qCACE,WAAY,CACZ,gBxIwtTN,CyIxzTA,MACE,qBzI0zTF,C0I3zTA,sCACE,iB1I6zTF,C0I1zTA,8BACE,a1I4zTF,C0IzzTI,2IAGE,cACA,e1I2zTN,C0IxzTI,iJAGE,a1I0zTN,C0Ix0TA,6CAmBI,cACA,e1IwzTJ,C0IpzTA,sBACE,a1IszTF,C2In1TA,0BACE,a3Iq1TF,C2I90TA,6DACE,a3Im1TF,C2Ih1TA,oCACE,a3Ik1TF,C4I/1TA,mIAMI,a5Ii2TJ,C4Iv2TA,wJAaI,a5Ig2TJ,C6I72TA,mCACE,wB7I+2TF,C6I52TA,+CACE,Q7I82TF,C6I32TA,+DAEI,e7I42TJ,C8InyTA,0BAjFI,oB9Iu3TJ,C8ItyTA,kOArEM,a9Is3TN,C8I7yTA,0BArFI,oB9Iq4TJ,C8IhzTA,kOAzEM,a9Io4TN,C8IvzTA,0BAzFI,oB9Im5TJ,C8I1zTA,kOA7EM,a9Ik5TN,C8Ij0TA,yBA7FI,oB9Ii6TJ,C8Ip0TA,2NAjFM,a9Ig6TN,C8I10TA,+BA/EI,gBACA,yBACA,kBACA,Y9I45TJ,C8Ir5TM,0WAME,a9I05TR,C8I31TA,uCAzDI,a9Iu5TJ,C8I11TA,+BAnFI,gBACA,yBACA,kBACA,Y9Ig7TJ,C8Iz6TM,0WAME,a9I86TR,C8I32TA,uCA7DI,a9I26TJ,C8I12TA,+BAvFI,gBACA,yBACA,kBACA,Y9Io8TJ,C8I77TM,0WAME,a9Ik8TR,C8I33TA,uCAjEI,a9I+7TJ,C8I13TA,8BA3FI,gBACA,yBACA,kBACA,Y9Iw9TJ,C8Ij9TM,mWAME,a9Is9TR,C8I34TA,sCArEI,a9Im9TJ,C8Iz4TA,qCArEE,8BACA,iB9Ii9TF,C8I18TI,0XAME,a9I+8TN,C8Ix5TA,qCArEE,8BACA,iB9Ig+TF,C8Iz9TI,0XAME,a9I89TN,C8Iv6TA,qCArEE,8BACA,iB9I++TF,C8Ix+TI,0XAME,a9I6+TN,C8It7TA,oCArEE,8BACA,iB9I8/TF,C8Iv/TI,mXAME,a9I4/TN,C8Il7TA,+SA3DM,a9Iw/TN,C8Iz7TA,+SA/DM,a9ImgUN,C8Ih8TA,+SAnEM,a9I8gUN,C8Iv8TA,wSAvEM,a9IyhUN","sources":["webpack://misago/./src/style/index.less","webpack://misago/./node_modules/bootstrap/less/normalize.less","webpack://misago/./node_modules/bootstrap/less/print.less","webpack://misago/./node_modules/bootstrap/less/scaffolding.less","webpack://misago/./node_modules/bootstrap/less/mixins/vendor-prefixes.less","webpack://misago/./node_modules/bootstrap/less/mixins/tab-focus.less","webpack://misago/./node_modules/bootstrap/less/mixins/image.less","webpack://misago/./node_modules/bootstrap/less/type.less","webpack://misago/./node_modules/bootstrap/less/mixins/text-emphasis.less","webpack://misago/./node_modules/bootstrap/less/mixins/background-variant.less","webpack://misago/./node_modules/bootstrap/less/mixins/text-overflow.less","webpack://misago/./node_modules/bootstrap/less/code.less","webpack://misago/./node_modules/bootstrap/less/grid.less","webpack://misago/./node_modules/bootstrap/less/mixins/grid.less","webpack://misago/./node_modules/bootstrap/less/responsive-utilities.less","webpack://misago/./node_modules/bootstrap/less/mixins/grid-framework.less","webpack://misago/./node_modules/bootstrap/less/tables.less","webpack://misago/./node_modules/bootstrap/less/mixins/table-row.less","webpack://misago/./node_modules/bootstrap/less/forms.less","webpack://misago/./node_modules/bootstrap/less/mixins/forms.less","webpack://misago/./node_modules/bootstrap/less/buttons.less","webpack://misago/./node_modules/bootstrap/less/mixins/buttons.less","webpack://misago/./node_modules/bootstrap/less/mixins/opacity.less","webpack://misago/./node_modules/bootstrap/less/component-animations.less","webpack://misago/./node_modules/bootstrap/less/dropdowns.less","webpack://misago/./node_modules/bootstrap/less/mixins/nav-divider.less","webpack://misago/./node_modules/bootstrap/less/mixins/reset-filter.less","webpack://misago/./node_modules/bootstrap/less/navs.less","webpack://misago/./node_modules/bootstrap/less/mixins/border-radius.less","webpack://misago/./node_modules/bootstrap/less/navbar.less","webpack://misago/./node_modules/bootstrap/less/mixins/nav-vertical-align.less","webpack://misago/./node_modules/bootstrap/less/utilities.less","webpack://misago/./node_modules/bootstrap/less/breadcrumbs.less","webpack://misago/./node_modules/bootstrap/less/alerts.less","webpack://misago/./node_modules/bootstrap/less/mixins/alerts.less","webpack://misago/./node_modules/bootstrap/less/labels.less","webpack://misago/./node_modules/bootstrap/less/mixins/labels.less","webpack://misago/./node_modules/bootstrap/less/progress-bars.less","webpack://misago/./node_modules/bootstrap/less/mixins/gradients.less","webpack://misago/./node_modules/bootstrap/less/mixins/progress-bar.less","webpack://misago/./node_modules/bootstrap/less/button-groups.less","webpack://misago/./node_modules/bootstrap/less/input-groups.less","webpack://misago/./node_modules/bootstrap/less/media.less","webpack://misago/./node_modules/bootstrap/less/list-group.less","webpack://misago/./node_modules/bootstrap/less/mixins/list-group.less","webpack://misago/./node_modules/bootstrap/less/panels.less","webpack://misago/./node_modules/bootstrap/less/mixins/panels.less","webpack://misago/./node_modules/bootstrap/less/pager.less","webpack://misago/./node_modules/bootstrap/less/pagination.less","webpack://misago/./node_modules/bootstrap/less/mixins/pagination.less","webpack://misago/./node_modules/bootstrap/less/responsive-embed.less","webpack://misago/./node_modules/bootstrap/less/wells.less","webpack://misago/./node_modules/bootstrap/less/close.less","webpack://misago/./node_modules/bootstrap/less/badges.less","webpack://misago/./node_modules/bootstrap/less/modals.less","webpack://misago/./node_modules/bootstrap/less/mixins/clearfix.less","webpack://misago/./node_modules/bootstrap/less/mixins/center-block.less","webpack://misago/./node_modules/bootstrap/less/mixins/hide-text.less","webpack://misago/./node_modules/bootstrap/less/mixins/responsive-visibility.less","webpack://misago/./src/style/misago/scaffolding.less","webpack://misago/./src/style/misago/flex-row.less","webpack://misago/./src/style/misago/auth-message.less","webpack://misago/./src/style/misago/alerts-snackbar.less","webpack://misago/./src/style/misago/agreement-overlay.less","webpack://misago/./src/style/misago/loaders.less","webpack://misago/./src/style/misago/navbar.less","webpack://misago/./src/style/misago/navs.less","webpack://misago/./src/style/misago/breadcrumbs.less","webpack://misago/./src/style/misago/material-icons.less","webpack://misago/./src/style/misago/modals.less","webpack://misago/./src/style/misago/forms.less","webpack://misago/./src/style/misago/inputs.less","webpack://misago/./src/style/misago/buttons.less","webpack://misago/./src/style/misago/dropdowns.less","webpack://misago/./src/style/misago/category-label.less","webpack://misago/./src/style/misago/thread-flags.less","webpack://misago/./src/style/misago/thread-replies.less","webpack://misago/./src/style/misago/thread-user-card.less","webpack://misago/./src/style/misago/search-dropdown.less","webpack://misago/./src/style/misago/page-header.less","webpack://misago/./src/style/misago/page-container.less","webpack://misago/./src/style/misago/panels.less","webpack://misago/./src/style/misago/footer.less","webpack://misago/./src/style/misago/ui-preview.less","webpack://misago/./src/style/misago/pager.less","webpack://misago/./src/style/misago/pagination.less","webpack://misago/./src/style/misago/poll.less","webpack://misago/./src/style/misago/user-status.less","webpack://misago/./src/style/misago/user-card.less","webpack://misago/./src/style/misago/toolbar.less","webpack://misago/./src/style/misago/type.less","webpack://misago/./src/style/misago/markup.less","webpack://misago/./src/style/misago/change-avatar.less","webpack://misago/./src/style/misago/categories-lists.less","webpack://misago/./src/style/misago/posting.less","webpack://misago/./src/style/misago/editor.less","webpack://misago/./src/style/misago/participants.less","webpack://misago/./src/style/misago/poll-editor.less","webpack://misago/./src/style/misago/posts-list.less","webpack://misago/./src/style/misago/post.less","webpack://misago/./src/style/misago/post-feed.less","webpack://misago/./src/style/misago/event.less","webpack://misago/./src/style/misago/post-changelog.less","webpack://misago/./src/style/misago/message-pages.less","webpack://misago/./src/style/misago/threads-lists.less","webpack://misago/./src/style/misago/active-posters.less","webpack://misago/./src/style/misago/user-profile.less","webpack://misago/./src/style/misago/username-history.less","webpack://misago/./src/style/misago/search.less","webpack://misago/./highlight/styles/foundation.css","webpack://misago/./node_modules/at.js/dist/css/jquery.atwho.css","webpack://misago/./src/style/flavor/typo.less","webpack://misago/./src/style/flavor/shadows.less","webpack://misago/./src/style/flavor/buttons.less","webpack://misago/./src/style/flavor/social-buttons.less","webpack://misago/./src/style/flavor/inputs.less","webpack://misago/./src/style/flavor/auth-message.less","webpack://misago/./src/style/flavor/dropdowns.less","webpack://misago/./src/style/flavor/navbar.less","webpack://misago/./src/style/flavor/search-dropdown.less","webpack://misago/./src/style/flavor/page-footer.less","webpack://misago/./src/style/flavor/list-group.less","webpack://misago/./src/style/flavor/navs.less","webpack://misago/./src/style/flavor/username-history.less","webpack://misago/./src/style/flavor/panels.less","webpack://misago/./src/style/flavor/form.less","webpack://misago/./src/style/flavor/categories-lists.less","webpack://misago/./src/style/flavor/participants.less","webpack://misago/./src/style/flavor/poll.less","webpack://misago/./src/style/flavor/posting.less","webpack://misago/./src/style/flavor/post.less","webpack://misago/./src/style/flavor/post-feed.less","webpack://misago/./src/style/flavor/event.less","webpack://misago/./src/style/flavor/user-card.less","webpack://misago/./src/style/flavor/progress-bars.less","webpack://misago/./src/style/flavor/markup.less","webpack://misago/./src/style/flavor/modals.less","webpack://misago/./src/style/flavor/wells.less","webpack://misago/./src/style/flavor/active-posters.less","webpack://misago/./src/style/flavor/message-pages.less","webpack://misago/./src/style/flavor/user-options.less","webpack://misago/./src/style/flavor/profile-details.less","webpack://misago/./src/style/flavor/ranks-flavors.less"],"sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #0065ff;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #0747a6;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #ebecf0;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: 400;\n  line-height: 1;\n  color: #7a869a;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #7a869a;\n}\n.text-primary {\n  color: #0052cc;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #003d99;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #0052cc;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #003d99;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #ebecf0;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: 700;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 700px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #ebecf0;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #7a869a;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #ebecf0;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: \"\\00A0 \\2014\";\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #344563;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.row-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1,\n  .col-sm-2,\n  .col-sm-3,\n  .col-sm-4,\n  .col-sm-5,\n  .col-sm-6,\n  .col-sm-7,\n  .col-sm-8,\n  .col-sm-9,\n  .col-sm-10,\n  .col-sm-11,\n  .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1,\n  .col-md-2,\n  .col-md-3,\n  .col-md-4,\n  .col-md-5,\n  .col-md-6,\n  .col-md-7,\n  .col-md-8,\n  .col-md-9,\n  .col-md-10,\n  .col-md-11,\n  .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1,\n  .col-lg-2,\n  .col-lg-3,\n  .col-lg-4,\n  .col-lg-5,\n  .col-lg-6,\n  .col-lg-7,\n  .col-lg-8,\n  .col-lg-9,\n  .col-lg-10,\n  .col-lg-11,\n  .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #7a869a;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  min-height: 0.01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #344563;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: 700;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-appearance: none;\n  appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #172b4d;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ced0da;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #ebecf0;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\n.form-control-static {\n  min-height: 34px;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #3462af;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    padding-top: 7px;\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #172b4d;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  opacity: 0.65;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #172b4d;\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #172b4d;\n  background-color: #ced0da;\n  background-image: none;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #172b4d;\n  background-color: #b9bdcb;\n  border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #ebecf0;\n  background-color: #172b4d;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #6554c0;\n  border-color: #5643b7;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #4d3da4;\n  border-color: #2a215a;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #4d3da4;\n  border-color: #41338a;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #4d3da4;\n  background-image: none;\n  border-color: #41338a;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #41338a;\n  border-color: #2a215a;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #6554c0;\n  border-color: #5643b7;\n}\n.btn-primary .badge {\n  color: #6554c0;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #00c853;\n  border-color: #00af48;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #00953e;\n  border-color: #002f14;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #00953e;\n  border-color: #00712f;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #00953e;\n  background-image: none;\n  border-color: #00712f;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #00712f;\n  border-color: #002f14;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #00c853;\n  border-color: #00af48;\n}\n.btn-success .badge {\n  color: #00c853;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #3d5afe;\n  border-color: #2444fe;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #0a2ffe;\n  border-color: #0119a1;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #0a2ffe;\n  border-color: #0123e3;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #0a2ffe;\n  background-image: none;\n  border-color: #0123e3;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #0123e3;\n  border-color: #0119a1;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #3d5afe;\n  border-color: #2444fe;\n}\n.btn-info .badge {\n  color: #3d5afe;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #ffab00;\n  border-color: #e69a00;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #cc8900;\n  border-color: #664400;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #cc8900;\n  border-color: #a87100;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #cc8900;\n  background-image: none;\n  border-color: #a87100;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #a87100;\n  border-color: #664400;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #ffab00;\n  border-color: #e69a00;\n}\n.btn-warning .badge {\n  color: #ffab00;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #ef5350;\n  border-color: #ed3c39;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #eb2521;\n  border-color: #98110e;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #eb2521;\n  border-color: #d51713;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #eb2521;\n  background-image: none;\n  border-color: #d51713;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #d51713;\n  border-color: #98110e;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #ef5350;\n  border-color: #ed3c39;\n}\n.btn-danger .badge {\n  color: #ef5350;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: 400;\n  color: #0065ff;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #0747a6;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #7a869a;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #ebecf0;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: 400;\n  line-height: 1.42857143;\n  color: #172b4d;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #172b4d;\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #172b4d;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #7a869a;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #7a869a;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: \"\";\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 700px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.nav > li.disabled > a {\n  color: #7a869a;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #7a869a;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #ebecf0;\n  border-color: #0065ff;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #ebecf0 #ebecf0 #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #5e6c84;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #0065ff;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 54px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 700px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 700px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 700px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 700px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-brand {\n  float: left;\n  height: 54px;\n  padding: 17px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 700px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-right: 15px;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 700px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 8.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 699px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 17px;\n    padding-bottom: 17px;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-right: -15px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 699px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 12px;\n  margin-bottom: 12px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 16px;\n  margin-bottom: 16px;\n}\n.navbar-text {\n  margin-top: 17px;\n  margin-bottom: 17px;\n}\n@media (min-width: 700px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n}\n@media (min-width: 700px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #ffffff;\n  border-color: #c1c7d0;\n}\n.navbar-default .navbar-brand {\n  color: #344563;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #344563;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #8993a4;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #505f79;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #c1c7d0;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n@media (max-width: 699px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #8993a4;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #505f79;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #6b778c;\n    background-color: #dfe1e6;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #c1c7d0;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #c1c7d0;\n}\n.navbar-default .navbar-link {\n  color: #8993a4;\n}\n.navbar-default .navbar-link:hover {\n  color: #505f79;\n}\n.navbar-default .btn-link {\n  color: #8993a4;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #505f79;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #c1c7d0;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 699px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #a5aebb;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n  color: #a5aebb;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #a5aebb;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n  color: #7a869a;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #fff;\n  background-color: #00875a;\n  border-color: #00875a;\n}\n.alert-success hr {\n  border-top-color: #006e49;\n}\n.alert-success .alert-link {\n  color: #e6e6e6;\n}\n.alert-info {\n  color: #fff;\n  background-color: #448aff;\n  border-color: #448aff;\n}\n.alert-info hr {\n  border-top-color: #2a7aff;\n}\n.alert-info .alert-link {\n  color: #e6e6e6;\n}\n.alert-warning {\n  color: #fff;\n  background-color: #ff8b00;\n  border-color: #ff8b00;\n}\n.alert-warning hr {\n  border-top-color: #e67d00;\n}\n.alert-warning .alert-link {\n  color: #e6e6e6;\n}\n.alert-danger {\n  color: #fff;\n  background-color: #de350b;\n  border-color: #de350b;\n}\n.alert-danger hr {\n  border-top-color: #c62f0a;\n}\n.alert-danger .alert-link {\n  color: #e6e6e6;\n}\n.label {\n  display: inline;\n  padding: 0.2em 0.6em 0.3em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #7a869a;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #616d80;\n}\n.label-primary {\n  background-color: #0052cc;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #003d99;\n}\n.label-success {\n  background-color: #36b37e;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #2a8c62;\n}\n.label-info {\n  background-color: #3d5afe;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #0a2ffe;\n}\n.label-warning {\n  background-color: #ffab00;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #cc8900;\n}\n.label-danger {\n  background-color: #ff5630;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #fc2e00;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #ebecf0;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #6554c0;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #36b37e;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #3d5afe;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #ffab00;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #ff5630;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  display: table-cell;\n  float: none;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1;\n  color: #172b4d;\n  text-align: center;\n  background-color: #ebecf0;\n  border: 1px solid #ced0da;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  padding-left: 0;\n  margin-bottom: 20px;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ebecf0;\n}\n.list-group-item:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #ebecf0;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #7a869a;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #0065ff;\n  background-color: #fff;\n  border-color: #ebecf0;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #ffffff;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #7a869a;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  color: #172b4d;\n  text-decoration: none;\n  background-color: #fff;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 14px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 14px 15px;\n  background-color: #fff;\n  border-top: 1px solid #ebecf0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ebecf0;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ebecf0;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #344563;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #fff;\n  background-color: #344563;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #0052cc;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #0052cc;\n  border-color: #0052cc;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #0052cc;\n}\n.panel-primary > .panel-heading .badge {\n  color: #0052cc;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #0052cc;\n}\n.panel-success {\n  border-color: #36b37e;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #36b37e;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #36b37e;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #36b37e;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ff5630;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ff5630;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ff5630;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ff5630;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #ebecf0;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #fff;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #0065ff;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #0747a6;\n  background-color: #ebecf0;\n  border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  cursor: default;\n  background-color: #0052cc;\n  border-color: #0052cc;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #7a869a;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  filter: alpha(opacity=20);\n  opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  filter: alpha(opacity=50);\n  opacity: 0.5;\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n  appearance: none;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: #7a869a;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #0065ff;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #091e42;\n}\n.modal-backdrop.fade {\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.modal-backdrop.in {\n  filter: alpha(opacity=50);\n  opacity: 0.5;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #ced0da;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #ced0da;\n}\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.panel-body:before,\n.panel-body:after,\n.pager:before,\n.pager:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.agreement-footer:before,\n.agreement-footer:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.panel-body:after,\n.pager:after,\n.modal-header:after,\n.modal-footer:after,\n.agreement-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n@media screen and (max-width: 991px) {\n  html,\n  body {\n    overflow-x: hidden;\n  }\n}\n@media screen and (min-width: 992px) {\n  .md-margin-top-no {\n    margin-top: 0px !important;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .sm-margin-top {\n    margin-top: 20px !important;\n  }\n  .sm-margin-top-no {\n    margin-top: 0px !important;\n  }\n  .sm-margin-top-half {\n    margin-top: 6.6px !important;\n  }\n  .sm-align-row-buttons {\n    margin-top: 5px !important;\n  }\n}\n@media screen and (max-width: 767px) {\n  .xs-margin-top {\n    margin-top: 20px !important;\n  }\n  .xs-margin-top-half {\n    margin-top: 6.6px !important;\n  }\n}\n.flex-row {\n  display: block;\n  margin: 0 -15px;\n}\n.flex-row-section {\n  align-items: center;\n  display: flex;\n  flex: 1;\n}\n.flex-row-section + .flex-row-section {\n  margin-top: 20px;\n}\n.flex-row-col {\n  flex: 1;\n  padding: 0 15px;\n}\n@media screen and (min-width: 768px) {\n  .flex-row {\n    display: flex;\n    align-items: center;\n  }\n  .flex-row-section + .flex-row-section {\n    margin: 0;\n  }\n  .flex-row-section,\n  .flex-row-col {\n    flex: 0;\n    align-items: center;\n  }\n  .flex-row-section.flex-row-section-auto,\n  .flex-row-section.flex-row-section-auto > .flex-row-col {\n    flex: 1;\n  }\n}\n.flex-row-col-shrink {\n  flex: 0 !important;\n}\n.auth-message {\n  background-color: #ebecf0;\n  padding: 20px 0px;\n  width: 100%;\n  position: fixed;\n  top: -100%;\n  left: 0px;\n  z-index: 1070;\n  transition: top 300ms ease;\n}\n.auth-message.show {\n  top: 0px;\n  bottom: auto;\n}\n.auth-message p {\n  padding: 5px 0px;\n  color: #172b4d;\n}\n@media screen and (max-width: 991px) {\n  .auth-message {\n    text-align: center;\n  }\n  .auth-message .btn {\n    padding: 10px 16px;\n    font-size: 18px;\n  }\n}\n.alerts-snackbar {\n  position: fixed;\n  top: -100%;\n  width: 100%;\n  z-index: 1060;\n  text-align: center;\n  font-size: 18px;\n  transition: top 300ms ease;\n  pointer-events: none;\n}\n.alerts-snackbar.in {\n  top: 0px;\n  transition: top 200ms ease;\n}\n.alerts-snackbar p {\n  display: inline-block;\n  border-radius: 0px 0px 4px 4px;\n  margin: 0px;\n  pointer-events: all;\n}\n.agreement-overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  z-index: 1060;\n  background-color: rgba(9, 30, 66, 0.5);\n  overflow-x: scroll;\n}\n.agreement-overlay .container {\n  max-width: 900px;\n  padding: 20px 30px;\n}\n.agreement-content {\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n  padding: 10px 16px;\n}\n.agreement-header {\n  padding: 10px 0;\n  border-bottom: 1px solid #ebecf0;\n}\n.agreement-header h2 {\n  margin-top: 0;\n}\n.agreement-header p {\n  margin: 0;\n  padding: 0;\n}\n.agreement-body {\n  padding: 20px 0;\n}\n.agreement-body p.lead {\n  margin: 0;\n  padding: 0;\n}\n.agreement-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #ced0da;\n  padding: 10px 0;\n}\n.agreement-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.agreement-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.agreement-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\nbody.agreement-overlay-visible {\n  overflow: hidden;\n}\n.loader {\n  width: 100%;\n  height: 49px;\n  text-align: center;\n}\n.loader.loader-spaced {\n  margin: 40px 0px;\n}\n.loader-spinning-wheel {\n  width: 49px;\n  height: 49px;\n  margin: 0 auto;\n  border: 3px solid #7a869a;\n  border-radius: 50%;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  animation: cssload-spin 575ms infinite linear;\n  -o-animation: cssload-spin 575ms infinite linear;\n  -ms-animation: cssload-spin 575ms infinite linear;\n  -webkit-animation: cssload-spin 575ms infinite linear;\n  -moz-animation: cssload-spin 575ms infinite linear;\n}\n@keyframes cssload-spin {\n  100% {\n    transform: rotate(360deg);\n  }\n}\n@-o-keyframes cssload-spin {\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-ms-keyframes cssload-spin {\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-webkit-keyframes cssload-spin {\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-moz-keyframes cssload-spin {\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n.navbar {\n  margin-bottom: 0px;\n}\n.navbar .navbar-full .navbar-brand {\n  padding-top: 11px;\n  padding-bottom: 11px;\n  font-size: 21px;\n}\n.navbar .navbar-full .navbar-brand > * {\n  display: inline-block;\n  vertical-align: middle;\n}\n.navbar .navbar-full .navbar-brand img {\n  height: 32px;\n  margin-right: 6px;\n}\n.navbar .navbar-full .navbar-nav > li > a {\n  font-size: 16.8px;\n}\n.navbar .navbar-full .navbar-icon {\n  display: block;\n  height: 54px;\n  padding: 10px 15px;\n  padding-top: 13px;\n  padding-bottom: 13px;\n  position: relative;\n  color: #8993a4;\n}\n.navbar .navbar-full .navbar-icon:hover,\n.navbar .navbar-full .navbar-icon:focus {\n  color: #505f79;\n  background-color: transparent;\n}\n.navbar .navbar-full .navbar-icon .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.navbar .navbar-full .navbar-icon .badge {\n  background-color: #ff5630;\n  position: absolute;\n  top: 6px;\n  right: 6px;\n  font-size: 9px;\n}\n.navbar .navbar-full .open .navbar-icon,\n.navbar .navbar-full .open .navbar-icon:hover,\n.navbar .navbar-full .open .navbar-icon:focus {\n  background-color: #dfe1e6;\n  color: #6b778c;\n}\n.navbar .navbar-full .nav-guest,\n.navbar .navbar-full .nav-user {\n  float: right;\n}\n.navbar .navbar-full .nav-guest .navbar-btn,\n.navbar .navbar-full .nav-user .navbar-btn {\n  margin-left: 15px;\n}\n.navbar .navbar-full .nav-user .dropdown-toggle {\n  padding: 10px;\n}\n.navbar .navbar-full .nav-user .dropdown-toggle img {\n  width: 34px;\n  height: 34px;\n}\n.navbar ul.navbar-compact-nav {\n  border-collapse: collapse;\n  display: table;\n  margin: 0px;\n  table-layout: fixed;\n  width: 100%;\n}\n.navbar ul.navbar-compact-nav > li {\n  display: table-cell;\n  width: 100%;\n}\n.navbar ul.navbar-compact-nav > li > a,\n.navbar ul.navbar-compact-nav > li > button {\n  background: none;\n  border: none;\n  display: block;\n  padding-top: 13px;\n  padding-bottom: 13px;\n  width: 100%;\n  color: #8993a4;\n  text-align: center;\n}\n.navbar ul.navbar-compact-nav > li > a.active,\n.navbar ul.navbar-compact-nav > li > button.active,\n.navbar ul.navbar-compact-nav > li > a:hover,\n.navbar ul.navbar-compact-nav > li > button:hover,\n.navbar ul.navbar-compact-nav > li > a:focus,\n.navbar ul.navbar-compact-nav > li > button:focus {\n  color: #6b778c;\n  background-color: #dfe1e6;\n}\n.navbar ul.navbar-compact-nav > li > a > img,\n.navbar ul.navbar-compact-nav > li > button > img {\n  width: 24px;\n  height: 24px;\n}\n.navbar ul.navbar-compact-nav > li > button {\n  display: inline-block;\n}\n.navbar ul.navbar-compact-nav > li > a > .material-icon {\n  font-size: 24px;\n  line-height: 24px;\n}\n@media (max-width: 700px) {\n  .navbar.navbar-misago {\n    min-height: auto;\n  }\n}\n.navbar-misago .navbar-desktop-nav {\n  display: none;\n}\n@media (min-width: 700px) {\n  .navbar-misago ul.navbar-compact-nav {\n    display: none;\n  }\n  .navbar-misago .navbar-desktop-nav {\n    display: block;\n  }\n}\n.nav-side > a > .material-icon {\n  margin: -5px;\n  margin-right: 10px;\n  position: relative;\n  bottom: 1px;\n  width: 24px;\n  height: 24px;\n  font-size: 24px;\n  line-height: 24px;\n}\n.nav-side > a .badge {\n  position: relative;\n  top: 1px;\n}\n.nav-pills > li > a {\n  padding: 5px 10px;\n}\n.nav-pills > li > a,\n.nav-pills > li > a:link,\n.nav-pills > li > a:visited {\n  background-color: #ebecf0;\n  color: #344563;\n}\n.nav-pills > li > a:focus,\n.nav-pills > li > a:hover,\n.nav-pills > li > a:active {\n  background-color: #dcdee5;\n  color: #344563;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:link,\n.nav-pills > li.active > a:visited,\n.nav-pills > li.active > a:focus,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:active {\n  background-color: #344563;\n  color: #fff;\n}\n.breadcrumbs {\n  display: block;\n  padding: 0;\n  margin-bottom: 10px;\n}\n.breadcrumbs-item {\n  display: inline-block;\n  margin-right: 15px;\n  margin-bottom: 10px;\n  padding: 0;\n  list-style: none;\n}\n.breadcrumbs-item a {\n  display: flex;\n  align-items: center;\n  text-decoration: none;\n}\n.breadcrumbs-item a,\n.breadcrumbs-item a:visited {\n  color: #5e6c84;\n}\n.breadcrumbs-item a:hover,\n.breadcrumbs-item a:focus {\n  color: #172b4d;\n}\n.breadcrumbs-item a:hover .breadcrumbs-item-name,\n.breadcrumbs-item a:focus .breadcrumbs-item-name {\n  text-decoration: underline;\n}\n.breadcrumbs-item a:active {\n  color: #172b4d;\n}\n.breadcrumbs-item .material-icon {\n  margin-right: 4px;\n}\n@font-face {\n  font-family: \"Material Icons\";\n  font-style: normal;\n  font-weight: 400;\n  src: url(./fonts/MaterialIcons-Regular.eot);\n  /* For IE6-8 */\n  src: local(\"Material Icons\"), local(\"MaterialIcons-Regular\"), url(./fonts/MaterialIcons-Regular.woff2) format(\"woff2\"), url(./fonts/MaterialIcons-Regular.woff) format(\"woff\"), url(./fonts/MaterialIcons-Regular.ttf) format(\"truetype\");\n}\n.material-icon {\n  font-family: \"Material Icons\";\n  font-weight: normal;\n  font-style: normal;\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  line-height: 1;\n  text-align: center;\n  text-transform: none;\n  letter-spacing: normal;\n  vertical-align: middle;\n  word-wrap: normal;\n  white-space: nowrap;\n  direction: ltr;\n  /* Support for all WebKit browsers. */\n  -webkit-font-smoothing: antialiased;\n  /* Support for Safari and Chrome. */\n  text-rendering: optimizeLegibility;\n  /* Support for Firefox. */\n  -moz-osx-font-smoothing: grayscale;\n  /* Support for IE. */\n  font-feature-settings: \"liga\";\n}\n.modal-toolbar {\n  background: #ebecf0;\n  border-bottom: 1px solid #ced0da;\n  overflow: auto;\n  padding: 6px 12px;\n}\n.modal-toolbar .pull-left {\n  margin-right: 8px;\n}\n.modal-toolbar p {\n  padding: 5px 0px;\n  margin-bottom: 0px;\n}\n@media screen and (max-width: 991px) {\n  .modal-message {\n    text-align: center;\n  }\n  .modal-message .message-icon {\n    margin: 30px;\n  }\n  .modal-message .message-icon .material-icon {\n    font-size: 160px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .modal-message .modal-body {\n    padding-top: 20px;\n    padding-bottom: 30px;\n  }\n  .modal-message .message-icon {\n    float: left;\n    position: relative;\n    left: 7px;\n  }\n  .modal-message .message-icon .material-icon {\n    font-size: 50px;\n  }\n  .modal-message .message-body {\n    margin-left: 75px;\n    margin-top: 10px;\n  }\n  .modal-message .message-body p {\n    margin-top: 20px;\n  }\n  .modal-message .message-body .lead {\n    margin-top: 0px;\n    margin-bottom: 0px;\n  }\n}\n.modal-loader {\n  padding: 50px 0px;\n}\n.modal-loader .loader {\n  width: 100%;\n  height: 80px;\n  text-align: center;\n}\n.modal-loader .loader-spinning-wheel {\n  width: 80px;\n  height: 80px;\n}\n.modal-body .form-group {\n  min-height: 34px;\n}\n.list-item-errors {\n  margin-bottom: 20px;\n}\n.list-errored-items li:last-child .list-item-errors {\n  margin-bottom: 0px;\n}\n.modal-post-likers .media-list {\n  margin: 0px;\n}\n.modal-post-likers .item-title {\n  display: block;\n}\n.has-feedback .material-icon.form-control-feedback {\n  top: 6px;\n  right: 24px;\n  font-size: 1.42857143;\n  line-height: 1.42857143;\n}\n.well.well-form.well-done {\n  font-size: 18px;\n  text-align: center;\n}\n.well.well-form.well-done .message-icon {\n  margin-bottom: 10px;\n  font-size: 90px;\n  line-height: 90px;\n}\n.well.well-form.well-done .message-body {\n  margin-bottom: 20px;\n}\n.well.well-form.well-noscript {\n  font-size: 18px;\n  text-align: center;\n}\n.well.well-form.well-noscript .message-icon {\n  margin-bottom: 10px;\n  font-size: 90px;\n  line-height: 90px;\n}\n.btn.btn-yes-no,\n.btn.btn-select {\n  background: transparent;\n  border: 1px solid #ced0da;\n}\n.btn.btn-yes-no .material-icon,\n.btn.btn-select .material-icon {\n  margin: -4px 0px;\n  margin-right: 8px;\n  position: relative;\n  bottom: 1px;\n  width: 20px;\n  height: 20px;\n  font-size: 20px;\n  line-height: 20px;\n}\n@media screen and (max-width: 767px) {\n  .btn.btn-yes-no {\n    width: 100%;\n    overflow: auto;\n  }\n  .btn.btn-yes-no .material-icon {\n    float: left;\n    margin-top: 1px;\n  }\n  .btn.btn-yes-no .btn-text {\n    display: block;\n    margin-left: 30px;\n    text-align: left;\n    white-space: normal;\n  }\n}\ninput.hidden-file-upload {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n.form-search {\n  position: relative;\n}\n.form-search .form-control {\n  padding-right: 30px;\n}\n.form-search .material-icon {\n  position: absolute;\n  top: 5px;\n  right: 5px;\n  color: #7a869a;\n  font-size: 24px;\n  line-height: 24px;\n  pointer-events: none;\n}\n.btn.btn-loading,\n.btn.btn-loading:link,\n.btn.btn-loading:active,\n.btn.btn-loading:visited,\n.btn.btn-loading:hover,\n.btn.btn-loading:focus {\n  color: transparent;\n}\n.btn.btn-loading .loader,\n.btn.btn-loading:link .loader,\n.btn.btn-loading:active .loader,\n.btn.btn-loading:visited .loader,\n.btn.btn-loading:hover .loader,\n.btn.btn-loading:focus .loader {\n  height: 20px;\n  margin-top: -20px;\n}\n.btn.btn-loading .loader > div,\n.btn.btn-loading:link .loader > div,\n.btn.btn-loading:active .loader > div,\n.btn.btn-loading:visited .loader > div,\n.btn.btn-loading:hover .loader > div,\n.btn.btn-loading:focus .loader > div {\n  width: 20px;\n  height: 20px;\n}\n.btn.btn-loading.btn-default .loader > div {\n  border-top-color: #172b4d;\n  border-bottom-color: #172b4d;\n}\n.btn.btn-loading.btn-primary .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-success .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-info .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-warning .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn.btn-loading.btn-danger .loader > div {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n.btn .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n}\n.btn-icon .material-icon {\n  margin: -1px -4px;\n  width: 20px;\n  height: 20px;\n  font-size: 20px;\n  line-height: 20px;\n}\n.btn-icon .btn-text {\n  margin-left: 10px;\n}\n.btn-icon .btn-text-left {\n  margin-right: 10px;\n}\n.btn-block.btn-icon {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.dropdown-menu > li > a,\n.dropdown-menu > li > .btn-link,\n.modal-menu > li > a,\n.modal-menu > li > .btn-link {\n  display: block;\n  border: none;\n  clear: both;\n  float: none;\n  padding: 6px 20px;\n  width: 100%;\n  color: #172b4d;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > .btn-link:hover,\n.modal-menu > li > a:hover,\n.modal-menu > li > .btn-link:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-menu > li > .btn-link:focus,\n.modal-menu > li > a:focus,\n.modal-menu > li > .btn-link:focus {\n  background-color: #ebecf0;\n  color: #172b4d;\n  text-decoration: none;\n}\n.dropdown-menu > li > a:active,\n.dropdown-menu > li > .btn-link:active,\n.modal-menu > li > a:active,\n.modal-menu > li > .btn-link:active {\n  background-color: #ebecf0;\n  color: #172b4d;\n  text-decoration: none;\n}\n.dropdown-menu > li > a:disabled,\n.dropdown-menu > li > .btn-link:disabled,\n.modal-menu > li > a:disabled,\n.modal-menu > li > .btn-link:disabled {\n  color: rgba(23, 43, 77, 0.5);\n}\n.dropdown-menu > li > a .material-icon,\n.dropdown-menu > li > .btn-link .material-icon,\n.modal-menu > li > a .material-icon,\n.modal-menu > li > .btn-link .material-icon {\n  margin: -2px 0px;\n  margin-right: 7px;\n  position: relative;\n  bottom: 1px;\n  font-size: 18px;\n}\n.dropdown-menu > li > a .badge,\n.dropdown-menu > li > .btn-link .badge,\n.modal-menu > li > a .badge,\n.modal-menu > li > .btn-link .badge {\n  float: right;\n  position: relative;\n  top: 1px;\n}\n.modal-menu {\n  margin: 20px 0px;\n  padding: 0px;\n}\n.modal-menu > li {\n  margin: 6.66666667px 0px;\n  padding: 0px;\n  list-style: none;\n}\n.dropdown-menu {\n  min-width: 210px;\n}\n.dropdown-menu .dropdown-footer {\n  padding: 6px 20px;\n}\n.dropdown-menu .dropdown-buttons {\n  padding: 2px 20px;\n  padding-bottom: 7px;\n}\n.dropdown-menu .dropdown-buttons .btn {\n  margin: 4px 0px;\n}\n.mobile-dropdown {\n  position: relative;\n}\n.mobile-dropdown.open > .dropdown-menu,\n.compact-nav.open > .dropdown-menu {\n  border: none;\n  border-radius: 0;\n  display: block;\n  margin: 0px;\n  width: 100%;\n}\n.user-dropdown .guest-preview {\n  text-align: center;\n}\n.user-dropdown .guest-preview .row {\n  margin: 0px;\n}\n.navbar .user-dropdown {\n  width: 240px;\n}\n.user-dropdown .dropdown-header {\n  padding: 6px 20px;\n  font-size: 18px;\n}\n.user-dropdown .dropdown-header strong {\n  font-weight: normal;\n}\n@media screen and (min-width: 992px) {\n  .category-picker .dropdown-menu {\n    width: 300px;\n  }\n}\n.category-picker .dropdown-menu > li > .btn-link {\n  white-space: normal;\n  word-wrap: break-word;\n}\n@media screen and (max-width: 767px) {\n  .dropdown-menu.stick-to-bottom {\n    border-radius: 0px;\n    border: none;\n    max-height: 300px;\n    overflow-y: auto;\n    -webkit-box-shadow: 0px 0px 30px #7a869a;\n    box-shadow: 0px 0px 30px #7a869a;\n    clear: both;\n    top: auto;\n    width: 100%;\n    position: fixed;\n    bottom: 0px;\n    margin: 0px;\n    padding: 0px;\n    padding-bottom: 20px;\n  }\n  .dropdown-menu.stick-to-bottom li {\n    float: none;\n    margin: 0px;\n    clear: both;\n  }\n  .dropdown-menu.stick-to-bottom li > a,\n  .dropdown-menu.stick-to-bottom li > .btn {\n    padding-top: 15px;\n    padding-bottom: 15px;\n    border-bottom: 1px solid #ebecf0;\n  }\n}\n.category-label {\n  border-radius: 0.25em;\n  padding: 0.2em 0.6em 0.3em;\n}\n.category-label-color,\n.category-label-color:link,\n.category-label-color:focus,\n.category-label-color:active,\n.category-label-color:visited,\n.category-label-color:hover {\n  color: #fff;\n}\n.category-label-no-color,\n.category-label-no-color:link,\n.category-label-no-color:focus,\n.category-label-no-color:active,\n.category-label-no-color:visited,\n.category-label-no-color:hover {\n  background-color: #ebecf0;\n  color: #344563;\n}\n.thread-flags {\n  display: flex;\n  align-items: center;\n  opacity: 0.8;\n  margin: 0;\n  padding: 0;\n}\n.thread-flags li {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  border-radius: 3px;\n  list-style-type: none;\n  cursor: default;\n}\n.thread-flags li + li {\n  margin-left: 7.5px;\n}\n.thread-flags .material-icon {\n  font-size: 16px;\n  line-height: 16px;\n}\n.thread-flag-pinned-globally {\n  color: #2563eb;\n  background: #dbeafe;\n}\n.thread-flag-pinned-locally {\n  color: #3b82f6;\n  background: #dbeafe;\n}\n.thread-flag-answered {\n  color: #4d7c0f;\n  background: #d9f99d;\n}\n.thread-flag-poll {\n  color: #c026d3;\n  background: #f5d0fe;\n}\n.thread-flag-unapproved {\n  color: #ffffff;\n  background: #dc2626;\n}\n.thread-flag-closed {\n  color: #dc2626;\n  background: #fecaca;\n}\n.thread-flag-hidden {\n  color: #ffffff;\n  background: #64748b;\n}\n.threads-replies {\n  display: flex;\n  align-items: center;\n  color: #5e6c84;\n  font-size: 16px;\n  font-weight: bold;\n}\n.threads-replies .material-icon {\n  margin-right: 7.5px;\n  transform: matrix(-1, 0, 0, 1, 0, 0);\n}\n.thread-user-card {\n  display: flex;\n  align-items: center;\n}\n.thread-user-card-media {\n  flex: 0;\n  margin-right: 15px;\n}\n.thread-user-card-media img {\n  border-radius: 3px;\n}\n.thread-user-card-body {\n  flex: 1;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.navbar-misago .dropdown-menu.dropdown-search-results {\n  margin: 0px;\n  padding-top: 0px;\n  width: 400px;\n  left: auto;\n  right: 0px;\n}\n.dropdown-search-results .form-group {\n  margin: 0px;\n  padding: 12px;\n}\nli.dropdown-search-message {\n  text-align: center;\n}\n.dropdown-search-thread {\n  width: 100%;\n}\n.dropdown-search-thread h5 {\n  margin: 0px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dropdown-search-thread small {\n  display: block;\n  margin: 0px;\n  margin-top: 4px;\n}\n.page-header {\n  margin: 0;\n  margin-top: 10px;\n}\n.page-header-banner-bg-overlay {\n  padding: 20px 0;\n}\n.page-header h1 {\n  margin: 0;\n  overflow-wrap: break-word;\n}\n.page-container {\n  padding-top: 20px;\n}\n@media screen and (max-width: 991px) {\n  .panel-message-body {\n    text-align: center;\n  }\n  .panel-message-body .message-icon {\n    margin: 30px;\n  }\n  .panel-message-body .message-icon .material-icon {\n    font-size: 160px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .panel-message-body {\n    padding: 20px;\n    padding-bottom: 30px;\n  }\n  .panel-message-body .message-icon {\n    float: left;\n  }\n  .panel-message-body .message-icon .material-icon {\n    font-size: 50px;\n  }\n  .panel-message-body .message-body {\n    margin-left: 65px;\n    margin-top: 10px;\n  }\n  .panel-message-body .message-body .lead {\n    margin-bottom: 0px;\n  }\n  .panel-message-body .message-body .help-block {\n    margin-top: 13.2px;\n  }\n}\n.panel-body-loading {\n  padding: 0px;\n  text-align: center;\n}\n.misago-footer {\n  margin-top: 30px;\n  margin-bottom: 50px;\n}\n.misago-footer .footer-content {\n  border-top: 1px solid #ebecf0;\n  padding-top: 30px;\n}\n.misago-footer .noscript-message .material-icon {\n  position: relative;\n  bottom: 1px;\n  font-size: 18px;\n}\n.ui-preview {\n  color: #ebecf0;\n  -webkit-animation: ui-preview-animation 1s linear infinite;\n  -o-animation: ui-preview-animation 1s linear infinite;\n  animation: ui-preview-animation 1s linear infinite;\n}\n@keyframes ui-preview-animation {\n  0% {\n    filter: alpha(opacity=100);\n    opacity: 1;\n  }\n  50% {\n    filter: alpha(opacity=10);\n    opacity: 0.1;\n  }\n  100% {\n    filter: alpha(opacity=100);\n    opacity: 1;\n  }\n}\n.ui-preview-text {\n  background: #ebecf0;\n  border-radius: 100px;\n  display: inline-block;\n  height: 14px;\n  position: relative;\n  top: 3px;\n}\n.ui-preview-paragraph .ui-preview-text {\n  margin-right: 6px;\n}\n.ui-preview-paragraph .ui-preview-text:last-child {\n  margin-right: 0px;\n}\n.ui-preview-img {\n  background: #ebecf0;\n  border-radius: 5px;\n}\n.pager-undercontent {\n  margin-top: -20px;\n}\n.pager-more {\n  text-align: center;\n}\n@media screen and (min-width: 992px) {\n  .pager-more .btn {\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n}\n.misago-pagination {\n  display: flex;\n}\n.misago-pagination .btn {\n  display: block;\n  width: 100%;\n}\n.misago-pagination .btn + .btn {\n  margin-left: 30px;\n}\n@media screen and (max-width: 767px) {\n  .toolbar-item .misago-pagination {\n    flex: 1;\n  }\n}\n.panel-poll h2 {\n  margin-top: 0px;\n}\n.poll-select-choice .btn,\n.poll-select-choice .btn:active,\n.poll-select-choice .btn:focus,\n.poll-select-choice .btn:hover {\n  background: transparent;\n  border: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  margin: 6px 0px;\n  padding: 0px;\n  padding-left: 6px;\n  outline: none;\n  text-align: left;\n}\n.poll-select-choice .btn .material-icon {\n  margin-right: 6px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-heigh: 28px;\n  color: #ced0da;\n}\n.poll-select-choice .btn.btn-selected .material-icon {\n  color: #0052cc;\n}\n.poll-help {\n  font-size: 12px;\n}\n.poll-chart-selected .material-icon {\n  margin-right: 4px;\n  position: relative;\n  bottom: 1px;\n  height: 14px;\n  width: 14px;\n  color: #36b37e;\n  font-size: 14px;\n  line-heigh: 14px;\n}\n.poll-options {\n  margin-bottom: 0px;\n}\n@media screen and (max-width: 767px) {\n  .poll-options {\n    margin-top: -6px;\n  }\n  .poll-options .btn {\n    margin: 6px 0px;\n  }\n}\n.user-status.user-banned .status-icon {\n  color: #ff5630;\n}\n.user-status.user-online .status-icon {\n  color: #36b37e;\n}\n.user-status.user-offline .status-icon {\n  color: #7a869a;\n}\n@media screen and (min-width: 768px) {\n  .user-card {\n    text-align: center;\n  }\n}\n.user-card-small-avatar img {\n  width: 100%;\n  height: auto;\n}\n@media screen and (min-width: 768px) {\n  .user-card-small-avatar {\n    display: none;\n  }\n}\n@media screen and (max-width: 767px) {\n  .user-card-avatar {\n    display: none;\n  }\n}\n.toolbar {\n  display: block;\n  margin: 0 -15px;\n}\n.toolbar-section {\n  justify-items: center;\n  display: flex;\n  flex: 1;\n  margin-bottom: 20px;\n}\n.toolbar-item {\n  flex: 1;\n  padding: 0 15px;\n}\n.toolbar-item h3,\n.toolbar-item p {\n  margin: 0;\n}\n.toolbar-item-shrink {\n  flex: 0;\n}\n.toolbar-spacer {\n  display: none;\n}\n@media screen and (min-width: 768px) {\n  .toolbar {\n    display: flex;\n  }\n  .toolbar-section,\n  .toolbar-item {\n    flex: 0;\n    align-items: center;\n  }\n  .toolbar-section.toolbar-section-auto,\n  .toolbar-section.toolbar-section-auto .toolbar-item {\n    flex: 1;\n  }\n  .toolbar-spacer {\n    display: block;\n    flex: 1;\n  }\n  .toolbar-item .form-search {\n    width: 250px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .toolbar-item p {\n    text-align: center;\n  }\n}\nabbr {\n  border: none !important;\n}\n.item-title {\n  color: #172b4d;\n  font-weight: bold;\n  text-decoration: none;\n}\na.item-title:link,\na.item-title:active,\na.item-title:visited,\na.item-title:hover {\n  color: #172b4d;\n  font-weight: bold;\n}\na.item-title:hover {\n  text-decoration: underline;\n}\n.message-line {\n  text-align: center;\n}\n.message-line .material-icon {\n  margin-right: 6.66666667px;\n  font-size: 20px;\n  line-height: 20px;\n  height: 20px;\n  width: 20px;\n}\n.text-ellipsis {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.misago-markup h1,\n.misago-markup h2,\n.misago-markup h3,\n.misago-markup h4,\n.misago-markup h5,\n.misago-markup h6,\n.misago-markup p {\n  word-wrap: break-word;\n}\n.misago-markup h1,\n.misago-markup h2,\n.misago-markup h3,\n.misago-markup h4,\n.misago-markup h5,\n.misago-markup h6 {\n  margin-top: 40px;\n}\n.misago-markup > *,\n.misago-markup blockquote > * {\n  margin: 20px 0px;\n}\n.misago-markup > *:first-child,\n.misago-markup blockquote > *:first-child {\n  margin-top: 0px;\n}\n.misago-markup > *:last-child,\n.misago-markup blockquote > *:last-child {\n  margin-bottom: 0px;\n}\n.misago-markup img {\n  max-width: 100%;\n  max-height: 500px;\n}\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background: #ebecf0;\n  border: none;\n  font-size: 14px;\n}\n.misago-markup .quote-block .quote-heading,\n.misago-markup blockquote .quote-heading {\n  border-bottom: 1px solid #d4d6df;\n  padding: 10px 20px;\n  font-size: 12px;\n  font-weight: bold;\n}\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  border: 1px solid #d4d6df;\n}\n.misago-markup .quote-body {\n  background: #fff;\n  margin: 0px;\n  padding: 20px;\n}\n.misago-markup .quote-body > .quote-block,\n.misago-markup .quote-body > blockquote {\n  border: 1px solid #d4d6df;\n}\n.misago-markup .spoiler-block {\n  background: #ebecf0;\n  border: none;\n  font-size: 14px;\n}\n.misago-markup > .spoiler-block {\n  border: 1px solid #d4d6df;\n  position: relative;\n}\n.misago-markup .spoiler-body {\n  background: #fff;\n  margin: 0px;\n  padding: 20px;\n}\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: #fff;\n}\n.misago-markup .spoiler-block.revealed .spoiler-overlay {\n  display: none;\n}\n.misago-markup ul {\n  list-style-type: square;\n}\n.misago-markup ul li {\n  list-style-type: square;\n}\n.misago-markup ol {\n  list-style-type: decimal;\n}\n.misago-markup ol li {\n  list-style-type: decimal;\n}\n.misago-markup pre {\n  background: #eee;\n  border: none;\n  padding: 10px;\n  overflow: hidden;\n  color: #000;\n}\n.misago-markup pre code.hljs {\n  margin: -10px;\n  padding: 9.5px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview {\n  border-radius: 6px;\n  margin: 0px auto;\n  overflow: hidden;\n  position: relative;\n  width: 200px;\n  height: 200px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview .loader {\n  display: none;\n  position: absolute;\n  top: 50px;\n  height: 100px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {\n  border-width: 10px;\n  border-color: #fff;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  width: 100px;\n  height: 100px;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img {\n  filter: alpha(opacity=33);\n  opacity: 0.33;\n}\n.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader {\n  display: block;\n}\n@media (max-width: 699px) {\n  .modal-change-avatar .modal-avatar-index .avatar-preview {\n    margin-bottom: 20px;\n    width: 150px;\n    height: 150px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview img {\n    width: 150px;\n    height: 150px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview .loader {\n    top: 25px;\n    height: 100px;\n  }\n  .modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {\n    width: 100px;\n    height: 100px;\n  }\n}\n.modal-change-avatar .modal-avatar-index .btn {\n  text-align: left;\n}\n.modal-change-avatar .modal-avatar-upload {\n  text-align: center;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file {\n  background: transparent;\n  border: 2px solid #ebecf0;\n  border-radius: 6px;\n  padding: 10px 24px;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  color: #7a869a;\n  font-size: 18px;\n  text-align: center;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file > .material-icon {\n  display: block;\n  margin: 0px auto;\n  margin-bottom: 13.2px;\n  font-size: 50px;\n  width: 50px;\n  height: 50px;\n}\n.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover,\n.modal-change-avatar .modal-avatar-upload .btn-pick-file:active {\n  border-color: #0052cc;\n  color: #0052cc;\n}\n.modal-change-avatar .modal-avatar-upload .text-muted {\n  margin-top: 13.2px;\n}\n.modal-change-avatar .modal-avatar-upload .upload-progress img {\n  border-radius: 4px;\n  margin-bottom: 20px;\n  max-height: 80px;\n  width: auto;\n}\n.modal-change-avatar .modal-avatar-upload .upload-progress .progress {\n  width: 70%;\n  margin: 0px auto;\n}\n.modal-avatar-crop .crop-form {\n  margin: 0px auto;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input {\n  margin-top: 10px;\n  -webkit-appearance: none;\n  border: 1px solid white;\n  width: 100%;\n  /*hide the outline behind the border*/\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 8px;\n  background: #ebecf0;\n  border: none;\n  border-radius: 3px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n  margin-top: -6px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus {\n  outline: none;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track {\n  background: #ebecf0;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track {\n  width: 100%;\n  height: 8px;\n  background: #ebecf0;\n  border: none;\n  border-radius: 4px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb {\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring {\n  outline: 1px solid white;\n  outline-offset: -1px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track {\n  width: 100%;\n  height: 8px;\n  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n  background: transparent;\n  /*leave room for the larger thumb to overflow with a transparent border */\n  border-color: transparent;\n  border-width: 8px 0;\n  /*remove default tick marks*/\n  color: transparent;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower {\n  background: #ebecf0;\n  border-radius: 16px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper {\n  background: #ebecf0;\n  border-radius: 16px;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb {\n  border: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #7a869a;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower {\n  background: #ebecf0;\n}\n.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper {\n  background: #ebecf0;\n}\n.modal-change-avatar .modal-avatar-gallery {\n  padding-bottom: 0px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery {\n  margin-bottom: 20px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3 {\n  margin-top: 0px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row {\n  margin-bottom: 10px;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn {\n  border-radius: 6px;\n  border: 2px solid #ebecf0;\n  background: none;\n  padding: 2px;\n  position: relative;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover,\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus {\n  border-color: #7a869a;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active {\n  border-color: #0065ff;\n}\n.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img {\n  border-radius: 4px;\n  width: 100%;\n  height: auto;\n}\n.category-main .read-status .material-icon {\n  color: #ebecf0;\n}\n.category-main .read-status.item-new .material-icon {\n  color: #0052cc;\n}\n.category-last-thread .media-heading a {\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  width: 290px;\n  text-overflow: ellipsis;\n  vertical-align: top;\n}\n@media screen and (max-width: 991px) {\n  .category-last-thread .media-heading a {\n    width: 275px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .category-last-thread .media-heading a {\n    width: 260px;\n  }\n}\n.category-thread-message .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.category-thread-message p {\n  margin: 0px;\n}\n.list-inline.subcategories-list {\n  overflow: auto;\n  margin-top: -10px;\n}\n.list-inline.subcategories-list li {\n  display: block;\n  float: left;\n}\n.list-inline.subcategories-list li a,\n.list-inline.subcategories-list li a:link,\n.list-inline.subcategories-list li a:visited,\n.list-inline.subcategories-list li a:active,\n.list-inline.subcategories-list li a:hover,\n.list-inline.subcategories-list li a:focus {\n  background-color: #ebecf0;\n  border: 1px solid #dcdee5;\n  border-radius: 4px;\n  display: inline-block;\n  margin-top: 10px;\n  padding: 6px 12px;\n  color: #5e6c84;\n}\n.list-inline.subcategories-list li:focus,\n.list-inline.subcategories-list li a:hover,\n.list-inline.subcategories-list li a:active {\n  background-color: #dcdee5;\n  color: #172b4d;\n  text-decoration: none;\n}\n.row.subcategories-list .btn {\n  margin-top: 20px;\n  text-align: left;\n}\n#posting-placeholder {\n  background-color: #ebecf0;\n  display: none;\n  margin-top: 30px;\n  margin-bottom: -30px;\n  padding: 20px 0px;\n  transition: height 300ms;\n}\n#posting-placeholder.slide-in {\n  display: block;\n}\n#posting-placeholder .first-row {\n  margin-bottom: 20px;\n}\n#posting-placeholder .first-row .form-control {\n  border: 1px solid #bfc2cf;\n}\n#posting-placeholder .first-row .posting-options .btn {\n  padding-top: 4px;\n  padding-bottom: 4px;\n}\n#posting-placeholder .first-row .posting-options .btn .btn-text {\n  margin-left: 5px;\n  position: relative;\n  top: 1px;\n}\n#posting-placeholder .first-row .posting-options .material-icon {\n  width: 14px;\n  height: 24px;\n  margin-right: 0px;\n  position: relative;\n  top: 5px;\n  font-size: 14px;\n  line-height: 14px;\n  text-align: center;\n}\n.posting-ui-preview {\n  padding: 20px 0px;\n  position: relative;\n}\n.posting-ui-preview .form-control {\n  box-shadow: none;\n  resize: none;\n}\n.posting-loader {\n  text-align: center;\n}\n.posting-loader .loader {\n  height: 100px;\n}\n.posting-loader .loader .loader-spinning-wheel {\n  width: 100px;\n  height: 100px;\n}\n.posting-message {\n  text-align: center;\n}\n.posting-message .material-icon {\n  margin-right: 6.66666667px;\n  position: relative;\n  top: -1px;\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.posting-message .message-body p {\n  font-size: 18px;\n}\n.editor-border {\n  background-color: #fff;\n  border: 1px solid #bfc2cf;\n  border-radius: 4px;\n}\n.editor-border .form-control {\n  border: none;\n  resize: none;\n}\n.editor-border .form-control,\n.editor-border .form-control:focus,\n.editor-border .form-control:active {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.editor-footer {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 12px;\n  overflow: auto;\n}\n.editor-footer .pull-left {\n  margin-right: 12px;\n}\n.editor-footer .pull-right {\n  margin-left: 12px;\n}\n.editor-footer .btn-icon .material-icon {\n  margin-bottom: -2px;\n}\n@media screen and (max-width: 991px) {\n  .editor-footer .buttons-list {\n    float: none !important;\n    margin: 0px;\n    margin-bottom: 10px;\n  }\n  .editor-footer .buttons-list .btn {\n    display: inline-block;\n    float: none !important;\n    margin: 6.66666667px;\n  }\n  .editor-footer .btn-protect .btn-text {\n    margin-left: 10px;\n  }\n  .editor-footer .btn-protect .material-icon {\n    position: relative;\n    bottom: 2px;\n    width: 14px;\n    height: 14px;\n    font-size: 14px;\n    line-height: 14px;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .buttons-list .btn:first-child {\n    margin-left: 0px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .buttons-list {\n    text-align: center;\n  }\n  .buttons-list .btn-protect {\n    display: block;\n    float: none !important;\n    width: 100%;\n    margin: 0px;\n    margin-top: 10px;\n  }\n}\n.editor-attachments-list {\n  margin: 0px;\n  padding: 0px;\n}\n.editor-attachments-list li {\n  margin: 0px;\n}\n.editor-attachment-complete {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 0px;\n  padding-right: 12px;\n}\n.editor-attachment-complete .editor-attachment-image {\n  float: left;\n  width: 50px;\n}\n.editor-attachment-complete .editor-attachment-image a {\n  background-size: cover;\n  background-position: center;\n  border-radius: 3px;\n  display: block;\n  margin: 0px auto;\n  width: 36px;\n  height: 36px;\n}\n.editor-attachment-complete .editor-attachment-icon {\n  float: left;\n  width: 50px;\n  text-align: center;\n}\n.editor-attachment-complete .editor-attachment-icon .material-icon {\n  position: relative;\n  top: 2px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.editor-attachment-complete .editor-attachment-details {\n  margin-left: 50px;\n}\n.editor-attachment-complete .editor-attachment-details h4,\n.editor-attachment-complete .editor-attachment-details p {\n  margin: 0px;\n  padding: 0px;\n  font-size: 14px;\n}\n.editor-attachment-complete .editor-attachment-details p {\n  margin-top: 3px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.editor-attachment-complete .editor-attachment-details abbr {\n  white-space: nowrap;\n}\n@media screen and (min-width: 768px) {\n  .editor-attachment-actions {\n    padding-top: 3px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .editor-attachment-actions {\n    padding-left: 12px;\n    padding-right: 12px;\n  }\n}\n.editor-attachment-error {\n  border-top: 1px solid #bfc2cf;\n  padding: 6px 0px;\n  padding-right: 12px;\n}\n.editor-attachment-error-icon {\n  float: left;\n  width: 50px;\n  text-align: center;\n}\n.editor-attachment-error-icon .material-icon {\n  position: relative;\n  top: 2px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.editor-attachment-error-message {\n  margin-left: 50px;\n  padding: 6px 0px;\n  position: relative;\n}\n.editor-attachment-error-message h4,\n.editor-attachment-error-message p {\n  margin: 0px;\n  padding: 0px;\n  font-size: 14px;\n}\n.editor-attachment-error-message p {\n  margin-top: 3px;\n  font-size: 12px;\n}\n.editor-attachment-error-message .btn {\n  position: absolute;\n  top: 9px;\n  right: 12px;\n}\n@media screen and (max-width: 767px) {\n  .editor-attachment-error-message .btn {\n    display: block;\n    margin-top: 10px;\n    position: static;\n  }\n}\n.editor-attachment-progress-bar {\n  background: #bfc2cf;\n  overflow: auto;\n}\n.editor-attachment-progress {\n  background: #0052cc;\n  float: left;\n  height: 1px;\n}\n.editor-attachment-upload-message {\n  margin: 0px;\n  padding: 6px 12px;\n}\n#editor-upload-field {\n  position: absolute;\n  left: -1000px;\n  top: -1000px;\n}\n.atwho-view ul li img {\n  border-radius: 3px;\n  margin-right: 4.66666667px;\n  width: 20px;\n  height: 20px;\n}\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user {\n  margin-bottom: 20px;\n}\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user,\n.participant-card .btn-user:hover,\n.participant-card .dropdown.open .btn-user:hover,\n.participant-card .btn-user:focus,\n.participant-card .dropdown.open .btn-user:focus,\n.participant-card .btn-user:focus:active,\n.participant-card .dropdown.open .btn-user:focus:active {\n  padding: 0px;\n  overflow: hidden;\n  text-align: left;\n}\n.participant-card .btn-user img,\n.participant-card .dropdown.open .btn-user img {\n  background-color: #fff;\n  width: 34px;\n  height: 34px;\n  margin-right: 8px;\n}\n.panel-participants p {\n  margin: 0px;\n  margin-top: 7px;\n}\n.poll-choices-control .list-group-item {\n  padding: 0px;\n}\n.poll-choices-control .list-group-item .btn {\n  background: transparent;\n  border: transparent;\n  float: left;\n  margin: 0px 2px;\n  margin-bottom: -29px;\n  padding: 0px;\n  width: 28px;\n  height: 28px;\n  position: relative;\n  top: 3px;\n}\n.poll-choices-control .list-group-item .btn .material-icon {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.poll-choices-control input,\n.poll-choices-control input:focus,\n.poll-choices-control input:active {\n  background: transparent;\n  border: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  outline: none;\n  margin-left: 30px;\n  padding: 6px 12px;\n  width: 100%;\n}\n.posts-list {\n  margin: 0px;\n  padding: 0px;\n  clear: both;\n}\n.posts-list li {\n  list-style: none;\n  margin: 0px;\n  padding: 0px;\n}\n.post-side {\n  font-size: 12px;\n}\n.post-side .media {\n  margin: 0px;\n}\n.post-side .poster-avatar {\n  height: 36px;\n  width: 36px;\n}\n@media screen and (min-width: 992px) {\n  .post-side .poster-avatar {\n    margin-top: 4px;\n    height: 82px;\n    width: 82px;\n  }\n}\n.post-side .user-status {\n  margin-right: 4px;\n}\n.post-side .media-heading {\n  display: block;\n}\n.post-side .media-heading {\n  margin: 0px;\n  margin-top: -1px;\n  font-size: 14px;\n}\n.post-side .media-heading .user-status {\n  margin-right: 0;\n  margin-left: 2px;\n}\n.post-side .pull-right {\n  margin-left: 16px;\n}\n@media screen and (min-width: 992px) {\n  .post-side .media-heading {\n    margin-top: 3px;\n    font-size: 18px;\n  }\n  .post-side .media-heading .user-status {\n    display: none;\n  }\n  .post-side .user-title {\n    margin-top: 4px;\n    margin-bottom: 5px;\n  }\n  .post-side .user-postcount {\n    display: block;\n  }\n  .post-side .user-status {\n    display: block;\n  }\n}\n.post-heading {\n  height: 36px;\n}\n@media screen and (max-width: 991px) {\n  .post-heading {\n    margin-top: 10px;\n  }\n}\n.post-heading .pull-right {\n  margin-left: 16px;\n}\n.post-heading > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-heading .label {\n  margin-top: 6px;\n  font-size: 14px;\n  font-weight: normal;\n}\n.post-heading .label-unread {\n  background-color: #36b37e;\n  color: #fff;\n}\n@media screen and (min-width: 992px) {\n  .post-side .pull-right {\n    display: none;\n  }\n}\n@media screen and (max-width: 991px) {\n  .post-heading .pull-right {\n    display: none;\n  }\n}\n.post-body {\n  padding-top: 20px;\n  padding-bottom: 30px;\n}\n.post-status-message {\n  overflow: auto;\n}\n.post-status-message .material-icon {\n  float: left;\n  font-size: 28px;\n  line-height: 28px;\n}\n.post-status-message p {\n  margin: 0px;\n  margin-top: 4px;\n  margin-left: 36px;\n}\n.post-status-best-answer {\n  background-color: #36b37e;\n  color: #fff;\n}\n.post-status-hidden {\n  background-color: #ff5630;\n  color: #fff;\n}\n.post-status-unapproved {\n  background-color: #0052cc;\n  color: #fff;\n}\n.post-status-protected {\n  background-color: #5e6c84;\n  color: #fff;\n}\n.post-footer .pull-left {\n  margin-right: 16px;\n}\n.post-footer .pull-right {\n  margin-left: 16px;\n}\n.post-footer p {\n  padding-top: 7px;\n  padding-bottom: 6px;\n  margin-bottom: 0px;\n}\n.post-attachments {\n  border-top: 1px solid #ebecf0;\n  padding: 6px 16px;\n}\n.post-attachments abbr {\n  white-space: nowrap;\n}\n.post-attachments .attachment-name {\n  word-wrap: break-word;\n}\n.post-attachments .row > div {\n  margin: 10px 0px;\n}\n.post-attachments .post-attachment-preview {\n  float: left;\n  height: 40px;\n  width: 40px;\n  text-align: center;\n}\n.post-attachments .post-attachment {\n  margin-left: 52px;\n}\n.post-attachments .post-thumbnail {\n  display: block;\n  background-size: cover;\n  background-position: center;\n  border-radius: 3px;\n  width: 40px;\n  height: 40px;\n}\n.post-attachments .material-icon {\n  width: 28px;\n  height: 28px;\n  position: relative;\n  top: 5px;\n  font-size: 28px;\n  line-height: 28px;\n}\n.post-attachments .material-icon:link,\n.post-attachments .material-icon:active,\n.post-attachments .material-icon:visited,\n.post-attachments .material-icon:hover,\n.post-attachments .material-icon:focus {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-attachments .post-attachment-description {\n  margin: 0px;\n  padding: 0px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.post-feed .post-side .media-heading {\n  margin: 0px;\n  font-size: 14px;\n}\n.post-feed .post-side .user-title {\n  margin: 0px;\n  font-size: 12px;\n}\n.post-feed .post-side .btn {\n  display: inline-block;\n}\n.post-feed .post-side img {\n  margin-top: 0px;\n  width: 36px;\n  height: 36px;\n}\n.post-feed .post-heading {\n  height: auto;\n  margin: 10px 0px;\n}\n.post-feed .post-heading .btn {\n  margin-right: 16px;\n  max-width: 100%;\n  text-align: left;\n  white-space: normal;\n  word-wrap: break-word;\n}\n.posts-list .event {\n  margin-bottom: 20px;\n  color: #7a869a;\n}\n.posts-list .event .media {\n  margin-top: 5px;\n}\n.posts-list .event-label .label-unread {\n  background-color: #36b37e;\n  color: #fff;\n}\n.posts-list .event .text-right {\n  padding-right: 0px;\n  text-align: right;\n}\n.posts-list .event .text-right .material-icon {\n  margin-right: -12px;\n  height: 28px;\n  width: 28px;\n  font-size: 28px;\n  line-height: 28px;\n  text-align: center;\n}\n.posts-list .event .text-left {\n  padding-left: 24px;\n}\n.posts-list .event .event-message {\n  margin-bottom: 5px;\n  font-size: 18px;\n}\n.posts-list .event .event-info {\n  margin: 0px;\n  font-size: 12px;\n}\n.posts-list .event .event-info li {\n  margin-right: 12px;\n}\n.posts-list .event .event-info li:last-child {\n  margin-right: 0px;\n}\n.posts-list .event .event-controls .btn-link {\n  border: 0px;\n  margin: 0px;\n  margin-right: 12px;\n  padding: 0px;\n  font-size: 12px;\n}\n.posts-list .event .event-controls .btn-link:last-child {\n  margin-right: 0px;\n}\n@media screen and (max-width: 767px) {\n  .posts-list .event .text-right {\n    width: 28px;\n    text-align: right;\n  }\n  .posts-list .event .text-left:first-child {\n    padding-left: 0px;\n  }\n  .posts-list .event .event-info {\n    margin-top: 5px;\n  }\n  .posts-list .event .event-controls {\n    clear: both;\n    margin-top: 5px;\n  }\n  .posts-list .event .event-controls .btn-link {\n    margin-right: 20px;\n    font-size: 14px;\n  }\n  .posts-list .event .event-controls .btn-link:last-child {\n    margin-right: 0px;\n  }\n}\n.post-changelog-diff {\n  padding: 0px;\n  margin: 0px;\n}\n.post-changelog-diff .list-unstyled {\n  padding: 0px;\n  margin: 5px 0px;\n}\n.post-changelog-diff .diff-item {\n  padding: 5px 10px;\n}\n.post-changelog-diff .diff-item-sub {\n  color: #ff5630;\n}\n.post-changelog-diff .diff-item-add {\n  color: #36b37e;\n}\n.post-changelog-toolbar .row {\n  margin-left: -12px;\n  margin-right: -12px;\n}\n@media screen and (max-width: 767px) {\n  .post-changelog-toolbar .post-change-label {\n    text-align: center;\n  }\n}\n@media screen and (max-width: 767px) {\n  .page-message .message-panel,\n  .page-error .message-panel {\n    text-align: center;\n  }\n  .page-message .message-icon,\n  .page-error .message-icon {\n    margin: 30px;\n    font-size: 80px;\n  }\n}\n@media screen and (min-width: 768px) {\n  .page-message .message-panel,\n  .page-error .message-panel {\n    margin: 60px auto;\n    max-width: 779.35px;\n    overflow: auto;\n  }\n  .page-message .message-icon,\n  .page-error .message-icon {\n    float: left;\n  }\n  .page-message .message-icon .material-icon,\n  .page-error .message-icon .material-icon {\n    font-size: 80px;\n  }\n  .page-message .message-body,\n  .page-error .message-body {\n    margin-top: 16px;\n    margin-left: 100px;\n    font-size: 18px;\n  }\n  .page-message .message-body p.lead,\n  .page-error .message-body p.lead {\n    font-size: 36px;\n  }\n}\n.threads-list {\n  margin-bottom: 20px;\n}\n.threads-list-item {\n  display: flex;\n  align-items: center;\n}\n.threads-list-item img {\n  width: 32px;\n  height: 32px;\n}\n.threads-list-item-top-row {\n  display: flex;\n  flex: 1;\n  align-items: center;\n  justify-content: center;\n}\n.threads-list-item-bottom-row {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.threads-list-item-col-icon {\n  padding-right: 15px;\n}\n.threads-list-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  border-radius: 3px;\n  font-size: 16px;\n  line-height: 16px;\n}\n.threads-list-icon:link,\n.threads-list-icon:active,\n.threads-list-icon:focus,\n.threads-list-icon:hover,\n.threads-list-icon:visited {\n  background-color: #ebecf0;\n  color: #7a869a;\n  text-decoration: none;\n}\n.threads-list-icon-new:link,\n.threads-list-icon-new:active,\n.threads-list-icon-new:focus,\n.threads-list-icon-new:hover,\n.threads-list-icon-new:visited {\n  background-color: #0052cc;\n  color: #fff;\n}\n.threads-list-item-col-title {\n  flex: 1;\n}\na.threads-list-item-title:link,\na.threads-list-item-title:active,\na.threads-list-item-title:focus,\na.threads-list-item-title:hover,\na.threads-list-item-title:visited {\n  font-size: 16px;\n  color: #172b4d;\n  overflow-wrap: break-word;\n}\na.threads-list-item-title-sm {\n  font-size: 18px;\n}\na.threads-list-item-title-sm:link,\na.threads-list-item-title-sm:active,\na.threads-list-item-title-sm:focus,\na.threads-list-item-title-sm:hover,\na.threads-list-item-title-sm:visited {\n  color: #5e6c84;\n  overflow-wrap: break-word;\n}\na.threads-list-item-title-new:link,\na.threads-list-item-title-new:active,\na.threads-list-item-title-new:focus,\na.threads-list-item-title-new:hover,\na.threads-list-item-title-new:visited {\n  color: #172b4d;\n}\n.threads-list-item-col-flags {\n  padding-left: 15px;\n}\n.threads-list-item {\n  opacity: 0.8;\n}\n.threads-list-item:hover .thread-flags,\n.threads-list-item:focus .thread-flags {\n  opacity: 1;\n}\n.threads-list-item-col-category {\n  padding-left: 15px;\n  white-space: nowrap;\n}\n.threads-list-category-label {\n  padding: 3px 6px;\n  border-radius: 3px;\n  font-size: 12px;\n  font-weight: bold;\n}\n.threads-list-category-label,\n.threads-list-category-label:link,\n.threads-list-category-label:active,\n.threads-list-category-label:hover,\n.threads-list-category-label:focus,\n.threads-list-category-label:visited {\n  color: #344563;\n  background: #ebecf0;\n  text-decoration: none;\n}\n.threads-list-category-label.threads-list-category-label-color,\n.threads-list-category-label.threads-list-category-label-color:link,\n.threads-list-category-label.threads-list-category-label-color:active,\n.threads-list-category-label.threads-list-category-label-color:hover,\n.threads-list-category-label.threads-list-category-label-color:focus,\n.threads-list-category-label.threads-list-category-label-color:visited {\n  color: #fff;\n  background: var(--label-color);\n}\n.threads-list-item-parent-category {\n  border-radius: 3px 0 0 3px;\n  margin-right: 2px;\n}\n.threads-list-item-parent-category + .threads-list-category-label {\n  border-radius: 0 3px 3px 0;\n}\n.threads-list-item-col-replies {\n  width: 80px;\n  padding-left: 15px;\n}\n.threads-list-item-col-last-poster {\n  padding-left: 15px;\n}\n.threads-list-item-col-last-poster img {\n  border-radius: 3px;\n}\n.threads-list-item-col-last-activity {\n  width: 120px;\n  padding-left: 15px;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.threads-list-item-col-last-activity a:link,\n.threads-list-item-col-last-activity a:hover,\n.threads-list-item-col-last-activity a:active,\n.threads-list-item-col-last-activity a:visited,\n.threads-list-item-col-last-activity a:focus {\n  color: #344563;\n  font-size: 16px;\n}\n.threads-list-item-col-checkbox,\n.threads-list-item-col-subscription {\n  padding-left: 15px;\n}\n.threads-list-item-title-sm,\n.threads-list-item-col-checkbox-sm {\n  display: none;\n}\n@media screen and (max-width: 767px) {\n  .threads-list {\n    margin-left: -15px;\n    margin-right: -15px;\n  }\n  .threads-list .list-group,\n  .threads-list .list-group-item {\n    border-radius: 0;\n    border-left: 0;\n    border-right: 0;\n  }\n  .threads-list-item-title {\n    display: none;\n  }\n  .threads-list-item-title-sm {\n    display: inline-block;\n  }\n  .threads-list-item-col-icon {\n    display: none;\n  }\n}\n@media screen and (max-width: 991px) {\n  .threads-list-item {\n    display: block;\n  }\n  .threads-list-item img {\n    width: 20px;\n    height: 20px;\n  }\n  .threads-list-item-top-row {\n    align-items: start;\n    margin-bottom: 7.5px;\n  }\n  .threads-list-item-bottom-row {\n    justify-content: end;\n    flex: 0;\n  }\n  .threads-list-item-bottom-row > div {\n    width: auto;\n    padding: 0 0 0 15px;\n  }\n  .threads-list-item-col-subscription,\n  .threads-list-item-col-checkbox {\n    display: none;\n  }\n  .threads-list-item-col-checkbox-sm {\n    display: block;\n    padding-left: 15px;\n  }\n  .threads-list-item-col-checkbox-sm .btn-icon {\n    padding: 4px;\n  }\n  .threads-list-item-col-checkbox-sm .btn-icon .material-icon {\n    font-size: 16px;\n  }\n}\n.threads-list-item-is-busy .btn-icon {\n  opacity: 0.8;\n  animation: busy 0.75s linear infinite;\n}\n@keyframes busy {\n  50% {\n    opacity: 0.5;\n  }\n}\n.threads-list-update-prompt {\n  padding: 0;\n}\n.threads-list-update-prompt-btn {\n  padding: 10px 16px;\n  background: #d6e7ff;\n  color: #003d99;\n  border: none;\n  border-radius: 3px 3px 0 0;\n}\n.threads-list-update-prompt-btn:hover,\n.threads-list-update-prompt-btn:focus {\n  background: #e6f0ff;\n  color: #0052cc;\n}\n.threads-list-update-prompt-btn:active {\n  background: #b3d1ff;\n  color: #0066ff;\n}\n.active-posters li {\n  display: block;\n  overflow: auto;\n}\n.active-posters .rank-user-avatar {\n  float: left;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-user-avatar {\n    height: 42px;\n  }\n  .active-posters .rank-user-avatar img {\n    width: 36px;\n    height: 36px;\n    position: relative;\n    top: 3px;\n  }\n}\n.active-posters .rank-user {\n  float: left;\n  margin-top: 3px;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-user {\n    margin-left: 13.2px;\n    width: 40%;\n  }\n}\n@media screen and (max-width: 767px) {\n  .active-posters .rank-user {\n    float: none;\n    margin-left: 50px;\n    width: auto;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .rank-user {\n    margin-left: 16px;\n    width: 25%;\n  }\n  .active-posters .rank-user .user-name {\n    font-size: 18px;\n  }\n}\n.active-posters .user-details {\n  overflow: auto;\n  font-family: Sans-Serif;\n}\n.active-posters .user-details .user-status,\n.active-posters .user-details .rank-name,\n.active-posters .user-details .user-title {\n  display: block;\n  float: left;\n  margin-right: 3px;\n  font-size: 12px;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-details .user-status,\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    margin-right: 8px;\n  }\n}\n.active-posters .user-details .user-title {\n  margin-right: 0px;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-details {\n    overflow: visible;\n  }\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    height: 14px;\n    overflow: hidden;\n    position: relative;\n    top: 1px;\n    vertical-align: baseline;\n  }\n}\n@media screen and (max-width: 767px) {\n  .active-posters .user-details {\n    margin-top: 3px;\n  }\n  .active-posters .user-details .rank-name,\n  .active-posters .user-details .user-title {\n    font-weight: normal;\n  }\n}\n.active-posters .user-status {\n  overflow: auto;\n  position: relative;\n  top: 1px;\n}\n.active-posters .user-status span {\n  display: block;\n  float: left;\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-status {\n    height: 14px;\n    overflow: hidden;\n  }\n}\n.active-posters .user-status .status-icon {\n  position: relative;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .user-status .status-icon {\n    top: 0px;\n    width: 12px;\n    height: 12px;\n    font-size: 12px;\n    line-height: 12px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .user-status .status-icon {\n    top: 1px;\n    margin-right: 3px;\n    width: 13px;\n    height: 13px;\n    font-size: 13px;\n    line-height: 13px;\n  }\n}\n.active-posters .status-label.ui-preview-text,\n.active-posters .rank-name .ui-preview-text,\n.active-posters .user-title .ui-preview-text {\n  height: 11px;\n  position: relative;\n  top: 2px;\n  font-size: 11px;\n  line-height: 11px;\n}\n.active-posters .rank-name .ui-preview-text,\n.active-posters .user-title .ui-preview-text {\n  position: static;\n}\n.active-posters .rank-position strong,\n.active-posters .rank-posts-counted strong,\n.active-posters .rank-posts-total strong,\n.active-posters .rank-position small,\n.active-posters .rank-posts-counted small,\n.active-posters .rank-posts-total small {\n  display: block;\n}\n@media screen and (max-width: 991px) {\n  .active-posters .rank-position,\n  .active-posters .rank-posts-counted,\n  .active-posters .rank-posts-total {\n    overflow: auto;\n  }\n  .active-posters .rank-position strong,\n  .active-posters .rank-posts-counted strong,\n  .active-posters .rank-posts-total strong,\n  .active-posters .rank-position small,\n  .active-posters .rank-posts-counted small,\n  .active-posters .rank-posts-total small {\n    float: left;\n    font-size: 10.5px;\n  }\n  .active-posters .rank-position strong,\n  .active-posters .rank-posts-counted strong,\n  .active-posters .rank-posts-total strong {\n    min-width: 30px;\n    margin-right: 3px;\n    text-align: right;\n  }\n  .active-posters .rank-position .ui-preview-text,\n  .active-posters .rank-posts-counted .ui-preview-text,\n  .active-posters .rank-posts-total .ui-preview-text {\n    height: 8px;\n    position: relative;\n    top: -1px;\n    font-size: 8px;\n    line-height: 8px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .active-posters .rank-position,\n  .active-posters .rank-posts-counted,\n  .active-posters .rank-posts-total {\n    float: left;\n    margin-top: 3px;\n    width: 23%;\n    font-size: 18px;\n    text-align: center;\n  }\n  .active-posters .rank-position small,\n  .active-posters .rank-posts-counted small,\n  .active-posters .rank-posts-total small {\n    font-size: 12px;\n    font-weight: normal;\n  }\n}\n.user-compact-stats .rank-position strong,\n.user-compact-stats .rank-posts-counted strong,\n.user-compact-stats .rank-position small,\n.user-compact-stats .rank-posts-counted small {\n  display: inline-block;\n  float: none;\n}\n.user-compact-stats .rank-position strong,\n.user-compact-stats .rank-posts-counted strong {\n  min-width: auto;\n}\n.user-compact-stats .rank-position small,\n.user-compact-stats .rank-posts-counted small {\n  margin-right: 20px;\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n@media screen and (min-width: 768px) and (max-width: 991px) {\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n.profile-page-header-avatar {\n  text-align: center;\n  margin: 20px 0;\n}\n.profile-page-header-avatar .user-avatar {\n  border-radius: 4px;\n}\n.profile-data-list {\n  display: block;\n  padding: 0;\n  margin: 0 -12px;\n  font-size: 12px;\n}\n.profile-data-list li {\n  display: inline-block;\n  list-style: none;\n  padding: 5px 12px;\n}\n.profile-data-list .status-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n}\n.profile-data-list .user-account-disabled {\n  color: #ff5630;\n  font-weight: bold;\n}\n@media screen and (min-width: 768px) {\n  .profile-page-header {\n    display: flex;\n    align-items: flex-end;\n  }\n  .profile-page-header-avatar {\n    margin: 0;\n    margin-right: 30px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .profile-page-header-avatar {\n    position: relative;\n    top: 54px;\n    margin-top: -54px;\n  }\n  .profile-page-header-details {\n    padding-left: 158px;\n  }\n  .profile-data-list {\n    font-size: 14px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history li {\n    display: block;\n    overflow: auto;\n  }\n}\n.username-history .change-avatar {\n  float: left;\n}\n.username-history .change-avatar a,\n.username-history .change-avatar span {\n  margin-right: 10px;\n}\n.username-history .change-avatar a img,\n.username-history .change-avatar span img {\n  width: 42px;\n  height: 42px;\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-avatar a img,\n  .username-history .change-avatar span img {\n    width: 18px;\n    height: 18px;\n    position: relative;\n    bottom: 1px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-author {\n    float: left;\n    width: 30%;\n  }\n}\n.username-history .change {\n  min-height: 20px;\n  overflow: auto;\n}\n.username-history .change span {\n  display: block;\n  float: left;\n}\n.username-history .change .material-icon {\n  margin: 0px 7px;\n  position: relative;\n  top: 4px;\n}\n@media screen and (min-width: 992px) {\n  .username-history .change {\n    float: left;\n    width: 40%;\n  }\n}\n@media screen and (min-width: 992px) {\n  .username-history .change-date {\n    float: left;\n    width: 20%;\n  }\n}\n.search-footer p {\n  margin-top: 20px;\n  color: #5e6c84;\n  font-size: 12px;\n  text-align: center;\n}\n@media screen and (min-width: 768px) {\n  .page-search-form {\n    padding-top: 40px;\n  }\n}\n@media screen and (min-width: 992px) {\n  .page-search-form {\n    padding-bottom: 40px;\n  }\n  .page-search-form h1 {\n    position: relative;\n    top: 5px;\n  }\n  .page-search-form .form-group {\n    margin-bottom: 0px;\n  }\n}\n/*\nDescription: Foundation 4 docs style for highlight.js\nAuthor: Dan Allen <dan.j.allen@gmail.com>\nWebsite: http://foundation.zurb.com/docs/\nVersion: 1.0\nDate: 2013-04-02\n*/\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #eee;\n  color: black;\n}\n.hljs-link,\n.hljs-emphasis,\n.hljs-attribute,\n.hljs-addition {\n  color: #070;\n}\n.hljs-emphasis {\n  font-style: italic;\n}\n.hljs-strong,\n.hljs-string,\n.hljs-deletion {\n  color: #d14;\n}\n.hljs-strong {\n  font-weight: bold;\n}\n.hljs-quote,\n.hljs-comment {\n  color: #998;\n  font-style: italic;\n}\n.hljs-section,\n.hljs-title {\n  color: #900;\n}\n.hljs-class .hljs-title,\n.hljs-type {\n  color: #458;\n}\n.hljs-variable,\n.hljs-template-variable {\n  color: #336699;\n}\n.hljs-bullet {\n  color: #997700;\n}\n.hljs-meta {\n  color: #3344bb;\n}\n.hljs-code,\n.hljs-number,\n.hljs-literal,\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #099;\n}\n.hljs-regexp {\n  background-color: #fff0ff;\n  color: #880088;\n}\n.hljs-symbol {\n  color: #990073;\n}\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n  color: #007700;\n}\n.atwho-view {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: none;\n  margin-top: 18px;\n  background: white;\n  color: black;\n  border: 1px solid #DDD;\n  border-radius: 3px;\n  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);\n  min-width: 120px;\n  z-index: 11110 !important;\n}\n.atwho-view .atwho-header {\n  padding: 5px;\n  margin: 5px;\n  cursor: pointer;\n  border-bottom: solid 1px #eaeff1;\n  color: #6f8092;\n  font-size: 11px;\n  font-weight: bold;\n}\n.atwho-view .atwho-header .small {\n  color: #6f8092;\n  float: right;\n  padding-top: 2px;\n  margin-right: -5px;\n  font-size: 12px;\n  font-weight: normal;\n}\n.atwho-view .atwho-header:hover {\n  cursor: default;\n}\n.atwho-view .cur {\n  background: #3366FF;\n  color: white;\n}\n.atwho-view .cur small {\n  color: white;\n}\n.atwho-view strong {\n  color: #3366FF;\n}\n.atwho-view .cur strong {\n  color: white;\n  font: bold;\n}\n.atwho-view ul {\n  /* width: 100px; */\n  list-style: none;\n  padding: 0;\n  margin: auto;\n  max-height: 200px;\n  overflow-y: auto;\n}\n.atwho-view ul li {\n  display: block;\n  padding: 5px 10px;\n  border-bottom: 1px solid #DDD;\n  cursor: pointer;\n  /* border-top: 1px solid #C8C8C8; */\n}\n.atwho-view small {\n  font-size: smaller;\n  color: #777;\n  font-weight: normal;\n}\nabbr {\n  outline: none;\n  text-decoration: none;\n}\n.shadow-2dp {\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.04), 0 3px 1px -2px rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.shadow-3dp {\n  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.04), 0 3px 3px -2px rgba(0, 0, 0, 0.06), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n}\n.shadow-4dp {\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.04), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n.shadow-6dp {\n  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.04), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.06);\n}\n.shadow-8dp {\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.06);\n}\n.shadow-16dp {\n  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.06);\n}\n.shadow-24dp {\n  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.04), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.06);\n}\n.btn-default,\n.btn-default:disabled,\n.btn-default:disabled:hover,\n.btn-default.disabled,\n.btn-default.disabled:hover,\n.btn-default.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default:disabled,\n.btn-default:disabled:hover,\n.btn-default.disabled,\n.btn-default.disabled:hover,\n.btn-default.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default:active:focus,\n.btn-default:active,\n.dropdown.open .dropdown-toggle .btn-default,\n.dropdown.open .dropdown-toggle .btn-default:focus,\n.dropdown.open .dropdown-toggle .btn-default:active:focus,\n.dropdown.open .dropdown-toggle .btn-default:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-loading,\n.btn-default.btn-loading:disabled,\n.btn-default.btn-loading:disabled:hover,\n.btn-default.btn-loading:hover,\n.btn-default.btn-loading:focus,\n.btn-default.btn-loading:active:focus,\n.btn-default.btn-loading:active {\n  color: transparent;\n}\n.btn-primary,\n.btn-primary:disabled,\n.btn-primary:disabled:hover,\n.btn-primary.disabled,\n.btn-primary.disabled:hover,\n.btn-primary.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary:disabled,\n.btn-primary:disabled:hover,\n.btn-primary.disabled,\n.btn-primary.disabled:hover,\n.btn-primary.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary:active:focus,\n.btn-primary:active,\n.dropdown.open .dropdown-toggle .btn-primary,\n.dropdown.open .dropdown-toggle .btn-primary:focus,\n.dropdown.open .dropdown-toggle .btn-primary:active:focus,\n.dropdown.open .dropdown-toggle .btn-primary:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-loading,\n.btn-primary.btn-loading:disabled,\n.btn-primary.btn-loading:disabled:hover,\n.btn-primary.btn-loading:hover,\n.btn-primary.btn-loading:focus,\n.btn-primary.btn-loading:active:focus,\n.btn-primary.btn-loading:active {\n  color: transparent;\n}\n.btn-success,\n.btn-success:disabled,\n.btn-success:disabled:hover,\n.btn-success.disabled,\n.btn-success.disabled:hover,\n.btn-success.disabled:active {\n  background: #00c853;\n  border: 1px solid #00c853;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success:disabled,\n.btn-success:disabled:hover,\n.btn-success.disabled,\n.btn-success.disabled:hover,\n.btn-success.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background: #00af48;\n  border: 1px solid #00af48;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success:active:focus,\n.btn-success:active,\n.dropdown.open .dropdown-toggle .btn-success,\n.dropdown.open .dropdown-toggle .btn-success:focus,\n.dropdown.open .dropdown-toggle .btn-success:active:focus,\n.dropdown.open .dropdown-toggle .btn-success:hover {\n  background: #007c33;\n  border: 1px solid #007c33;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-success.btn-loading,\n.btn-success.btn-loading:disabled,\n.btn-success.btn-loading:disabled:hover,\n.btn-success.btn-loading:hover,\n.btn-success.btn-loading:focus,\n.btn-success.btn-loading:active:focus,\n.btn-success.btn-loading:active {\n  color: transparent;\n}\n.btn-danger,\n.btn-danger:disabled,\n.btn-danger:disabled:hover,\n.btn-danger.disabled,\n.btn-danger.disabled:hover,\n.btn-danger.disabled:active {\n  background: #ef5350;\n  border: 1px solid #ef5350;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger:disabled,\n.btn-danger:disabled:hover,\n.btn-danger.disabled,\n.btn-danger.disabled:hover,\n.btn-danger.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background: #ff8a80;\n  border: 1px solid #ff8a80;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger:active:focus,\n.btn-danger:active,\n.dropdown.open .dropdown-toggle .btn-danger,\n.dropdown.open .dropdown-toggle .btn-danger:focus,\n.dropdown.open .dropdown-toggle .btn-danger:active:focus,\n.dropdown.open .dropdown-toggle .btn-danger:hover {\n  background: #d32f2f;\n  border: 1px solid #d32f2f;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-danger.btn-loading,\n.btn-danger.btn-loading:disabled,\n.btn-danger.btn-loading:disabled:hover,\n.btn-danger.btn-loading:hover,\n.btn-danger.btn-loading:focus,\n.btn-danger.btn-loading:active:focus,\n.btn-danger.btn-loading:active {\n  color: transparent;\n}\n.btn-default.btn-outline,\n.btn-default.btn-outline:disabled,\n.btn-default.btn-outline:disabled:hover,\n.btn-default.btn-outline.disabled,\n.btn-default.btn-outline.disabled:hover,\n.btn-default.btn-outline.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline:disabled,\n.btn-default.btn-outline:disabled:hover,\n.btn-default.btn-outline.disabled,\n.btn-default.btn-outline.disabled:hover,\n.btn-default.btn-outline.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-default.btn-outline:hover,\n.btn-default.btn-outline:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline:active:focus,\n.btn-default.btn-outline:active,\n.dropdown.open .btn-default.btn-outline,\n.dropdown.open .btn-default.btn-outline:focus,\n.dropdown.open .btn-default.btn-outline:active:focus,\n.dropdown.open .btn-default.btn-outline:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default.btn-outline.btn-loading,\n.btn-default.btn-outline.btn-loading:disabled,\n.btn-default.btn-outline.btn-loading:disabled:hover,\n.btn-default.btn-outline.btn-loading:hover,\n.btn-default.btn-outline.btn-loading:focus,\n.btn-default.btn-outline.btn-loading:active:focus,\n.btn-default.btn-outline.btn-loading:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline,\n.btn-primary.btn-outline:disabled,\n.btn-primary.btn-outline:disabled:hover,\n.btn-primary.btn-outline.disabled,\n.btn-primary.btn-outline.disabled:hover,\n.btn-primary.btn-outline.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline:disabled,\n.btn-primary.btn-outline:disabled:hover,\n.btn-primary.btn-outline.disabled,\n.btn-primary.btn-outline.disabled:hover,\n.btn-primary.btn-outline.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.btn-primary.btn-outline:hover,\n.btn-primary.btn-outline:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline:active:focus,\n.btn-primary.btn-outline:active,\n.dropdown.open .btn-primary.btn-outline,\n.dropdown.open .btn-primary.btn-outline:focus,\n.dropdown.open .btn-primary.btn-outline:active:focus,\n.dropdown.open .btn-primary.btn-outline:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-primary.btn-outline.btn-loading,\n.btn-primary.btn-outline.btn-loading:disabled,\n.btn-primary.btn-outline.btn-loading:disabled:hover,\n.btn-primary.btn-outline.btn-loading:hover,\n.btn-primary.btn-outline.btn-loading:focus,\n.btn-primary.btn-outline.btn-loading:active:focus,\n.btn-primary.btn-outline.btn-loading:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in {\n  border-radius: 4px;\n}\n.navbar-misago .btn-sign-in,\n.navbar-misago .btn-sign-in:disabled,\n.navbar-misago .btn-sign-in:disabled:hover,\n.navbar-misago .btn-sign-in.disabled,\n.navbar-misago .btn-sign-in.disabled:hover,\n.navbar-misago .btn-sign-in.disabled:active {\n  background: transparent;\n  border: 1px solid #c1c7d0;\n  color: #8993a4;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in:disabled,\n.navbar-misago .btn-sign-in:disabled:hover,\n.navbar-misago .btn-sign-in.disabled,\n.navbar-misago .btn-sign-in.disabled:hover,\n.navbar-misago .btn-sign-in.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.navbar-misago .btn-sign-in:hover,\n.navbar-misago .btn-sign-in:focus {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in:active:focus,\n.navbar-misago .btn-sign-in:active,\n.dropdown.open .navbar-misago .btn-sign-in,\n.dropdown.open .navbar-misago .btn-sign-in:focus,\n.dropdown.open .navbar-misago .btn-sign-in:active:focus,\n.dropdown.open .navbar-misago .btn-sign-in:hover {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-sign-in.btn-loading,\n.navbar-misago .btn-sign-in.btn-loading:disabled,\n.navbar-misago .btn-sign-in.btn-loading:disabled:hover,\n.navbar-misago .btn-sign-in.btn-loading:hover,\n.navbar-misago .btn-sign-in.btn-loading:focus,\n.navbar-misago .btn-sign-in.btn-loading:active:focus,\n.navbar-misago .btn-sign-in.btn-loading:active {\n  background: transparent;\n  border: 1px solid #c1c7d0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register {\n  border-radius: 4px;\n}\n.navbar-misago .btn-register,\n.navbar-misago .btn-register:disabled,\n.navbar-misago .btn-register:disabled:hover,\n.navbar-misago .btn-register.disabled,\n.navbar-misago .btn-register.disabled:hover,\n.navbar-misago .btn-register.disabled:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register:disabled,\n.navbar-misago .btn-register:disabled:hover,\n.navbar-misago .btn-register.disabled,\n.navbar-misago .btn-register.disabled:hover,\n.navbar-misago .btn-register.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.navbar-misago .btn-register:hover,\n.navbar-misago .btn-register:focus {\n  background: #5243aa;\n  border: 1px solid #5243aa;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register:active:focus,\n.navbar-misago .btn-register:active,\n.dropdown.open .navbar-misago .btn-register,\n.dropdown.open .navbar-misago .btn-register:focus,\n.dropdown.open .navbar-misago .btn-register:active:focus,\n.dropdown.open .navbar-misago .btn-register:hover {\n  background: #403294;\n  border: 1px solid #403294;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.navbar-misago .btn-register.btn-loading,\n.navbar-misago .btn-register.btn-loading:disabled,\n.navbar-misago .btn-register.btn-loading:disabled:hover,\n.navbar-misago .btn-register.btn-loading:hover,\n.navbar-misago .btn-register.btn-loading:focus,\n.navbar-misago .btn-register.btn-loading:active:focus,\n.navbar-misago .btn-register.btn-loading:active {\n  background: #6554c0;\n  border: 1px solid #6554c0;\n  color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-social-battlenet,\n.btn-social-battlenet-oauth2,\n.btn-social-battlenet:disabled,\n.btn-social-battlenet-oauth2:disabled,\n.btn-social-battlenet:disabled:hover,\n.btn-social-battlenet-oauth2:disabled:hover {\n  color: #0e86ca;\n  font-weight: bold;\n}\n.btn-social-bungie,\n.btn-social-bungie:disabled,\n.btn-social-bungie:disabled:hover {\n  color: #0096db;\n  font-weight: bold;\n}\n.btn-social-facebook,\n.btn-social-facebook-app,\n.btn-social-facebook:disabled,\n.btn-social-facebook-app:disabled,\n.btn-social-facebook:disabled:hover,\n.btn-social-facebook-app:disabled:hover {\n  color: #3b5998;\n  font-weight: bold;\n}\n.btn-social-github,\n.btn-social-github-team,\n.btn-social-github-enterprise,\n.btn-social-github-enterprise-org,\n.btn-social-github-enterprise-team,\n.btn-social-github:disabled,\n.btn-social-github-team:disabled,\n.btn-social-github-enterprise:disabled,\n.btn-social-github-enterprise-org:disabled,\n.btn-social-github-enterprise-team:disabled,\n.btn-social-github:disabled:hover,\n.btn-social-github-team:disabled:hover,\n.btn-social-github-enterprise:disabled:hover,\n.btn-social-github-enterprise-org:disabled:hover,\n.btn-social-github-enterprise-team:disabled:hover {\n  color: #000000;\n  font-weight: bold;\n}\n.btn-social-gitlab,\n.btn-social-gitlab:disabled,\n.btn-social-gitlab:disabled:hover {\n  color: #fc6d26;\n  font-weight: bold;\n}\n.btn-social-google,\n.btn-social-google-oauth,\n.btn-social-google-oauth2,\n.btn-social-google-plus,\n.btn-social-google-openidconnect,\n.btn-social-google:disabled,\n.btn-social-google-oauth:disabled,\n.btn-social-google-oauth2:disabled,\n.btn-social-google-plus:disabled,\n.btn-social-google-openidconnect:disabled,\n.btn-social-google:disabled:hover,\n.btn-social-google-oauth:disabled:hover,\n.btn-social-google-oauth2:disabled:hover,\n.btn-social-google-plus:disabled:hover,\n.btn-social-google-openidconnect:disabled:hover {\n  color: #dd4b39;\n  font-weight: bold;\n}\n.btn-social-linkedin,\n.btn-social-linkedin:disabled,\n.btn-social-linkedin:disabled:hover {\n  color: #0077b5;\n  font-weight: bold;\n}\n.btn-social-steam,\n.btn-social-steam:disabled,\n.btn-social-steam:disabled:hover {\n  color: #5c7e10;\n  font-weight: bold;\n}\n.btn-social-twitter,\n.btn-social-twitter:disabled,\n.btn-social-twitter:disabled:hover {\n  color: #1da1f2;\n  font-weight: bold;\n}\n.form-social-auth .row {\n  margin-top: -6px;\n  margin-bottom: -6px;\n}\n.form-social-auth .btn {\n  margin: 6px 0px;\n}\ninput.form-control,\ntextarea.form-control {\n  border-color: #ced0da;\n  box-shadow: inset 0px 0px 0px 1px #ced0da;\n}\ninput.form-control:focus,\ntextarea.form-control:focus {\n  border-color: #66afe9;\n  box-shadow: inset 0px 0px 0px 1px #66afe9;\n}\n.has-error input.form-control {\n  border-color: #ff5630;\n  box-shadow: inset 0px 0px 0px 1px #ff5630;\n}\n.has-error input.form-control:focus {\n  border-color: #ffa996;\n  box-shadow: inset 0px 0px 0px 1px #ffa996;\n}\n.has-success input.form-control {\n  border-color: #36b37e;\n  box-shadow: inset 0px 0px 0px 1px #36b37e;\n}\n.has-success input.form-control:focus {\n  border-color: #79d6af;\n  box-shadow: inset 0px 0px 0px 1px #79d6af;\n}\n.password-strength {\n  margin-top: 10px;\n}\n.password-strength .text-small {\n  margin-top: 4px;\n  color: #3462af;\n  font-size: 12px;\n}\n.password-strength .progress {\n  margin: 0px;\n}\n.auth-message {\n  background: #091e42;\n  padding: 80px 0px;\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.06);\n}\n.auth-message p {\n  color: #fff;\n}\n.auth-message .btn {\n  background: #f4f5f7;\n  border-color: #f4f5f7;\n  color: #172b4d;\n}\n.auth-message .btn:hover,\n.auth-message .btn:focus {\n  background: #dfe1e6;\n  border-color: #dfe1e6;\n  color: #172b4d;\n}\n.auth-message .btn:active {\n  background: #b3bac5;\n  border-color: #b3bac5;\n  color: #172b4d;\n}\n.dropdown-menu {\n  border: none;\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.04), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n.user-dropdown .dropdown-header strong {\n  display: block;\n  color: #172b4d;\n  font-weight: bold;\n}\n.user-dropdown .dropdown-header .user-stats {\n  margin-top: 10px;\n  font-size: 12px;\n}\n.user-dropdown .dropdown-header .user-stats .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n}\n.user-dropdown .guest-preview {\n  padding-bottom: 10px;\n}\n.user-dropdown .badge {\n  background-color: #ff5630;\n}\n.user-dropdown a:hover .badge,\n.user-dropdown a:focus .badge,\n.user-dropdown a:active .badge,\n.user-dropdown .btn-link:hover .badge,\n.user-dropdown .btn-link:focus .badge,\n.user-dropdown .btn-link:active .badge {\n  background-color: #fff;\n  color: #ff5630;\n}\n.mobile-dropdown.open {\n  margin: 0px;\n}\n.navbar-misago {\n  border-bottom: none;\n  box-shadow: 0px 0px 3px #c1c7d0;\n}\n.navbar-misago .user-avatar {\n  background: #fff;\n  border-radius: 3px;\n}\n.navbar-misago .brand-link img {\n  border-radius: 3px;\n}\n.dropdown-search-results {\n  border-radius: 0px 0px 4px 4px;\n}\n.dropdown-search-message {\n  border-top: 1px solid #ebecf0;\n  padding: 10px 16px;\n  color: #7a869a;\n}\n.dropdown-search-loader {\n  border-top: 1px solid #ebecf0;\n  padding: 10px 16px;\n}\n.dropdown-search-header {\n  border-top: 1px solid #ebecf0;\n  padding: 8px 20px;\n  color: #7a869a;\n  font-weight: bold;\n}\n.dropdown-search-thread small,\n.dropdown-search-user small {\n  color: #7a869a;\n}\n.dropdown-search-thread .dropdown-search-post-content {\n  overflow: hidden;\n  white-space: normal;\n  max-height: 47px;\n}\n.dropdown-search-thread .dropdown-search-post-footer {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dropdown-search-footer {\n  padding-bottom: 5px;\n}\n.dropdown-search-footer:last-child {\n  padding-bottom: 0px;\n}\n.dropdown-menu > li.dropdown-search-footer > a {\n  font-size: small;\n}\n.misago-footer {\n  margin-top: 40px;\n}\n.misago-footer .footer-content {\n  border-top: 1px solid #ebecf0;\n  padding-top: 20px;\n  color: #a5adba;\n}\n@media screen and (max-width: 767px) {\n  .misago-footer .footer-content {\n    text-align: center;\n  }\n  .misago-footer .footer-content .site-footnote {\n    clear: both;\n    margin-bottom: 15px;\n  }\n}\n.misago-footer .footer-content a,\n.misago-footer .footer-content a:link,\n.misago-footer .footer-content a:visited {\n  color: #a5adba;\n}\n.misago-footer .footer-content a:hover,\n.misago-footer .footer-content a:focus {\n  color: #7a8699;\n}\n.misago-footer .footer-content .misago-branding,\n.misago-footer .footer-content .misago-branding:link,\n.misago-footer .footer-content .misago-branding:visited {\n  color: #a5adba;\n}\n.misago-footer .footer-content .misago-branding:hover,\n.misago-footer .footer-content .misago-branding:focus {\n  color: #7a8699;\n}\n.list-group {\n  border-radius: 3px;\n}\n.list-group .list-group-item {\n  border-left-color: #ebecf0;\n  border-right-color: #ebecf0;\n}\n.list-group .list-group-item:first-child {\n  border-top-color: #ebecf0;\n}\n.list-group .list-group-item:last-child {\n  border-bottom-color: #ebecf0;\n}\n.list-group-item.empty-message {\n  padding-top: 20px;\n  padding-bottom: 20px;\n  text-align: center;\n}\n.list-group-item.empty-message p {\n  margin: 10px 0px;\n}\n.nav-side {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.nav-side > .list-group-item {\n  border-left: none;\n  border-right: none;\n  margin-bottom: 1px;\n}\n.nav-side > .list-group-item:first-child {\n  border-top: none;\n}\n.nav-side > .list-group-item:last-child {\n  border-bottom: none;\n}\n.nav-side > .list-group-item,\n.nav-side > .list-group-item:link,\n.nav-side > .list-group-item:visited {\n  background: #f4f5f7;\n  border: none;\n  color: #172b4d;\n}\n.nav-side > .list-group-item:hover,\n.nav-side > .list-group-item:focus,\n.nav-side > .list-group-item:active {\n  background: #ebecf0;\n  color: #172b4d;\n}\n.nav-side > .list-group-item.active,\n.nav-side > .list-group-item.active:link,\n.nav-side > .list-group-item.active:visited,\n.nav-side > .list-group-item.active:hover,\n.nav-side > .list-group-item.active:focus,\n.nav-side > .list-group-item.active:active {\n  background: #091e42;\n  color: #fff;\n  font-weight: bold;\n}\n.nav-side > .list-group-item.active .badge,\n.nav-side > .list-group-item.active:link .badge,\n.nav-side > .list-group-item.active:visited .badge,\n.nav-side > .list-group-item.active:hover .badge,\n.nav-side > .list-group-item.active:focus .badge,\n.nav-side > .list-group-item.active:active .badge {\n  background: #f4f5f7;\n  color: #172b4d;\n}\n.username-history .user-avatar {\n  border-radius: 4px;\n}\n.panel {\n  border: none;\n  border-radius: 4px;\n}\n.panel .panel-heading,\n.panel .panel-footer {\n  background: #fff;\n}\n.panel .panel-title {\n  color: #5e6c84;\n}\n.panel .form-group + .form-group {\n  margin-top: 20px;\n}\n.panel .panel-body > .form-group:first-child {\n  margin-top: 10px;\n}\n.panel fieldset {\n  margin-top: 20px;\n}\n.panel fieldset:first-child {\n  margin-top: 0px;\n}\n.panel fieldset legend {\n  border: none;\n  color: #5e6c84;\n  font-weight: 300;\n}\n.panel-message-body .message-icon {\n  color: #9575cd;\n}\n.panel-form {\n  border: 1px solid #ebecf0;\n  box-shadow: none;\n}\n.panel-form .panel-heading,\n.panel-form .panel-footer {\n  border-color: #ebecf0;\n}\n.poll-form .panel {\n  margin: 0px;\n}\n.help-block,\n.help-block .text-small {\n  color: #7a869a;\n}\n.category-main .media-left .read-status {\n  background: #ebecf0;\n  border-radius: 4px;\n  padding: 5px 8px;\n}\n.category-main .media-left .material-icon {\n  height: 14px;\n  width: 14px;\n  color: #5e6c84;\n  font-size: 14px;\n  line-height: 14px;\n}\n.category-main .media-left .read-status.item-new {\n  background-color: #0052cc;\n}\n.category-main .media-left .read-status.item-new .material-icon {\n  color: #fff;\n}\n@media screen and (min-width: 768px) {\n  .category-main .media-left {\n    padding: 5px 0px;\n  }\n}\n.category-main .media-body {\n  padding-left: 12px;\n}\n@media screen and (max-width: 767px) {\n  .category-main .media-body {\n    padding-left: 3.33333333px;\n  }\n}\n.list-group-category-no-description .category-main .media-heading {\n  margin-top: 10px;\n}\n@media screen and (max-width: 767px) {\n  .list-group-category-no-description .category-main .media-heading {\n    margin-top: 5px;\n  }\n}\n.category-main .media-heading a,\n.category-main .media-heading a:link,\n.category-main .media-heading a:visited {\n  color: #344563;\n}\n.category-main .media-heading a:focus,\n.category-main .media-heading a:hover,\n.category-main .media-heading a:active {\n  color: #172b4d;\n}\n.category-stats {\n  color: #5e6c84;\n}\n.category-main .category-description p {\n  font-size: 12px;\n}\n.category-main .category-description p:last-child {\n  margin-bottom: 0px;\n}\n.category-last-thread img {\n  background-color: #fff;\n  border-radius: 4px;\n}\n.category-last-thread .media-heading {\n  margin-bottom: 2px;\n}\n@media screen and (max-width: 767px) {\n  .category-last-thread .media-heading {\n    margin-top: 10px;\n  }\n}\n.category-last-thread .list-inline {\n  color: #7a869a;\n  font-size: 12px;\n}\n.category-last-thread .list-inline a,\n.category-last-thread .list-inline a:link,\n.category-last-thread .list-inline a:visited {\n  color: #7a869a;\n}\n.category-last-thread .list-inline a:hover,\n.category-last-thread .list-inline a:active,\n.category-last-thread .list-inline a:focus {\n  color: #344563;\n}\n.category-last-thread .list-inline .item-title,\n.category-last-thread .list-inline .item-title:link,\n.category-last-thread .list-inline .item-title:visited {\n  color: #344563;\n}\n.category-last-thread .list-inline .item-title:hover,\n.category-last-thread .list-inline .item-title:active,\n.category-last-thread .list-inline .item-title:focus {\n  color: #172b4d;\n}\n.category-thread-message {\n  color: #7a869a;\n}\n.category-thread-message .material-icon {\n  padding: 6px 0px;\n  margin-right: 3px;\n}\n@media screen and (max-width: 767px) {\n  .category-thread-message {\n    padding-top: 15px;\n    font-size: 12px;\n  }\n  .category-thread-message .material-icon {\n    padding: 3px 0px;\n  }\n}\n.panel-participants {\n  border: 1px solid #ebecf0;\n}\n.participant-card .btn-user {\n  border: 0px !important;\n}\n.participant-card .dropdown-header-owner {\n  color: #0052cc;\n}\n.participant-card .dropdown-header-owner .material-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  line-height: 14px;\n}\n.participant-card .dropdown-header-owner .icon-text {\n  margin-left: 4px;\n  position: relative;\n  top: 2px;\n}\n.panel-participants p {\n  color: #7a869a;\n}\n@media screen and (max-width: 767px) {\n  .panel-participants p {\n    margin-top: 10px;\n    text-align: center;\n  }\n}\n.panel-poll {\n  border: 1px solid #ebecf0;\n}\n.panel-poll .poll-select-choices {\n  margin-top: -10px;\n}\n.panel-poll .poll-details {\n  margin-bottom: 20px;\n  color: #7a869a;\n  font-size: 12px;\n}\n.panel-poll .progress {\n  margin-top: 6.66666667px;\n  margin-bottom: 5px;\n}\n.panel-poll .poll-chart {\n  color: #7a869a;\n  font-size: 12px;\n}\n.panel-poll .poll-options {\n  margin-top: 20px;\n}\n#posting-placeholder {\n  background-color: #fafbfc;\n}\n.posting-message .material-icon {\n  color: #9575cd;\n}\n.posting-message .btn {\n  margin-top: 20px;\n}\n.panel-post {\n  background: #fff;\n  border: 1px solid #ddd;\n}\n.post-side {\n  color: #7a869a;\n}\n.post-side .poster-avatar {\n  border-radius: 4px;\n}\n.post-side .user-title {\n  color: #5e6c84;\n}\n.post-side .user-title a,\n.post-side .user-title a:link,\n.post-side .user-title a:visited,\n.post-side .user-title a:focus,\n.post-side .user-title a:hover,\n.post-side .user-title a:active {\n  color: #5e6c84;\n}\n.post-heading .label-unread {\n  background-color: #aa00ff;\n  margin-right: 16px;\n}\n.post-heading .label-protected {\n  background-color: transparent;\n  margin-left: 24px;\n  position: relative;\n  top: 1px;\n  color: #bdbdbd;\n}\n.post-heading .label-protected .material-icon {\n  margin-right: 2px;\n  position: relative;\n  top: -1px;\n  font-size: 16px;\n  line-height: 16px;\n}\n.post-heading > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-heading > .btn-link,\n.post-heading > .btn-link:link,\n.post-heading > .btn-link:visited {\n  color: #7a869a;\n}\n.post-heading > .btn-link:hover,\n.post-heading > .btn-link:focus,\n.post-heading > .btn-link:focus:active,\n.post-heading > .btn-link:active {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-heading .btn-see-edits {\n  margin-left: 24px;\n}\n.post-status-message {\n  border-radius: 4px;\n  margin-top: 10px;\n  padding: 6px 12px;\n}\n@media screen and (max-width: 767px) {\n  .post-status-message {\n    font-size: 12px;\n  }\n  .post-status-message .material-icon {\n    margin-top: 3px;\n  }\n  .post-status-message p {\n    margin-top: 0px;\n  }\n}\n.post-body:last-child {\n  padding-bottom: 10px;\n}\n.post-attachments {\n  background-color: #ebecf0;\n  border: none;\n  border-radius: 4px;\n  margin-bottom: 30px;\n}\n.post-attachments:last-child {\n  margin-bottom: 10px;\n}\n@media screen and (max-width: 767px) {\n  .post-attachments {\n    border-radius: 0px;\n    margin: 0px -15px;\n    margin-bottom: 20px;\n  }\n}\n.post-footer > .btn-link {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.post-footer > .btn-link,\n.post-footer > .btn-link:link,\n.post-footer > .btn-link:visited {\n  color: #7a869a;\n}\n.post-footer > .btn-link:hover,\n.post-footer > .btn-link:focus,\n.post-footer > .btn-link:focus:active,\n.post-footer > .btn-link:active {\n  color: #172b4d;\n  text-decoration: none;\n}\n.post-footer p {\n  color: #7a869a;\n  font-size: 12px;\n}\n.post-body-hidden,\n.post-body-invalid {\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n.post-body-hidden .lead,\n.post-body-invalid .lead {\n  margin-bottom: 10px;\n}\n.post-body-hidden .text-muted,\n.post-body-invalid .text-muted {\n  margin-bottom: 0px;\n  font-size: 12px;\n}\n.post-hidden {\n  filter: alpha(opacity=75);\n  opacity: 0.75;\n}\n.post-feed .panel-body {\n  padding-bottom: 0px;\n}\n.post-feed .post-body {\n  position: relative;\n  padding-top: 0px;\n  padding-bottom: 20px;\n  max-height: 300px;\n  overflow-y: hidden;\n}\n.post-feed .post-body:after {\n  box-shadow: 0px 0px 16px 16px #ffffff;\n  display: block;\n  position: absolute;\n  bottom: 0px;\n  height: 0px;\n  width: 100%;\n  content: \"-\";\n  color: transparent;\n}\n.posts-list .event .event-label {\n  margin-bottom: 5px;\n}\n.posts-list .event .label-unread {\n  background-color: #aa00ff;\n  color: #fff;\n}\n.posts-list .event-info a,\n.posts-list .event-info a:link,\n.posts-list .event-info a:visited,\n.posts-list .event-info .btn-link {\n  color: #5e6c84;\n}\n.posts-list .event-info a:focus,\n.posts-list .event-info a:active,\n.posts-list .event-info a:focus:active,\n.posts-list .event-info .btn-link:focus,\n.posts-list .event-info .btn-link:active,\n.posts-list .event-info .btn-link:focus:active {\n  color: #172b4d;\n}\n.posts-list .event-hidden {\n  filter: alpha(opacity=33);\n  opacity: 0.33;\n}\n.user-card {\n  background: #f4f5f7;\n}\n.user-card-small-avatar img,\n.user-card-avatar img {\n  border-radius: 4px;\n}\n.user-card-avatar {\n  margin: 20px 0px;\n}\n.user-card-avatar img {\n  width: 150px;\n  height: 150px;\n}\n.user-card-username a,\n.user-card-username a:link,\n.user-card-username a:visited,\n.user-card-username a:hover,\n.user-card-username a:focus,\n.user-card-username a:active {\n  color: #172b4d;\n  font-size: 18px;\n  font-weight: bold;\n}\n.user-card-title span,\n.user-card-title a,\n.user-card-title a:link,\n.user-card-title a:visited {\n  color: #5e6c84;\n}\n.user-card-title a:focus,\n.user-card-title a:hover,\n.user-card-title a:active {\n  color: #172b4d;\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats {\n    margin-top: 20px;\n  }\n}\n.user-card-stats ul {\n  margin: 0px;\n}\n.user-card-stats li {\n  display: inline-block;\n  margin-right: 12px;\n  color: #7a869a;\n  font-size: 12px;\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats li {\n    margin: 0px 6px;\n  }\n}\n.user-card-stats li.user-stat-empty {\n  display: none;\n}\n@media screen and (min-width: 768px) {\n  li.user-stat-divider {\n    display: block;\n    margin: 0px;\n  }\n}\n@media screen and (max-width: 767px) {\n  li.user-stat-divider {\n    display: none;\n  }\n}\n@media screen and (min-width: 768px) {\n  .user-card-stats {\n    min-height: 60px;\n  }\n}\n@media screen and (max-width: 767px) {\n  .user-card-left {\n    padding-right: 0px;\n  }\n}\n.progress,\n.progress .progress-bar {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  height: 8px;\n}\n.misago-markup img {\n  border-radius: 4px;\n}\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background-color: #ffecb3;\n  border-color: #b3e5fc;\n  overflow: hidden;\n  color: #3e2723;\n}\n.misago-markup .quote-block .quote-heading,\n.misago-markup blockquote .quote-heading {\n  background-color: #ffe082;\n  border: none;\n  color: #795548;\n}\n.misago-markup .quote-block .quote-heading a,\n.misago-markup blockquote .quote-heading a,\n.misago-markup .quote-block .quote-heading a:link,\n.misago-markup blockquote .quote-heading a:link,\n.misago-markup .quote-block .quote-heading a:visited,\n.misago-markup blockquote .quote-heading a:visited {\n  color: #5d4037;\n}\n.misago-markup .quote-block .quote-heading a:hover,\n.misago-markup blockquote .quote-heading a:hover,\n.misago-markup .quote-block .quote-heading a:focus,\n.misago-markup blockquote .quote-heading a:focus,\n.misago-markup .quote-block .quote-heading a:active,\n.misago-markup blockquote .quote-heading a:active {\n  color: #3e2723;\n}\n.misago-markup .quote-block hr,\n.misago-markup blockquote hr {\n  border-color: #ffca28;\n}\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  background: #ffecb3;\n  border: none;\n  border-radius: 4px;\n}\n.misago-markup > .quote-block .quote-block,\n.misago-markup > blockquote .quote-block {\n  background: #ffecb3;\n}\n.misago-markup .quote-body {\n  background: #ffecb3;\n}\n.misago-markup .quote-body > .quote-block,\n.misago-markup .quote-body > blockquote {\n  border-color: #ffe082;\n  border-radius: 4px;\n}\n.misago-markup .spoiler-block {\n  background: repeating-linear-gradient(45deg, rgba(235, 236, 240, 0.5), rgba(235, 236, 240, 0.5) 10px, #fff 10px, #fff 20px);\n  border: none;\n}\n.misago-markup .spoiler-body {\n  background: transparent;\n  -webkit-filter: blur(5px);\n  -moz-filter: blur(5px);\n  -o-filter: blur(5px);\n  -ms-filter: blur(5px);\n  filter: blur(5px);\n  color: #172b4d;\n}\n.misago-markup .spoiler-block.revealed .spoiler-body {\n  -webkit-filter: none;\n  -moz-filter: none;\n  -o-filter: none;\n  -ms-filter: none;\n  filter: none;\n}\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.1);\n}\n.misago-markup .spoiler-reveal {\n  color: #172b4d;\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal.focus {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #8c8c8c;\n}\n.misago-markup .spoiler-reveal:hover {\n  color: #172b4d;\n  background-color: #ced0da;\n  border-color: #adadad;\n}\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal.active,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal {\n  color: #172b4d;\n  background-color: #ced0da;\n  background-image: none;\n  border-color: #adadad;\n}\n.misago-markup .spoiler-reveal:active:hover,\n.misago-markup .spoiler-reveal.active:hover,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal:active:focus,\n.misago-markup .spoiler-reveal.active:focus,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal:active.focus,\n.misago-markup .spoiler-reveal.active.focus,\n.open > .dropdown-toggle.misago-markup .spoiler-reveal.focus {\n  color: #172b4d;\n  background-color: #b9bdcb;\n  border-color: #8c8c8c;\n}\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal[disabled]:hover,\nfieldset[disabled] .misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal.disabled:focus,\n.misago-markup .spoiler-reveal[disabled]:focus,\nfieldset[disabled] .misago-markup .spoiler-reveal:focus,\n.misago-markup .spoiler-reveal.disabled.focus,\n.misago-markup .spoiler-reveal[disabled].focus,\nfieldset[disabled] .misago-markup .spoiler-reveal.focus {\n  background-color: #ebecf0;\n  border-color: #ccc;\n}\n.misago-markup .spoiler-reveal .badge {\n  color: #ebecf0;\n  background-color: #172b4d;\n}\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:disabled,\n.misago-markup .spoiler-reveal:disabled:hover,\n.misago-markup .spoiler-reveal.disabled,\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal.disabled:active {\n  background: #ebecf0;\n  border: 1px solid #ebecf0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal:disabled,\n.misago-markup .spoiler-reveal:disabled:hover,\n.misago-markup .spoiler-reveal.disabled,\n.misago-markup .spoiler-reveal.disabled:hover,\n.misago-markup .spoiler-reveal.disabled:active {\n  filter: alpha(opacity=25);\n  opacity: 0.25;\n}\n.misago-markup .spoiler-reveal:hover,\n.misago-markup .spoiler-reveal:focus {\n  background: #dfe1e6;\n  border: 1px solid #dfe1e6;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal:active:focus,\n.misago-markup .spoiler-reveal:active,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:focus,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:active:focus,\n.dropdown.open .dropdown-toggle .misago-markup .spoiler-reveal:hover {\n  background: #c1c7d0;\n  border: 1px solid #c1c7d0;\n  color: #172b4d;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.misago-markup .spoiler-reveal.btn-loading,\n.misago-markup .spoiler-reveal.btn-loading:disabled,\n.misago-markup .spoiler-reveal.btn-loading:disabled:hover,\n.misago-markup .spoiler-reveal.btn-loading:hover,\n.misago-markup .spoiler-reveal.btn-loading:focus,\n.misago-markup .spoiler-reveal.btn-loading:active:focus,\n.misago-markup .spoiler-reveal.btn-loading:active {\n  color: transparent;\n}\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal:hover {\n  border-radius: 4px;\n  box-shadow: 0px 0px 0px 4px #fff;\n  padding: 6px 12px;\n}\n.modal-header {\n  background: #fff;\n  border-bottom-color: #ced0da;\n  border-radius: 6px 6px 0px 0px;\n  color: #172b4d;\n}\n.modal-header .close {\n  padding: 0px 6px;\n  color: #172b4d;\n  font-size: 24px;\n  line-height: 24px;\n  text-shadow: none;\n}\n.modal-message .message-icon {\n  color: #9575cd;\n}\n.modal-body > .form-group {\n  margin: 20px 0px;\n}\n.modal-body > .form-group:first-child {\n  margin-top: 0px;\n}\n.modal-body > .form-group:last-child {\n  margin-bottom: 0px;\n}\n.modal-sign-in .modal-body {\n  padding-top: 0px;\n  padding-bottom: 0px;\n}\n.modal-sign-in .modal-body > .form-group {\n  margin: 20px 0px;\n}\n.legal-footnote label {\n  font-weight: bold;\n}\n.legal-footnote .help-block {\n  margin-left: 20px;\n  color: #ff5630;\n}\n.modal-avatar-index .avatar-preview {\n  background: #fff;\n  border-radius: 6px;\n}\n.modal-avatar-crop .cropit-preview {\n  background: #fff;\n  margin: 20px 0px;\n}\n.modal-avatar-crop .cropit-image-zoom-input {\n  margin-top: 40px;\n  margin-bottom: 20px;\n}\n.modal-post-likers .media {\n  border-bottom: 1px solid #ebecf0;\n  padding-bottom: 15px;\n}\n.modal-post-likers .media img {\n  border-radius: 4px;\n  width: 40px;\n  height: 40px;\n}\n.modal-post-likers .media:last-child {\n  border: none;\n  padding-bottom: 0px;\n}\n.well {\n  border: 1px solid #ddd;\n}\n.active-posters .rank-user-avatar img {\n  border-radius: 4px;\n}\n.active-posters .user-details {\n  color: #7a869a;\n}\n.active-posters .user-details a.rank-name,\n.active-posters .user-details a.rank-name:link,\n.active-posters .user-details a.rank-name:visited {\n  color: #5e6c84;\n  font-weight: normal;\n}\n.active-posters .user-details a.rank-name:focus,\n.active-posters .user-details a.rank-name:hover,\n.active-posters .user-details a.rank-name:active {\n  color: #172b4d;\n}\n.active-posters .user-details span.rank-name {\n  color: #5e6c84;\n  font-weight: normal;\n}\n.active-posters small {\n  color: #7a869a;\n}\n.page-error .message-icon {\n  color: #ef5350;\n}\n.page-message .message-icon {\n  color: #9575cd;\n}\n.page-message-info .message-icon {\n  color: #9575cd;\n}\n.page-message-success .message-icon {\n  color: #81c784;\n}\n.page-options .message-line {\n  color: #7a869a;\n}\n.page-options .message-line a,\n.page-options .message-line a:link,\n.page-options .message-line a:visited {\n  color: #7a869a;\n}\n.page-options .message-line a:hover,\n.page-options .message-line a:focus,\n.page-options .message-line a:focus:active,\n.page-options .message-line a:active {\n  color: #172b4d;\n}\n.panel-profile-details-group.panel {\n  border: 1px solid #ebecf0;\n}\n.panel-profile-details-group.panel .form-group {\n  margin: 0px;\n}\n.panel-profile-details-group .form-control-static p:last-child {\n  margin-bottom: 0px;\n}\n.post-primary .panel-post {\n  border-color: #b388ff;\n}\n.post-primary .user-title {\n  color: #6200ea;\n}\n.post-primary .user-title a,\n.post-primary .user-title a:link,\n.post-primary .user-title a:visited,\n.post-primary .user-title a:focus,\n.post-primary .user-title a:hover,\n.post-primary .user-title a:active {\n  color: #6200ea;\n}\n.post-success .panel-post {\n  border-color: #00c853;\n}\n.post-success .user-title {\n  color: #388e3c;\n}\n.post-success .user-title a,\n.post-success .user-title a:link,\n.post-success .user-title a:visited,\n.post-success .user-title a:focus,\n.post-success .user-title a:hover,\n.post-success .user-title a:active {\n  color: #388e3c;\n}\n.post-warning .panel-post {\n  border-color: #ffab40;\n}\n.post-warning .user-title {\n  color: #ff6d00;\n}\n.post-warning .user-title a,\n.post-warning .user-title a:link,\n.post-warning .user-title a:visited,\n.post-warning .user-title a:focus,\n.post-warning .user-title a:hover,\n.post-warning .user-title a:active {\n  color: #ff6d00;\n}\n.post-danger .panel-post {\n  border-color: #ff8a80;\n}\n.post-danger .user-title {\n  color: #d50000;\n}\n.post-danger .user-title a,\n.post-danger .user-title a:link,\n.post-danger .user-title a:visited,\n.post-danger .user-title a:focus,\n.post-danger .user-title a:hover,\n.post-danger .user-title a:active {\n  color: #d50000;\n}\n.user-card-primary .panel-body {\n  background: #fff;\n  border: 2px solid #b388ff;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-primary .user-card-title {\n  color: #6200ea;\n}\n.user-card-primary .user-card-title a.user-title,\n.user-card-primary .user-card-title a.user-title:link,\n.user-card-primary .user-card-title a.user-title:visited,\n.user-card-primary .user-card-title a.user-title:focus,\n.user-card-primary .user-card-title a.user-title:hover,\n.user-card-primary .user-card-title a.user-title:active {\n  color: #6200ea;\n}\n.user-card-primary .user-card-stats li {\n  color: #9575cd;\n}\n.user-card-success .panel-body {\n  background: #fff;\n  border: 2px solid #00c853;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-success .user-card-title {\n  color: #388e3c;\n}\n.user-card-success .user-card-title a.user-title,\n.user-card-success .user-card-title a.user-title:link,\n.user-card-success .user-card-title a.user-title:visited,\n.user-card-success .user-card-title a.user-title:focus,\n.user-card-success .user-card-title a.user-title:hover,\n.user-card-success .user-card-title a.user-title:active {\n  color: #388e3c;\n}\n.user-card-success .user-card-stats li {\n  color: #66bb6a;\n}\n.user-card-warning .panel-body {\n  background: #fff;\n  border: 2px solid #ffab40;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-warning .user-card-title {\n  color: #ff6d00;\n}\n.user-card-warning .user-card-title a.user-title,\n.user-card-warning .user-card-title a.user-title:link,\n.user-card-warning .user-card-title a.user-title:visited,\n.user-card-warning .user-card-title a.user-title:focus,\n.user-card-warning .user-card-title a.user-title:hover,\n.user-card-warning .user-card-title a.user-title:active {\n  color: #ff6d00;\n}\n.user-card-warning .user-card-stats li {\n  color: #ff6e40;\n}\n.user-card-danger .panel-body {\n  background: #fff;\n  border: 2px solid #ff8a80;\n  border-radius: 4px;\n  padding: 13px;\n}\n.user-card-danger .user-card-title {\n  color: #d50000;\n}\n.user-card-danger .user-card-title a.user-title,\n.user-card-danger .user-card-title a.user-title:link,\n.user-card-danger .user-card-title a.user-title:visited,\n.user-card-danger .user-card-title a.user-title:focus,\n.user-card-danger .user-card-title a.user-title:hover,\n.user-card-danger .user-card-title a.user-title:active {\n  color: #d50000;\n}\n.user-card-danger .user-card-stats li {\n  color: #e57373;\n}\n.list-group .list-group-rank-primary {\n  border-left: 4px solid #7e57c2;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-primary span.rank-name {\n  color: #6200ea;\n}\n.list-group .list-group-rank-primary a.rank-name,\n.list-group .list-group-rank-primary a.rank-name:link,\n.list-group .list-group-rank-primary a.rank-name:visited,\n.list-group .list-group-rank-primary a.rank-name:focus,\n.list-group .list-group-rank-primary a.rank-name:hover,\n.list-group .list-group-rank-primary a.rank-name:active {\n  color: #6200ea;\n}\n.list-group .list-group-rank-success {\n  border-left: 4px solid #9ccc65;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-success span.rank-name {\n  color: #388e3c;\n}\n.list-group .list-group-rank-success a.rank-name,\n.list-group .list-group-rank-success a.rank-name:link,\n.list-group .list-group-rank-success a.rank-name:visited,\n.list-group .list-group-rank-success a.rank-name:focus,\n.list-group .list-group-rank-success a.rank-name:hover,\n.list-group .list-group-rank-success a.rank-name:active {\n  color: #388e3c;\n}\n.list-group .list-group-rank-warning {\n  border-left: 4px solid #ff7043;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-warning span.rank-name {\n  color: #ff6d00;\n}\n.list-group .list-group-rank-warning a.rank-name,\n.list-group .list-group-rank-warning a.rank-name:link,\n.list-group .list-group-rank-warning a.rank-name:visited,\n.list-group .list-group-rank-warning a.rank-name:focus,\n.list-group .list-group-rank-warning a.rank-name:hover,\n.list-group .list-group-rank-warning a.rank-name:active {\n  color: #ff6d00;\n}\n.list-group .list-group-rank-danger {\n  border-left: 4px solid #f44336;\n  padding-left: 11px;\n}\n.list-group .list-group-rank-danger span.rank-name {\n  color: #d50000;\n}\n.list-group .list-group-rank-danger a.rank-name,\n.list-group .list-group-rank-danger a.rank-name:link,\n.list-group .list-group-rank-danger a.rank-name:visited,\n.list-group .list-group-rank-danger a.rank-name:focus,\n.list-group .list-group-rank-danger a.rank-name:hover,\n.list-group .list-group-rank-danger a.rank-name:active {\n  color: #d50000;\n}\n.page-header-rank-primary .user-rank {\n  color: #6200ea;\n}\n.page-header-rank-primary .user-rank a,\n.page-header-rank-primary .user-rank a:link,\n.page-header-rank-primary .user-rank a:visited,\n.page-header-rank-primary .user-rank a:focus,\n.page-header-rank-primary .user-rank a:hover,\n.page-header-rank-primary .user-rank a:active {\n  color: #6200ea;\n}\n.page-header-rank-success .user-rank {\n  color: #388e3c;\n}\n.page-header-rank-success .user-rank a,\n.page-header-rank-success .user-rank a:link,\n.page-header-rank-success .user-rank a:visited,\n.page-header-rank-success .user-rank a:focus,\n.page-header-rank-success .user-rank a:hover,\n.page-header-rank-success .user-rank a:active {\n  color: #388e3c;\n}\n.page-header-rank-warning .user-rank {\n  color: #ff6d00;\n}\n.page-header-rank-warning .user-rank a,\n.page-header-rank-warning .user-rank a:link,\n.page-header-rank-warning .user-rank a:visited,\n.page-header-rank-warning .user-rank a:focus,\n.page-header-rank-warning .user-rank a:hover,\n.page-header-rank-warning .user-rank a:active {\n  color: #ff6d00;\n}\n.page-header-rank-danger .user-rank {\n  color: #d50000;\n}\n.page-header-rank-danger .user-rank a,\n.page-header-rank-danger .user-rank a:link,\n.page-header-rank-danger .user-rank a:visited,\n.page-header-rank-danger .user-rank a:focus,\n.page-header-rank-danger .user-rank a:hover,\n.page-header-rank-danger .user-rank a:active {\n  color: #d50000;\n}\n","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n//    without disabling user zoom.\n//\n\nhtml {\n  font-family: sans-serif; // 1\n  -ms-text-size-adjust: 100%; // 2\n  -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n  margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; // 1\n  vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n  background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n  outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n  border-bottom: none; // 1\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n  font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n  font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n  border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n  margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n  overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n//    Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; // 1\n  font: inherit; // 2\n  margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n  overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n//    and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n//    `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n  cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n  line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; // 1\n  padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n  border: 0; // 1\n  padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n  overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n  font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important; // Black prints faster: h5bp.com/s\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n\n  // Don't show links that are fragment identifiers,\n  // or use the `javascript:` pseudo protocol\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n\n  thead {\n    display: table-header-group; // h5bp.com/t\n  }\n\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n\n  img {\n    max-width: 100% !important;\n  }\n\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n\n  // Bootstrap specific changes start\n\n  // Bootstrap components\n  .navbar {\n    display: none;\n  }\n  .btn,\n  .dropup > .btn {\n    > .caret {\n      border-top-color: #000 !important;\n    }\n  }\n  .label {\n    border: 1px solid #000;\n  }\n\n  .table {\n    border-collapse: collapse !important;\n\n    td,\n    th {\n      background-color: #fff !important;\n    }\n  }\n  .table-bordered {\n    th,\n    td {\n      border: 1px solid #ddd !important;\n    }\n  }\n}\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n  cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n  word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // WebKit-specific. Other browsers will keep their default outline style.\n  // (Initially tried to also force default via `outline: initial`,\n  // but that seems to erroneously remove the outline in Firefox altogether.)\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and ( min--moz-device-pixel-ratio: 2),\n  only screen and ( -o-min-device-pixel-ratio: 2/1),\n  only screen and ( min-device-pixel-ratio: 2),\n  only screen and ( min-resolution: 192dpi),\n  only screen and ( min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: 400;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  padding: .2em;\n  background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-right: 5px;\n    padding-left: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: 700;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @dl-horizontal-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n}\n\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: \"\\2014 \\00A0\"; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: \"\"; }\n    &:after {\n      content: \"\\00A0 \\2014\"; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover,\n  a&:focus {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: 700;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  color: @pre-color;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n.row-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n\n  [class*=\"col-\"] {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  padding-right: ceil((@gutter / 2));\n  padding-left: floor((@gutter / 2));\n  margin-right: auto;\n  margin-left: auto;\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-right: floor((@gutter / -2));\n  margin-left: ceil((@gutter / -2));\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-right: (@gutter / 2);\n  padding-left: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-right: floor((@grid-gutter-width / 2));\n      padding-left: ceil((@grid-gutter-width / 2));\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n\n  // Table cell sizing\n  //\n  // Reset default table behavior\n\n  col[class*=\"col-\"] {\n    position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n    display: table-column;\n    float: none;\n  }\n\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      display: table-cell;\n      float: none;\n    }\n  }\n}\n\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\n\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n  overflow-x: auto;\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * .75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n  // Override content-box in Normalize (* isn't specific enough)\n  .box-sizing(border-box);\n\n  // Search inputs in iOS\n  //\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  -webkit-appearance: none;\n  appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n\n  // Apply same disabled cursor tweak as for inputs\n  // Some special care is needed because <label>s don't inherit their parent's `cursor`.\n  //\n  // Note: Neither radios nor checkboxes can be readonly.\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    background-color: transparent;\n    border: 0;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    &.form-control {\n      line-height: @input-height-base;\n    }\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  // These are used on elements with <label> descendants\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: 400;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  vertical-align: middle;\n  cursor: pointer;\n\n  // These are used directly on <label>s\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  min-height: (@line-height-computed + @font-size-base);\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n\n  &.input-lg,\n  &.input-sm {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    border-radius: @input-border-radius-small;\n  }\n  select.form-control {\n    height: @input-height-small;\n    line-height: @input-height-small;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n    padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    border-radius: @input-border-radius-large;\n  }\n  select.form-control {\n    height: @input-height-large;\n    line-height: @input-height-large;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n    padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n    top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n    top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n      margin-bottom: 0;\n      text-align: right;\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: floor((@grid-gutter-width / 2));\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-large-vertical + 1);\n        font-size: @font-size-large;\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n        font-size: @font-size-small;\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    background-color: @background-color;\n    border-color: @border-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    background-image: none;\n    outline: 0;\n    .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    .opacity(.65);\n    .box-shadow(none);\n  }\n\n  a& {\n    &.disabled,\n    fieldset[disabled] & {\n      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n    }\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  font-weight: 400;\n  color: @link-color;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:focus,\n  &.focus {\n    color: @color;\n    background-color: darken(@background, 10%);\n    border-color: darken(@border, 25%);\n  }\n  &:hover {\n    color: @color;\n    background-color: darken(@background, 10%);\n    border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n    background-image: none;\n    border-color: darken(@border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: @color;\n      background-color: darken(@background, 17%);\n      border-color: darken(@border, 25%);\n    }\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus,\n    &.focus {\n      background-color: @background;\n      border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  @opacity-ie: (@opacity * 100);  // IE8 filter\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n  opacity: @opacity;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: @caret-width-base dashed;\n  border-top: @caret-width-base solid ~\"\\9\"; // IE8\n  border-right: @caret-width-base solid transparent;\n  border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  list-style: none;\n  background-color: @dropdown-bg;\n  background-clip: padding-box;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0, 0, 0, .175));\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: 400;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n\n    &:hover,\n    &:focus {\n      color: @dropdown-link-hover-color;\n      text-decoration: none;\n      background-color: @dropdown-link-hover-bg;\n    }\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    background-color: @dropdown-link-active-bg;\n    outline: 0;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    cursor: @cursor-disabled;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  right: 0;\n  left: auto; // Reset the default from `.dropdown-menu`\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    content: \"\";\n    border-top: 0;\n    border-bottom: @caret-width-base dashed;\n    border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","// stylelint-disable selector-no-qualifying-type, selector-max-type\n\n//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  padding-left: 0; // Override default ul/ol\n  margin-bottom: 0;\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        cursor: @cursor-disabled;\n        background-color: transparent;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        cursor: default;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      margin-bottom: 5px;\n      text-align: center;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-left-radius: @radius;\n  border-top-right-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-top-right-radius: @radius;\n  border-bottom-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n  border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-top-left-radius: @radius;\n  border-bottom-left-radius: @radius;\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, selector-max-class, declaration-no-important, selector-no-qualifying-type\n\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  padding-right: @navbar-padding-horizontal;\n  padding-left: @navbar-padding-horizontal;\n  overflow-x: visible;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n\n  // Fix the top/bottom navbars when screen real estate supports it\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left: -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left: 0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  height: @navbar-height;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-right: @navbar-padding-horizontal;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top: 10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top: @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  padding: 10px @navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  margin-left: -@navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-right: @navbar-padding-horizontal;\n    margin-left: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n\n    // Dropdown menu items\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n\n    // Dropdowns\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      padding: 0 5px;\n      color: @breadcrumb-color;\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    color: inherit; // Specified for the h4 to prevent conflicts of changing @headings-color\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n// The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  color: @text-color;\n  background-color: @background;\n  border-color: @border;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","// stylelint-disable at-rule-no-vendor-prefix\n\n//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  overflow: hidden;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n    background-repeat: repeat-x;\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n    background-repeat: repeat-x;\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n    background-repeat: no-repeat;\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n    background-repeat: no-repeat;\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n","// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    .border-top-radius(@btn-border-radius-base);\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    .border-top-radius(0);\n    .border-bottom-radius(@btn-border-radius-base);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    display: table-cell;\n    float: none;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n\n    &:focus {\n      z-index: 3;\n    }\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: 400;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @input-border-radius;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @input-border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @input-border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n\n  // Fix collapse in webkit from max-width: 100% and display: table-cell.\n  &.img-thumbnail {\n    max-width: none;\n  }\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  padding-left: 0; // reset padding because ul and ol\n  margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n    background-color: @list-group-disabled-bg;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    color: @list-group-link-hover-color;\n    text-decoration: none;\n    background-color: @list-group-hover-bg;\n  }\n}\n\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a&,\n    button& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n  > .panel-heading + .panel-collapse > .list-group {\n    .list-group-item:first-child {\n      .border-top-radius(0);\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-right: @panel-body-padding;\n      padding-left: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-right-radius: (@panel-border-radius - 1);\n        border-bottom-left-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    margin-bottom: 0;\n    border: 0;\n  }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  text-align: center;\n  list-style: none;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      cursor: @cursor-disabled;\n      background-color: @pager-bg;\n    }\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      margin-left: -1px;\n      line-height: @line-height-base;\n      color: @pagination-color;\n      text-decoration: none;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n\n      &:hover,\n      &:focus {\n        z-index: 2;\n        color: @pagination-hover-color;\n        background-color: @pagination-hover-bg;\n        border-color: @pagination-hover-border;\n      }\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: @pagination-active-color;\n      cursor: default;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      cursor: @cursor-disabled;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n      line-height: @line-height;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0, 0, 0, .15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n    appearance: none;\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  line-height: @badge-line-height;\n  color: @badge-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  background-clip: padding-box;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n    margin-left: 5px;\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    display: table; // 2\n    content: \" \"; // 1\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table !important; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n","//\n// Misago Global Scaffolding\n// --------------------------------------------------\n\n// Disable horizontal scroll on mobile displays top-most containers\n@media screen and (max-width: @screen-sm-max) {\n  html,\n  body {\n    overflow-x: hidden;\n  }\n}\n\n// top margin utils\n@media screen and (min-width: @screen-md-min) {\n  .md-margin-top-no {\n    margin-top: 0px !important;\n  }\n}\n\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  .sm-margin-top {\n    margin-top: @line-height-computed !important;\n  }\n\n  .sm-margin-top-no {\n    margin-top: 0px !important;\n  }\n\n  .sm-margin-top-half {\n    margin-top: @line-height-computed * 0.33 !important;\n  }\n\n  .sm-align-row-buttons {\n    margin-top: @line-height-computed * 0.25 !important;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .xs-margin-top {\n    margin-top: @line-height-computed !important;\n  }\n\n  .xs-margin-top-half {\n    margin-top: @line-height-computed * 0.33 !important;\n  }\n}\n","//\n// Simple flex row util, inspired by toolbar\n// --------------------------------------------------\n\n.flex-row {\n  display: block;\n  margin: 0 floor(@grid-gutter-width * -0.5);\n}\n\n.flex-row-section {\n  align-items: center;\n  display: flex;\n  flex: 1;\n}\n\n.flex-row-section + .flex-row-section {\n  margin-top: @line-height-computed;\n}\n\n.flex-row-col {\n  flex: 1;\n  padding: 0 floor(@grid-gutter-width * 0.5);\n}\n\n@media screen and (min-width: @screen-sm-min) {\n  .flex-row {\n    display: flex;\n    align-items: center;\n  }\n\n  .flex-row-section + .flex-row-section {\n    margin: 0;\n  }\n\n  .flex-row-section,\n  .flex-row-col {\n    flex: 0;\n\n    align-items: center;\n  }\n\n  .flex-row-section.flex-row-section-auto,\n  .flex-row-section.flex-row-section-auto > .flex-row-col {\n    flex: 1;\n  }\n}\n\n.flex-row-col-shrink {\n  flex: 0 !important;\n}\n","//\n// Auth changed message\n// --------------------------------------------------\n\n.auth-message {\n  background-color: @auth-changed-bg;\n  padding: @line-height-computed 0px;\n  width: 100%;\n\n  position: fixed;\n  top: -100%;\n  left: 0px;\n\n  z-index: @zindex-auth-message;\n\n  transition: top 300ms ease;\n\n  &.show {\n    top: 0px;\n    bottom: auto;\n  }\n\n  p {\n    padding: @line-height-computed / 4 0px;\n\n    color: @auth-changed-color;\n  }\n\n  // Small displays\n  @media screen and (max-width: @screen-sm-max) {\n    text-align: center;\n\n    .btn {\n      padding: @padding-large-vertical @padding-large-horizontal;\n\n      font-size: @font-size-large;\n    }\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n.alerts-snackbar {\n  position: fixed;\n  top: -100%;\n  width: 100%;\n  z-index: @zindex-modal + 10;\n\n  text-align: center;\n  font-size: @font-size-large;\n\n  transition: top 300ms ease;\n\n  pointer-events: none;\n\n  &.in {\n    top: 0px;\n    transition: top 200ms ease;\n  }\n\n  p {\n    display: inline-block;\n    border-radius: 0px 0px @border-radius-base @border-radius-base;\n    margin: 0px;\n\n    pointer-events: all;\n  }\n}\n","//\n// Agreement overlay\n// --------------------------------------------------\n\n.agreement-overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  z-index: @zindex-modal + 10;\n\n  background-color: fadeOut(@modal-backdrop-bg, @modal-backdrop-opacity * 100);\n  overflow-x: scroll;\n\n  .container {\n    max-width: @modal-lg;\n    padding: @line-height-computed @grid-gutter-width;\n  }\n}\n\n.agreement-content {\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,0.5));\n  background-clip: padding-box;\n  outline: 0;\n\n  padding: @padding-large-vertical @padding-large-horizontal;\n}\n\n.agreement-header {\n  padding: @padding-large-vertical 0;\n\n  border-bottom: 1px solid @gray-lighter;\n\n  h2 {\n    margin-top: 0;\n  }\n\n  p {\n    margin: 0;\n    padding: 0;\n  }\n}\n\n.agreement-body {\n  padding: @line-height-computed 0;\n\n  p.lead {\n    margin: 0;\n    padding: 0;\n  }\n}\n\n.agreement-footer {\n  .modal-footer();\n\n  padding: @padding-large-vertical 0;\n}\n\n// utility class disabling scroll on body\nbody.agreement-overlay-visible {\n  overflow: hidden;\n}\n","//\n// Misago Loaders\n// --------------------------------------------------\n\n.loader {\n  width: 100%;\n  height: 49px;\n  text-align: center;\n\n  &.loader-spaced {\n    margin: @line-height-computed * 2 0px;\n  }\n}\n\n.loader-spinning-wheel {\n  width: 49px;\n  height: 49px;\n  margin: 0 auto;\n  border: 3px solid @loader-color;\n  border-radius: 50%;\n  border-left-color: transparent;\n  border-right-color: transparent;\n  animation: cssload-spin 575ms infinite linear;\n  -o-animation: cssload-spin 575ms infinite linear;\n  -ms-animation: cssload-spin 575ms infinite linear;\n  -webkit-animation: cssload-spin 575ms infinite linear;\n  -moz-animation: cssload-spin 575ms infinite linear;\n}\n\n@keyframes cssload-spin {\n  100% {\n    transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-o-keyframes cssload-spin {\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-ms-keyframes cssload-spin {\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-webkit-keyframes cssload-spin {\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-moz-keyframes cssload-spin {\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n","//\n// Misago Navbar\n// --------------------------------------------------\n\n// Remove bottom margin from navbar\n.navbar {\n  margin-bottom: 0px;\n}\n\n// Desktop navbar\n.navbar .navbar-full {\n  // Brand\n  .navbar-brand {\n    padding-top: (@navbar-height - @navbar-icon-height) / 2;\n    padding-bottom: (@navbar-height - @navbar-icon-height) / 2;\n\n    font-size: @font-size-base * 1.5;\n\n    & > * {\n      display: inline-block;\n      vertical-align: middle;\n    }\n\n    img {\n      height: @navbar-icon-height;\n      margin-right: @padding-base-horizontal / 2;\n    }\n  }\n\n  .navbar-nav > li > a {\n    font-size: @font-size-base * 1.2;\n  }\n\n  .navbar-icon {\n    display: block;\n    height: @navbar-height;\n    padding: @nav-link-padding;\n    padding-top: (@navbar-height - 28px) / 2;\n    padding-bottom: (@navbar-height - 28px) / 2;\n    position: relative;\n\n    color: @navbar-default-link-color;\n\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n      background-color: @navbar-default-link-hover-bg;\n    }\n\n    .material-icon {\n      width: 28px;\n      height: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n\n    .badge {\n      background-color: @brand-danger;\n      position: absolute;\n\n      top: 6px;\n      right: 6px;\n\n      font-size: 9px;\n    }\n  }\n\n  .open .navbar-icon {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-link-active-bg;\n\n      color: @navbar-default-link-active-color;\n    }\n  }\n\n  // Pull Guest and User menus to right\n  .nav-guest,\n  .nav-user {\n    float: right;\n\n    .navbar-btn {\n      margin-left: @navbar-padding-horizontal;\n    }\n  }\n\n  // User avatar size\n  .nav-user .dropdown-toggle {\n    padding: (@navbar-height - @navbar-avatar-size) / 2;\n\n    img {\n      width: @navbar-avatar-size;\n      height: @navbar-avatar-size;\n    }\n  }\n}\n\n// Compact (mobile) navbar\n.navbar ul.navbar-compact-nav {\n  border-collapse: collapse;\n  display: table;\n  margin: 0px;\n  table-layout: fixed;\n  width: 100%;\n\n  & > li {\n    display: table-cell;\n    width: 100%;\n  }\n\n  & > li > a,\n  & > li > button {\n    background: none;\n    border: none;\n    display: block;\n    padding-top: 13px;\n    padding-bottom: 13px;\n\n    width: 100%;\n\n    color: @navbar-compact-link-color;\n    text-align: center;\n\n    &.active,\n    &:hover,\n    &:focus {\n      color: @navbar-compact-link-hover-color;\n      background-color: @navbar-compact-link-hover-bg;\n    }\n\n    & > img {\n      width: @navbar-compact-item-size;\n      height: @navbar-compact-item-size;\n    }\n  }\n\n  & > li > button {\n    display: inline-block;\n  }\n\n  & > li > a > .material-icon {\n    font-size: @navbar-compact-item-size;\n    line-height: @navbar-compact-item-size;\n  }\n}\n\n// Make navbar's height match compact nav\n@media (max-width: @grid-float-breakpoint) {\n  .navbar.navbar-misago {\n    min-height: auto;\n  }\n}\n\n// Hide compact navbar above breakpoint\n.navbar-misago .navbar-desktop-nav {\n  display: none;\n}\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-misago ul.navbar-compact-nav {\n    display: none;\n  }\n\n  .navbar-misago .navbar-desktop-nav {\n    display: block;\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n.nav-side > a {\n  & > .material-icon {\n    margin: -5px;\n    margin-right: @line-height-computed / 2;\n\n    position: relative;\n    bottom: 1px;\n\n    width: 24px;\n    height: 24px;\n\n    font-size: 24px;\n    line-height: 24px;\n  }\n\n  .badge {\n    position: relative;\n    top: 1px;\n  }\n}\n\n.nav-pills > li > a {\n  padding: @nav-pills-padding-vertical @nav-pills-padding-horizontal;\n\n  &,\n  &:link,\n  &:visited {\n    background-color: @nav-pills-bg;\n    color: @nav-pills-color;\n  }\n\n  &:focus,\n  &:hover,\n  &:active {\n    background-color: @nav-pills-hover-bg;\n    color: @nav-pills-hover-color;\n  }\n}\n\n.nav-pills > li.active > a {\n  &,\n  &:link,\n  &:visited,\n  &:focus,\n  &:hover,\n  &:active {\n    background-color: @nav-pills-active-bg;\n    color: @nav-pills-active-color;\n  }\n}\n","// Breadcrumbs component\n\n.breadcrumbs {\n  display: block;\n\n  padding: 0;\n  margin-bottom: @line-height-computed / 2;\n}\n\n.breadcrumbs-item {\n  display: inline-block;\n  margin-right: @breadcrumbs-gutter;\n  margin-bottom: @line-height-computed / 2;\n  padding: 0;\n  list-style: none;\n}\n\n.breadcrumbs-item a {\n  display: flex;\n  align-items: center;\n  text-decoration: none;\n\n  &,\n  &:visited {\n    color: @breadcrumbs-color;\n  }\n\n  &:hover,\n  &:focus {\n    color: @breadcrumbs-color-hover;\n\n    .breadcrumbs-item-name {\n      text-decoration: underline;\n    }\n  }\n\n  &:active {\n    color: @breadcrumbs-color-active;\n  }\n}\n\n.breadcrumbs-item .material-icon {\n  margin-right: 4px;\n}\n","//\n// Material Icons\n// --------------------------------------------------\n\n@font-face {\n  font-family: \"Material Icons\";\n  font-style: normal;\n  font-weight: 400;\n  src: url(../fonts/MaterialIcons-Regular.eot); /* For IE6-8 */\n  src: local(\"Material Icons\"), local(\"MaterialIcons-Regular\"),\n    url(../fonts/MaterialIcons-Regular.woff2) format(\"woff2\"),\n    url(../fonts/MaterialIcons-Regular.woff) format(\"woff\"),\n    url(../fonts/MaterialIcons-Regular.ttf) format(\"truetype\");\n}\n\n.material-icon {\n  font-family: \"Material Icons\";\n  font-weight: normal;\n  font-style: normal;\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  line-height: 1;\n  text-align: center;\n  text-transform: none;\n  letter-spacing: normal;\n  vertical-align: middle;\n  word-wrap: normal;\n  white-space: nowrap;\n  direction: ltr;\n\n  /* Support for all WebKit browsers. */\n  -webkit-font-smoothing: antialiased;\n  /* Support for Safari and Chrome. */\n  text-rendering: optimizeLegibility;\n\n  /* Support for Firefox. */\n  -moz-osx-font-smoothing: grayscale;\n\n  /* Support for IE. */\n  font-feature-settings: \"liga\";\n}\n","//\n// Misago Modals\n// --------------------------------------------------\n\n// Modal toolbar\n.modal-toolbar {\n  background: @gray-lighter;\n  border-bottom: 1px solid @modal-header-border-color;\n  overflow: auto;\n  padding: @padding-base-vertical @padding-base-horizontal;\n\n  .pull-left {\n    margin-right: 8px;\n  }\n\n  p {\n    padding: @padding-small-vertical 0px;\n    margin-bottom: 0px;\n  }\n}\n\n// Modals displaying messages\n\n// Small displays\n@media screen and (max-width: @screen-sm-max) {\n  .modal-message {\n    text-align: center;\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n\n      .material-icon {\n        font-size: @message-page-icon-size * 2;\n      }\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-md-min) {\n  .modal-message {\n    .modal-body {\n      padding-top: @line-height-computed;\n      padding-bottom: @line-height-computed * 1.5;\n    }\n\n    .message-icon {\n      float: left;\n      position: relative;\n      left: 7px;\n\n      .material-icon {\n        font-size: @line-height-computed * 2.5;\n      }\n    }\n\n    .message-body {\n      margin-left: @line-height-computed * 3.75;\n      margin-top: @line-height-computed * 0.6 - 2px;\n\n      p {\n        margin-top: @line-height-computed;\n      }\n\n      .lead {\n        margin-top: 0px;\n        margin-bottom: 0px;\n      }\n    }\n  }\n}\n\n// Modal loader\n.modal-loader {\n  padding: @line-height-computed * 2.5 0px;\n\n  .loader {\n    width: 100%;\n    height: @loader-size;\n    text-align: center;\n  }\n\n  .loader-spinning-wheel {\n    width: @loader-size;\n    height: @loader-size;\n  }\n}\n\n// Modal form\n.modal-body .form-group {\n  min-height: 34px;\n}\n\n// Errors modal\n.list-item-errors {\n  margin-bottom: @line-height-computed;\n}\n\n.list-errored-items li:last-child .list-item-errors {\n  margin-bottom: 0px;\n}\n\n// Post likes modal\n.modal-post-likers {\n  .media-list {\n    margin: 0px;\n  }\n\n  .item-title {\n    display: block;\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n// Material feedback icon\n.has-feedback .material-icon.form-control-feedback {\n  top: @padding-base-vertical;\n  right: @padding-base-horizontal * 2;\n\n  font-size: @line-height-base;\n  line-height: @line-height-base;\n}\n\n// Well done\n.well.well-form.well-done {\n  font-size: @font-size-large;\n  text-align: center;\n\n  .message-icon {\n    margin-bottom: @line-height-computed / 2;\n\n    font-size: @font-size-large * 5;\n    line-height: @font-size-large * 5;\n  }\n\n  .message-body {\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Noscript well\n.well.well-form.well-noscript {\n  font-size: @font-size-large;\n  text-align: center;\n\n  .message-icon {\n    margin-bottom: @line-height-computed / 2;\n\n    font-size: @font-size-large * 5;\n    line-height: @font-size-large * 5;\n  }\n}\n","//\n// Inputs\n// --------------------------------------------------\n\n// Button-based inputs\n.btn.btn-yes-no,\n.btn.btn-select {\n  background: transparent;\n  border: 1px solid darken(@gray-lighter, 10%);\n\n  .material-icon {\n    margin: -4px 0px;\n    margin-right: 8px;\n\n    position: relative;\n    bottom: 1px;\n\n    width: 20px;\n    height: 20px;\n\n    font-size: 20px;\n    line-height: 20px;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .btn.btn-yes-no {\n    width: 100%;\n    overflow: auto;\n\n    .material-icon {\n      float: left;\n      margin-top: 1px;\n    }\n\n    .btn-text {\n      display: block;\n\n      margin-left: 30px;\n\n      text-align: left;\n      white-space: normal;\n    }\n  }\n}\n\n// Hidden file input\ninput.hidden-file-upload {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n// Search field\n.form-search {\n  position: relative;\n\n  .form-control {\n    padding-right: 30px;\n  }\n\n  .material-icon {\n    position: absolute;\n    top: 5px;\n    right: 5px;\n\n    color: @gray-light;\n    font-size: 24px;\n    line-height: 24px;\n\n    pointer-events: none;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n// Button loading style\n.btn.btn-loading {\n  &,\n  &:link,\n  &:active,\n  &:visited,\n  &:hover,\n  &:focus {\n    // make text transparent, but still take place in button\n    color: transparent;\n\n    // position loader over the text\n    .loader {\n      height: 20px;\n      margin-top: -20px;\n\n      & > div {\n        width: 20px;\n        height: 20px;\n      }\n    }\n  }\n\n  &.btn-default .loader > div {\n    border-top-color: @btn-default-color;\n    border-bottom-color: @btn-default-color;\n  }\n\n  &.btn-primary .loader > div {\n    border-top-color: @btn-primary-color;\n    border-bottom-color: @btn-primary-color;\n  }\n\n  &.btn-success .loader > div {\n    border-top-color: @btn-success-color;\n    border-bottom-color: @btn-success-color;\n  }\n\n  &.btn-info .loader > div {\n    border-top-color: @btn-info-color;\n    border-bottom-color: @btn-info-color;\n  }\n\n  &.btn-warning .loader > div {\n    border-top-color: @btn-warning-color;\n    border-bottom-color: @btn-warning-color;\n  }\n\n  &.btn-danger .loader > div {\n    border-top-color: @btn-danger-color;\n    border-bottom-color: @btn-danger-color;\n  }\n}\n\n// Icons in buttons\n.btn .material-icon {\n  margin-right: 3px;\n  position: relative;\n  bottom: 1px;\n}\n\n// Btn with larger icon\n.btn-icon .material-icon {\n  margin: -1px -4px;\n\n  width: 20px;\n  height: 20px;\n\n  font-size: 20px;\n  line-height: 20px;\n}\n\n.btn-icon .btn-text {\n  margin-left: @padding-small-horizontal;\n}\n\n.btn-icon .btn-text-left {\n  margin-right: @padding-small-horizontal;\n}\n\n// Block btn icon\n.btn-block.btn-icon {\n  padding-left: 0px;\n  padding-right: 0px;\n}\n","//\n// Dropdowns\n// --------------------------------------------------\n\n// Unify .btn-link appearance with anchors\n.dropdown-menu > li > a,\n.dropdown-menu > li > .btn-link,\n.modal-menu > li > a,\n.modal-menu > li > .btn-link {\n  display: block;\n  border: none;\n  clear: both;\n  float: none;\n  padding: 6px 20px;\n  width: 100%;\n\n  color: @dropdown-link-color;\n  font-weight: normal;\n  line-height: @line-height-base;\n  text-align: left;\n  white-space: nowrap;\n\n  &:hover,\n  &:focus {\n    background-color: @dropdown-link-hover-bg;\n\n    color: @dropdown-link-hover-color;\n    text-decoration: none;\n  }\n\n  &:active {\n    background-color: @dropdown-link-hover-bg;\n\n    color: @dropdown-link-hover-color;\n    text-decoration: none;\n  }\n\n  &:disabled {\n    color: fadeOut(@dropdown-link-color, 50);\n  }\n\n  // Set material icons in dropdown menus\n  .material-icon {\n    margin: -2px 0px;\n    margin-right: @line-height-computed * 0.35;\n\n    position: relative;\n    bottom: 1px;\n\n    font-size: 18px;\n  }\n\n  .badge {\n    float: right;\n\n    position: relative;\n    top: 1px;\n  }\n}\n\n// Extra overrides for modal nav\n.modal-menu {\n  margin: @line-height-computed 0px;\n  padding: 0px;\n}\n\n.modal-menu > li {\n  margin: @line-height-computed / 3 0px;\n  padding: 0px;\n\n  list-style: none;\n}\n\n// Bump min dropdown width to 210px\n.dropdown-menu {\n  min-width: 210px;\n}\n\n// Dropdown footer\n.dropdown-menu .dropdown-footer {\n  padding: 6px 20px;\n}\n\n// Dropdown buttons container\n.dropdown-menu .dropdown-buttons {\n  padding: 2px 20px;\n  padding-bottom: 7px;\n\n  .btn {\n    margin: 4px 0px;\n  }\n}\n\n// Navbar's dropdown\n.mobile-dropdown {\n  position: relative;\n}\n\n.mobile-dropdown.open > .dropdown-menu,\n.compact-nav.open > .dropdown-menu {\n  border: none;\n  border-radius: 0;\n\n  display: block;\n  margin: 0px;\n  width: 100%;\n}\n\n// Guest menu\n.user-dropdown .guest-preview {\n  text-align: center;\n\n  .row {\n    margin: 0px;\n  }\n}\n\n// User menu\n.navbar .user-dropdown {\n  width: 240px;\n}\n\n.user-dropdown .dropdown-header {\n  padding: 6px 20px;\n\n  font-size: @font-size-large;\n\n  strong {\n    font-weight: normal;\n  }\n}\n\n// Category picker\n.category-picker .dropdown-menu {\n  // Make category picker wider on desktops\n  @media screen and (min-width: @screen-md-min) {\n    width: 300px;\n  }\n}\n\n.category-picker .dropdown-menu > li > .btn-link {\n  white-space: normal;\n  word-wrap: break-word;\n}\n\n// Stick to bottom on mobile\n@media screen and (max-width: @screen-xs-max) {\n  .dropdown-menu.stick-to-bottom {\n    border-radius: 0px;\n    border: none;\n\n    max-height: 300px;\n    overflow-y: auto;\n\n    .box-shadow(0px 0px @line-height-computed * 1.5 @gray-light);\n\n    clear: both;\n    top: auto;\n    width: 100%;\n\n    position: fixed;\n    bottom: 0px;\n\n    margin: 0px;\n    padding: 0px;\n\n    padding-bottom: @line-height-computed;\n\n    li {\n      float: none;\n\n      margin: 0px;\n\n      clear: both;\n\n      & > a,\n      & > .btn {\n        padding-top: @line-height-computed * 0.75;\n        padding-bottom: @line-height-computed * 0.75;\n\n        border-bottom: 1px solid @dropdown-divider-bg;\n      }\n    }\n  }\n}\n","// Category label is category on threads list\n.category-label {\n  border-radius: 0.25em;\n  padding: 0.2em 0.6em 0.3em;\n}\n\n.category-label-color,\n.category-label-color:link,\n.category-label-color:focus,\n.category-label-color:active,\n.category-label-color:visited,\n.category-label-color:hover {\n  color: @category-label-color;\n}\n\n.category-label-no-color,\n.category-label-no-color:link,\n.category-label-no-color:focus,\n.category-label-no-color:active,\n.category-label-no-color:visited,\n.category-label-no-color:hover {\n  background-color: @category-label-default-bg;\n  color: @category-label-default-color;\n}\n",".thread-flags {\n  display: flex;\n  align-items: center;\n\n  opacity: @thread-flag-icon-opacity;\n\n  margin: 0;\n  padding: 0;\n\n  li {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n\n    width: @thread-flag-block-size;\n    height: @thread-flag-block-size;\n\n    border-radius: @border-radius-small;\n    list-style-type: none;\n\n    cursor: default;\n  }\n\n  li + li {\n    margin-left: @grid-gutter-width / 4;\n  }\n\n  .material-icon {\n    font-size: @thread-flag-icon-size;\n    line-height: @thread-flag-icon-size;\n  }\n}\n\n.thread-flag-pinned-globally {\n  color: @thread-flag-pinned-globally-color;\n  background: @thread-flag-pinned-globally-bg;\n}\n\n.thread-flag-pinned-locally {\n  color: @thread-flag-pinned-locally-color;\n  background: @thread-flag-pinned-locally-bg;\n}\n\n.thread-flag-answered {\n  color: @thread-flag-answered-color;\n  background: @thread-flag-answered-bg;\n}\n\n.thread-flag-poll {\n  color: @thread-flag-poll-color;\n  background: @thread-flag-poll-bg;\n}\n\n.thread-flag-unapproved {\n  color: @thread-flag-unapproved-color;\n  background: @thread-flag-unapproved-bg;\n}\n\n.thread-flag-closed {\n  color: @thread-flag-closed-color;\n  background: @thread-flag-closed-bg;\n}\n\n.thread-flag-hidden {\n  color: @thread-flag-hidden-color;\n  background: @thread-flag-hidden-bg;\n}\n",".threads-replies {\n  display: flex;\n  align-items: center;\n\n  color: @thread-replies-color;\n  font-size: @thread-replies-size;\n  font-weight: bold;\n\n  .material-icon {\n    margin-right: @grid-gutter-width / 4;\n    transform: matrix(-1, 0, 0, 1, 0, 0);\n  }\n}\n",".thread-user-card {\n  display: flex;\n  align-items: center;\n}\n\n.thread-user-card-media {\n  flex: 0;\n  margin-right: floor(@grid-gutter-width * .5;);\n\n  img {\n    border-radius: @border-radius-small;\n  }\n}\n\n.thread-user-card-body {\n  flex: 1;\n\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n","//\n// Search Dropdown\n// --------------------------------------------------\n\n// Default size and position for search dropdown\n.navbar-misago .dropdown-menu.dropdown-search-results {\n  margin: 0px;\n  padding-top: 0px;\n  width: 400px;\n  left: auto;\n  right: 0px;\n}\n\n// Search input\n.dropdown-search-results .form-group {\n  margin: 0px;\n  padding: @padding-base-horizontal;\n}\n\n// Message\nli.dropdown-search-message {\n  text-align: center;\n}\n\n// Thread result\n.dropdown-search-thread {\n  width: 100%;\n\n  h5 {\n    margin: 0px;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  small {\n    display: block;\n    margin: 0px;\n    margin-top: 4px;\n  }\n}\n","//\n// Page Header\n// --------------------------------------------------\n\n// Remove margins from header\n.page-header {\n  margin: 0;\n  margin-top: floor(@line-height-computed * 0.5);\n}\n\n// Add padding to header's banner and message\n.page-header-banner-bg-overlay {\n  padding: @line-height-computed 0;\n}\n\n// Don't rely on header's margins for spacing, force word break\n.page-header h1 {\n  margin: 0;\n\n  overflow-wrap: break-word;\n}\n","// Page container is .container element for page content (excluding header)\n\n.page-container {\n  padding-top: @line-height-computed;\n}\n","//\n// Panels\n// --------------------------------------------------\n\n// Messages\n@media screen and (max-width: @screen-sm-max) {\n  .panel-message-body {\n    text-align: center;\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n\n      .material-icon {\n        font-size: @message-page-icon-size * 2;\n      }\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-md-min) {\n  .panel-message-body {\n    padding: @line-height-computed;\n    padding-bottom: @line-height-computed * 1.5;\n\n    .message-icon {\n      float: left;\n\n      .material-icon {\n        font-size: @line-height-computed * 2.5;\n      }\n    }\n\n    .message-body {\n      margin-left: @line-height-computed * 3.25;\n      margin-top: @line-height-computed * 0.6 - 2px;\n\n      .lead {\n        margin-bottom: 0px;\n      }\n\n      .help-block {\n        margin-top: @line-height-computed * 0.66;\n      }\n    }\n  }\n}\n\n// Loading\n.panel-body-loading {\n  padding: 0px;\n\n  text-align: center;\n}\n","//\n// Forum Footer\n// --------------------------------------------------\n\n// Superbasic spacing and layout for easy overriding\n.misago-footer {\n  margin-top: @line-height-computed * 1.5;\n  margin-bottom: @line-height-computed * 2.5;\n\n  .footer-content {\n    border-top: 1px solid @page-header-border-color;\n    padding-top: @line-height-computed * 1.5;\n  }\n}\n\n// Position \"enable JS!\" message's icon\n.misago-footer .noscript-message .material-icon {\n  position: relative;\n  bottom: 1px;\n\n  font-size: @font-size-large;\n}\n","//\n// UI Preview\n// --------------------------------------------------\n\n// Animation\n.ui-preview {\n  color: @ui-preview;\n\n  .animation(ui-preview-animation @ui-preview-frequency linear infinite);\n}\n\n@keyframes ui-preview-animation {\n  0% {\n    .opacity(@ui-preview-in);\n  }\n  50% {\n    .opacity(@ui-preview-out);\n  }\n  100% {\n    .opacity(@ui-preview-in);\n  }\n}\n\n// Text\n.ui-preview-text {\n  background: @ui-preview;\n  border-radius: 100px;\n  display: inline-block;\n  height: @font-size-base;\n\n  position: relative;\n  top: (@line-height-computed - @font-size-base) / 2;\n}\n\n.ui-preview-paragraph {\n  .ui-preview-text {\n    margin-right: 6px;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Image\n.ui-preview-img {\n  background: @ui-preview;\n  border-radius: @border-radius-base + 1px;\n}\n","//\n// Misago pager\n// --------------------------------------------------\n\n.pager-undercontent {\n  margin-top: @line-height-computed * -1;\n}\n\n// \"Load more\" button\n.pager-more {\n  text-align: center;\n}\n\n// Large displays\n@media screen and (min-width: @screen-md-min) {\n  .pager-more .btn {\n    padding-left: @line-height-computed;\n    padding-right: @line-height-computed;\n  }\n}\n","//\n// Misago pagination\n// --------------------------------------------------\n\n.misago-pagination {\n  display: flex;\n\n  .btn {\n    display: block;\n    width: 100%;\n  }\n\n  .btn + .btn {\n    margin-left: @grid-gutter-width;\n  }\n}\n\n// Make it full width on small screens (in toolbars)\n@media screen and (max-width: @screen-xs-max) {\n  .toolbar-item .misago-pagination {\n    flex: 1;\n  }\n}\n","//\n// Poll\n// --------------------------------------------------\n\n.panel-poll h2 {\n  margin-top: 0px;\n}\n\n.poll-select-choice .btn {\n  &,\n  &:active,\n  &:focus,\n  &:hover {\n    background: transparent;\n    border: transparent;\n    .box-shadow(none);\n\n    margin: @padding-base-vertical 0px;\n    padding: 0px;\n    padding-left: @padding-base-vertical;\n\n    outline: none;\n\n    text-align: left;\n  }\n\n  .material-icon {\n    margin-right: @padding-base-vertical;\n\n    height: 28px;\n    width: 28px;\n\n    font-size: 28px;\n    line-heigh: 28px;\n\n    color: darken(@gray-lighter, 10%);\n  }\n\n  &.btn-selected .material-icon {\n    color: @brand-primary;\n  }\n}\n\n.poll-help {\n  font-size: @font-size-small;\n}\n\n.poll-chart-selected .material-icon {\n  margin-right: 4px;\n\n  position: relative;\n  bottom: 1px;\n\n  height: 14px;\n  width: 14px;\n\n  color: @brand-success;\n  font-size: 14px;\n  line-heigh: 14px;\n}\n\n.poll-options {\n  margin-bottom: 0px;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @padding-base-vertical * -1;\n\n    .btn {\n      margin: @padding-base-vertical 0px;\n    }\n  }\n}\n","//\n// Misago User Status\n// --------------------------------------------------\n\n// Colors\n.user-status {\n  &.user-banned .status-icon {\n    color: @user-status-banned;\n  }\n\n  &.user-online .status-icon {\n    color: @user-status-online;\n  }\n\n  &.user-offline .status-icon {\n    color: @user-status-offline;\n  }\n}\n","//\n// User Card\n// --------------------------------------------------\n\n// Center card's content on larger displays\n.user-card {\n  @media screen and (min-width: @screen-sm-min) {\n    text-align: center;\n  }\n}\n\n// Max out small avatar's width\n.user-card-small-avatar img {\n  width: 100%;\n  height: auto;\n}\n\n// Toggle avatar visibility\n@media screen and (min-width: @screen-sm-min) {\n  .user-card-small-avatar {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  .user-card-avatar {\n    display: none;\n  }\n}\n","//\n// Misago Toolbar\n// --------------------------------------------------\n\n.toolbar {\n  display: block;\n  margin: 0 floor(@grid-gutter-width * -0.5);\n}\n\n.toolbar-section {\n  justify-items: center;\n  display: flex;\n  flex: 1;\n  margin-bottom: @line-height-computed;\n}\n\n.toolbar-item {\n  flex: 1;\n  padding: 0 floor(@grid-gutter-width * 0.5);\n\n  h3,\n  p {\n    margin: 0;\n  }\n}\n\n.toolbar-item-shrink {\n  flex: 0;\n}\n\n.toolbar-spacer {\n  display: none;\n}\n\n@media screen and (min-width: @screen-sm-min) {\n  .toolbar {\n    display: flex;\n  }\n\n  .toolbar-section,\n  .toolbar-item {\n    flex: 0;\n\n    align-items: center;\n  }\n\n  .toolbar-section.toolbar-section-auto,\n  .toolbar-section.toolbar-section-auto .toolbar-item {\n    flex: 1;\n  }\n\n  .toolbar-spacer {\n    display: block;\n    flex: 1;\n  }\n\n  .toolbar-item .form-search {\n    width: 250px;\n  }\n}\n\n// Center paragraph of text on portrait phones\n// Used for pagination messages\n@media screen and (max-width: @screen-xs-max) {\n  .toolbar-item p {\n    text-align: center;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\nabbr {\n  border: none !important;\n}\n\n.item-title {\n  color: @text-color;\n  font-weight: bold;\n  text-decoration: none;\n}\n\na.item-title {\n  &:link,\n  &:active,\n  &:visited,\n  &:hover {\n    color: @text-color;\n    font-weight: bold;\n  }\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n.message-line {\n  text-align: center;\n\n  .material-icon {\n    margin-right: @line-height-computed / 3;\n\n    font-size: 20px;\n    line-height: 20px;\n\n    height: 20px;\n    width: 20px;\n  }\n}\n\n.text-ellipsis {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n","//\n// Markup styles\n// --------------------------------------------------\n\n// Force word wrap for user text\n.misago-markup {\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  p {\n    word-wrap: break-word;\n  }\n}\n\n// Add upper margins for headers\n.misago-markup {\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6 {\n    margin-top: @line-height-computed * 2;\n  }\n}\n\n// Even out blocks\n.misago-markup > *,\n.misago-markup blockquote > * {\n  margin: @line-height-computed 0px;\n\n  &:first-child {\n    margin-top: 0px;\n  }\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Downscale images so they don't expand area\n.misago-markup img {\n  max-width: 100%;\n  max-height: 500px;\n}\n\n// Make quotes stand out a little\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background: @gray-lighter;\n  border: none;\n\n  font-size: @font-size-base;\n\n  .quote-heading {\n    border-bottom: 1px solid darken(@gray-lighter, 8%);\n    padding: (@line-height-computed / 2) @line-height-computed;\n\n    font-size: @font-size-small;\n    font-weight: bold;\n  }\n}\n\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  border: 1px solid darken(@gray-lighter, 8%);\n}\n\n.misago-markup .quote-body {\n  background: @body-bg;\n  margin: 0px;\n  padding: @line-height-computed;\n\n  & > .quote-block,\n  & > blockquote {\n    border: 1px solid darken(@gray-lighter, 8%);\n  }\n}\n\n// Style spoilers\n.misago-markup .spoiler-block {\n  background: @gray-lighter;\n  border: none;\n\n  font-size: @font-size-base;\n}\n\n.misago-markup > .spoiler-block {\n  border: 1px solid darken(@gray-lighter, 8%);\n  position: relative;\n}\n\n.misago-markup .spoiler-body {\n  background: @body-bg;\n  margin: 0px;\n  padding: @line-height-computed;\n}\n\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: @body-bg;\n}\n\n.misago-markup .spoiler-block.revealed .spoiler-overlay {\n  display: none;\n}\n\n// Add bullets to lists\n.misago-markup ul {\n  list-style-type: square;\n\n  li {\n    list-style-type: square;\n  }\n}\n\n.misago-markup ol {\n  list-style-type: decimal;\n\n  li {\n    list-style-type: decimal;\n  }\n}\n\n// Expand code blocks a little\n.misago-markup pre {\n  background: #eee;\n  border: none;\n  padding: @padding-large-vertical;\n  overflow: hidden;\n\n  color: #000;\n\n  code.hljs {\n    margin: @padding-large-vertical * -1;\n    padding: ((@line-height-computed - 1) / 2);\n  }\n}\n","//\n// Change Avatar Modal\n// --------------------------------------------------\n\n// Index\n.modal-change-avatar .modal-avatar-index {\n  .avatar-preview {\n    border-radius: @border-radius-large;\n    margin: 0px auto;\n    overflow: hidden;\n    position: relative;\n\n    width: 200px;\n    height: 200px;\n\n    .loader {\n      display: none;\n\n      position: absolute;\n      top: 50px;\n      height: 100px;\n\n      .loader-spinning-wheel {\n        border-width: 10px;\n        border-color: #fff;\n        border-left-color: transparent;\n        border-right-color: transparent;\n\n        width: 100px;\n        height: 100px;\n      }\n    }\n\n    &.preview-loading {\n      img {\n        .opacity(0.33);\n      }\n\n      .loader {\n        display: block;\n      }\n    }\n\n    @media (max-width: (@grid-float-breakpoint - 1)) {\n      margin-bottom: @line-height-computed;\n\n      width: 150px;\n      height: 150px;\n\n      img {\n        width: 150px;\n        height: 150px;\n      }\n\n      .loader {\n        top: 25px;\n        height: 100px;\n\n        .loader-spinning-wheel {\n          width: 100px;\n          height: 100px;\n        }\n      }\n    }\n  }\n\n  .btn {\n    text-align: left;\n  }\n}\n\n// Upload\n.modal-change-avatar .modal-avatar-upload {\n  text-align: center;\n\n  .btn-pick-file {\n    background: transparent;\n    border: 2px solid @gray-lighter;\n    border-radius: @border-radius-large;\n    padding: @padding-large-vertical @padding-large-horizontal * 1.5;\n    .box-shadow(none);\n\n    color: @gray-light;\n    font-size: @font-size-large;\n    text-align: center;\n\n    & > .material-icon {\n      display: block;\n      margin: 0px auto;\n      margin-bottom: @line-height-computed * 0.66;\n\n      font-size: @line-height-computed * 2.5;\n      width: @line-height-computed * 2.5;\n      height: @line-height-computed * 2.5;\n    }\n\n    &:hover,\n    &:active {\n      border-color: @brand-primary;\n      color: @brand-primary;\n    }\n  }\n\n  .text-muted {\n    margin-top: @line-height-computed * 0.66;\n  }\n\n  .upload-progress {\n    img {\n      border-radius: @border-radius-base;\n      margin-bottom: @line-height-computed;\n\n      max-height: 80px;\n      width: auto;\n    }\n\n    .progress {\n      width: 70%;\n      margin: 0px auto;\n    }\n  }\n}\n\n// Crop\n.modal-avatar-crop .crop-form {\n  margin: 0px auto;\n\n  .cropit-image-zoom-input {\n    margin-top: @line-height-computed / 2;\n\n    // removes default webkit styles\n    -webkit-appearance: none;\n\n    // fix for FF unable to apply focus style bug\n    border: 1px solid white;\n\n    // required for proper track sizing in FF\n    width: 100%;\n\n    &::-webkit-slider-runnable-track {\n      width: 100%;\n      height: 8px;\n      background: @gray-lighter;\n      border: none;\n      border-radius: 3px;\n    }\n\n    &::-webkit-slider-thumb {\n      -webkit-appearance: none;\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n      margin-top: -6px;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    &:focus::-webkit-slider-runnable-track {\n      background: @gray-lighter;\n    }\n\n    &::-moz-range-track {\n      width: 100%;\n      height: 8px;\n      background: @gray-lighter;\n      border: none;\n      border-radius: 4px;\n    }\n\n    &::-moz-range-thumb {\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n    }\n\n    /*hide the outline behind the border*/\n    &:-moz-focusring {\n      outline: 1px solid white;\n      outline-offset: -1px;\n    }\n\n    &::-ms-track {\n      width: 100%;\n      height: 8px;\n\n      /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n      background: transparent;\n\n      /*leave room for the larger thumb to overflow with a transparent border */\n      border-color: transparent;\n      border-width: 8px 0;\n\n      /*remove default tick marks*/\n      color: transparent;\n    }\n\n    &::-ms-fill-lower {\n      background: @gray-lighter;\n      border-radius: 16px;\n    }\n\n    &::-ms-fill-upper {\n      background: @gray-lighter;\n      border-radius: 16px;\n    }\n\n    &::-ms-thumb {\n      border: none;\n      height: 20px;\n      width: 20px;\n      border-radius: 50%;\n      background: @gray-light;\n    }\n\n    &:focus::-ms-fill-lower {\n      background: @gray-lighter;\n    }\n\n    &:focus::-ms-fill-upper {\n      background: @gray-lighter;\n    }\n  }\n}\n\n// Gallery\n.modal-change-avatar .modal-avatar-gallery {\n  padding-bottom: 0px;\n\n  .avatars-gallery {\n    margin-bottom: @line-height-computed;\n\n    h3 {\n      margin-top: 0px;\n    }\n  }\n\n  .avatars-gallery-images {\n    .row {\n      margin-bottom: @line-height-computed / 2;\n    }\n\n    .btn {\n      border-radius: @border-radius-base + 2px;\n      border: 2px solid @gray-lighter;\n      background: none;\n      padding: 2px;\n      position: relative;\n\n      &:hover,\n      &:focus {\n        border-color: @gray-light;\n      }\n\n      &.avatar-selected,\n      &:active {\n        border-color: @link-color;\n      }\n\n      img {\n        border-radius: @border-radius-base;\n        width: 100%;\n        height: auto;\n      }\n    }\n  }\n}\n","//\n// Categories Lists\n// --------------------------------------------------\n\n// Category Block\n// --------------------------------------------------\n\n// Thread unread state icon\n.category-main .read-status .material-icon {\n  color: @category-read-color;\n}\n\n.category-main .read-status.item-new .material-icon {\n  color: @category-new-color;\n}\n\n// Last thread\n.category-last-thread .media-heading {\n  a {\n    display: inline-block;\n    overflow: hidden;\n\n    white-space: nowrap;\n    width: 290px; // md-3 - avatar column\n\n    text-overflow: ellipsis;\n    vertical-align: top;\n\n    @media screen and (max-width: @screen-sm-max) {\n      width: 275px; // md-3 - avatar column\n    }\n\n    @media screen and (max-width: @screen-xs-max) {\n      width: 260px; // md-3 - avatar column\n    }\n  }\n}\n\n// Last thread message\n.category-thread-message {\n  .material-icon {\n    width: 28px;\n    height: 28px;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n\n  p {\n    margin: 0px;\n  }\n}\n\n// Subcategories list\n// --------------------------------------------------\n.list-inline.subcategories-list {\n  overflow: auto;\n  margin-top: @line-height-computed / -2;\n\n  li {\n    display: block;\n    float: left;\n\n    a,\n    a:link,\n    a:visited,\n    a:active,\n    a:hover,\n    a:focus {\n      background-color: @gray-lighter;\n      border: 1px solid darken(@gray-lighter, 5%);\n      border-radius: @border-radius-base;\n      display: inline-block;\n      margin-top: @line-height-computed / 2;\n      padding: @padding-base-vertical @padding-base-horizontal;\n\n      color: @gray;\n    }\n\n    &:focus,\n    a:hover,\n    a:active {\n      background-color: darken(@gray-lighter, 5%);\n\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n}\n\n.row.subcategories-list {\n  .btn {\n    margin-top: @line-height-computed;\n\n    text-align: left;\n  }\n}\n","//\n// Posting\n// --------------------------------------------------\n\n// Affix and style placeholder\n#posting-placeholder {\n  background-color: @gray-lighter;\n  display: none;\n  margin-top: @line-height-computed * 1.5;\n  margin-bottom: @line-height-computed * -1.5;\n  padding: @line-height-computed 0px;\n\n  transition: height 300ms;\n\n  &.slide-in {\n    display: block;\n  }\n}\n\n// First row\n#posting-placeholder .first-row {\n  margin-bottom: @line-height-computed;\n\n  .form-control {\n    border: 1px solid darken(@gray-lighter, 15%);\n  }\n\n  .posting-options {\n    .btn {\n      padding-top: 4px;\n      padding-bottom: 4px;\n\n      .btn-text {\n        margin-left: @line-height-computed / 4;\n\n        position: relative;\n        top: 1px;\n      }\n    }\n\n    .material-icon {\n      width: 14px;\n      height: 24px;\n\n      margin-right: 0px;\n\n      position: relative;\n      top: 5px;\n\n      font-size: 14px;\n      line-height: 14px;\n      text-align: center;\n    }\n  }\n}\n\n// Posting ui preview\n.posting-ui-preview {\n  padding: @line-height-computed 0px;\n  position: relative;\n\n  .form-control {\n    box-shadow: none;\n    resize: none;\n  }\n}\n\n// Posting Loader\n.posting-loader {\n  text-align: center;\n}\n\n.posting-loader .loader {\n  height: 100px;\n\n  .loader-spinning-wheel {\n    width: 100px;\n    height: 100px;\n  }\n}\n\n// Posting message\n@posting-icon-width: 28px;\n\n.posting-message {\n  text-align: center;\n\n  .material-icon {\n    margin-right: @line-height-computed / 3;\n    position: relative;\n    top: -1px;\n\n    width: @posting-icon-width;\n    height: @posting-icon-width;\n\n    font-size: @posting-icon-width;\n    line-height: @posting-icon-width;\n  }\n\n  .message-body {\n    p {\n      font-size: @font-size-large;\n    }\n  }\n}\n","//\n// Editor\n// --------------------------------------------------\n\n@editor-border: darken(@gray-lighter, 15%);\n\n.editor-border {\n  background-color: #fff;\n  border: 1px solid @editor-border;\n  border-radius: @border-radius-base;\n}\n\n.editor-border .form-control {\n  // remove border and resizing\n  border: none;\n  resize: none;\n\n  // remove shadow from control\n  &,\n  &:focus,\n  &:active {\n    .box-shadow(none);\n  }\n}\n\n// Footer styles\n.editor-footer {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical @padding-base-horizontal;\n  overflow: auto;\n\n  .pull-left {\n    margin-right: @padding-base-horizontal;\n  }\n\n  .pull-right {\n    margin-left: @padding-base-horizontal;\n  }\n\n  .btn-icon .material-icon {\n    margin-bottom: -2px;\n  }\n\n  // center buttons on small devices\n  @media screen and (max-width: @screen-sm-max) {\n    .buttons-list {\n      float: none !important;\n\n      margin: 0px;\n      margin-bottom: @line-height-computed / 2;\n\n      .btn {\n        display: inline-block;\n        float: none !important;\n\n        margin: @line-height-computed / 3;\n      }\n    }\n\n    .btn-protect {\n      .btn-text {\n        margin-left: @padding-small-horizontal;\n      }\n\n      .material-icon {\n        position: relative;\n        bottom: 2px;\n\n        width: 14px;\n        height: 14px;\n\n        font-size: 14px;\n        line-height: 14px;\n      }\n    }\n  }\n}\n\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  .buttons-list .btn {\n    &:first-child {\n      margin-left: 0px;\n    }\n  }\n}\n\n// make lock button full width\n@media screen and (max-width: @screen-xs-max) {\n  .buttons-list {\n    text-align: center;\n\n    .btn-protect {\n      display: block;\n      float: none !important;\n\n      width: 100%;\n\n      margin: 0px;\n      margin-top: @line-height-computed / 2;\n    }\n  }\n}\n\n// Attachments list\n.editor-attachments-list {\n  margin: 0px;\n  padding: 0px;\n\n  li {\n    margin: 0px;\n  }\n}\n\n.editor-attachment-complete {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical 0px;\n  padding-right: @padding-base-horizontal;\n\n  .editor-attachment-image {\n    float: left;\n    width: 50px;\n\n    a {\n      background-size: cover;\n      background-position: center;\n      border-radius: @border-radius-small;\n      display: block;\n\n      margin: 0px auto;\n      width: 36px;\n      height: 36px;\n    }\n  }\n\n  .editor-attachment-icon {\n    float: left;\n    width: 50px;\n\n    text-align: center;\n\n    .material-icon {\n      position: relative;\n      top: 2px;\n\n      height: 28px;\n      width: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n  }\n\n  .editor-attachment-details {\n    margin-left: 50px;\n\n    h4,\n    p {\n      margin: 0px;\n      padding: 0px;\n\n      font-size: @font-size-base;\n    }\n\n    p {\n      margin-top: @padding-base-vertical / 2;\n\n      color: @gray-light;\n      font-size: @font-size-small;\n    }\n\n    abbr {\n      white-space: nowrap;\n    }\n  }\n}\n\n.editor-attachment-actions {\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top: 3px;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-left: @padding-base-horizontal;\n    padding-right: @padding-base-horizontal;\n  }\n}\n\n.editor-attachment-error {\n  border-top: 1px solid @editor-border;\n  padding: @padding-base-vertical 0px;\n  padding-right: @padding-base-horizontal;\n}\n\n.editor-attachment-error-icon {\n  float: left;\n  width: 50px;\n\n  text-align: center;\n\n  .material-icon {\n    position: relative;\n    top: 2px;\n\n    height: 28px;\n    width: 28px;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n}\n\n.editor-attachment-error-message {\n  margin-left: 50px;\n  padding: @padding-base-vertical 0px;\n  position: relative;\n\n  h4,\n  p {\n    margin: 0px;\n    padding: 0px;\n\n    font-size: @font-size-base;\n  }\n\n  p {\n    margin-top: @padding-base-vertical / 2;\n    font-size: @font-size-small;\n  }\n\n  .btn {\n    position: absolute;\n    top: @padding-base-vertical + 3px;\n    right: @padding-base-horizontal;\n\n    @media screen and (max-width: @screen-xs-max) {\n      display: block;\n\n      margin-top: @line-height-computed / 2;\n\n      position: static;\n    }\n  }\n}\n\n.editor-attachment-progress-bar {\n  background: @editor-border;\n  overflow: auto;\n}\n\n.editor-attachment-progress {\n  background: @brand-primary;\n  float: left;\n  height: 1px;\n}\n\n.editor-attachment-upload-message {\n  margin: 0px;\n  padding: @padding-base-vertical @padding-base-horizontal;\n}\n\n// Hide file input outside of viewport\n#editor-upload-field {\n  position: absolute;\n  left: -1000px;\n  top: -1000px;\n}\n\n// Scale avatar in at.js suggestion\n.atwho-view ul li img {\n  border-radius: @border-radius-small;\n  margin-right: @font-size-base / 3;\n\n  width: @line-height-computed;\n  height: @line-height-computed;\n}\n","//\n// Thread Participants\n// --------------------------------------------------\n\n.participant-card .btn-user,\n.participant-card .dropdown.open .btn-user {\n  margin-bottom: @line-height-computed;\n\n  &,\n  &:hover,\n  &:focus,\n  &:focus:active {\n    padding: 0px;\n\n    overflow: hidden;\n\n    text-align: left;\n  }\n\n  img {\n    background-color: #fff;\n    width: 34px;\n    height: 34px;\n\n    margin-right: 8px;\n  }\n}\n\n// Panel copy\n.panel-participants p {\n  margin: 0px;\n  margin-top: @padding-base-vertical + 1px;\n}\n","//\n// Poll Editor\n// --------------------------------------------------\n\n.poll-choices-control {\n  .list-group-item {\n    padding: 0px;\n  }\n\n  .list-group-item .btn {\n    background: transparent;\n    border: transparent;\n    float: left;\n    margin: 0px 2px;\n    margin-bottom: -29px;\n    padding: 0px;\n    width: 28px;\n    height: 28px;\n\n    position: relative;\n    top: 3px;\n\n    .material-icon {\n      width: 28px;\n      height: 28px;\n\n      font-size: 28px;\n      line-height: 28px;\n    }\n  }\n\n  input {\n    &,\n    &:focus,\n    &:active {\n      background: transparent;\n      border: none;\n      .box-shadow(none);\n      outline: none;\n      margin-left: 30px;\n      padding: @padding-base-vertical @padding-base-horizontal;\n      width: 100%;\n    }\n  }\n}\n","//\n// Posts List\n// --------------------------------------------------\n\n// Remove paddings and margins from items list\n.posts-list {\n  margin: 0px;\n  padding: 0px;\n  clear: both;\n\n  li {\n    list-style: none;\n    margin: 0px;\n    padding: 0px;\n  }\n}\n","//\n// Posts List Post\n// --------------------------------------------------\n\n// Post side\n.post-side {\n  font-size: @font-size-small;\n\n  .media {\n    margin: 0px;\n  }\n\n  .poster-avatar {\n    height: 36px;\n    width: 36px;\n\n    @media screen and (min-width: @screen-md-min) {\n      margin-top: 4px;\n\n      height: 82px;\n      width: 82px;\n    }\n  }\n\n  .user-status {\n    margin-right: 4px;\n  }\n\n  .media-heading {\n    display: block;\n  }\n\n  .media-heading {\n    margin: 0px;\n    margin-top: -1px;\n\n    font-size: @font-size-base;\n\n    .user-status {\n      margin-right: 0;\n      margin-left: 2px;\n    }\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  // Lay user details vertically\n  @media screen and (min-width: @screen-md-min) {\n    .media-heading {\n      margin-top: 3px;\n\n      font-size: @font-size-large;\n\n      .user-status {\n        display: none;\n      }\n    }\n\n    .user-title {\n      margin-top: 4px;\n      margin-bottom: 5px;\n    }\n\n    .user-postcount {\n      display: block;\n    }\n\n    .user-status {\n      display: block;\n    }\n  }\n}\n\n// Heading\n.post-heading {\n  height: 36px;\n\n  @media screen and (max-width: @screen-sm-max) {\n    margin-top: @line-height-computed / 2;\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n\n  .label {\n    margin-top: 6px;\n\n    font-size: @font-size-base;\n    font-weight: normal;\n  }\n\n  .label-unread {\n    background-color: @brand-success;\n\n    color: #fff;\n  }\n}\n\n// Move controls up\n@media screen and (min-width: @screen-md-min) {\n  .post-side .pull-right {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-sm-max) {\n  .post-heading .pull-right {\n    display: none;\n  }\n}\n\n// Body\n.post-body {\n  padding-top: @line-height-computed;\n  padding-bottom: @line-height-computed * 1.5;\n}\n\n// Status\n.post-status-message {\n  overflow: auto;\n\n  .material-icon {\n    float: left;\n\n    font-size: 28px;\n    line-height: 28px;\n  }\n\n  p {\n    margin: 0px;\n    margin-top: (28px - @line-height-computed) / 2;\n    margin-left: 36px;\n  }\n}\n\n.post-status-best-answer {\n  background-color: @brand-success;\n\n  color: #fff;\n}\n\n.post-status-hidden {\n  background-color: @brand-danger;\n\n  color: #fff;\n}\n\n.post-status-unapproved {\n  background-color: @brand-primary;\n\n  color: #fff;\n}\n\n.post-status-protected {\n  background-color: @gray;\n\n  color: #fff;\n}\n\n// Footer\n.post-footer {\n  .pull-left {\n    margin-right: @padding-large-horizontal;\n  }\n\n  .pull-right {\n    margin-left: @padding-large-horizontal;\n  }\n\n  p {\n    padding-top: 7px;\n    padding-bottom: 6px;\n    margin-bottom: 0px;\n  }\n}\n\n// Attachments\n.post-attachments {\n  @post-preview-width: 40px;\n\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-base-vertical @padding-large-horizontal;\n\n  abbr {\n    white-space: nowrap;\n  }\n\n  .attachment-name {\n    word-wrap: break-word;\n  }\n\n  .row > div {\n    margin: @padding-large-vertical 0px;\n  }\n\n  .post-attachment-preview {\n    float: left;\n    height: @post-preview-width;\n    width: @post-preview-width;\n\n    text-align: center;\n  }\n\n  .post-attachment {\n    margin-left: @post-preview-width + 12px;\n  }\n\n  .post-thumbnail {\n    display: block;\n    background-size: cover;\n    background-position: center;\n    border-radius: @border-radius-small;\n    width: @post-preview-width;\n    height: @post-preview-width;\n  }\n\n  .material-icon {\n    width: 28px;\n    height: 28px;\n\n    position: relative;\n    top: 5px;\n\n    font-size: 28px;\n    line-height: 28px;\n\n    &:link,\n    &:active,\n    &:visited,\n    &:hover,\n    &:focus {\n      color: @gray-darker;\n      text-decoration: none;\n    }\n  }\n\n  .post-attachment-description {\n    margin: 0px;\n    padding: 0px;\n\n    color: @text-muted;\n    font-size: @font-size-small;\n  }\n}\n","//\n// Post Feed\n// --------------------------------------------------\n\n.post-feed .post-side {\n  .media-heading {\n    margin: 0px;\n\n    font-size: @font-size-base;\n  }\n\n  .user-title {\n    margin: 0px;\n\n    font-size: @font-size-small;\n  }\n}\n\n.post-feed .post-side .btn {\n  display: inline-block;\n}\n\n.post-feed .post-side img {\n  margin-top: 0px;\n\n  width: 36px;\n  height: 36px;\n}\n\n.post-feed .post-heading {\n  height: auto;\n  margin: @line-height-computed / 2 0px;\n}\n\n.post-feed .post-heading .btn {\n  margin-right: @padding-large-horizontal;\n  max-width: 100%;\n\n  text-align: left;\n  white-space: normal;\n  word-wrap: break-word;\n}\n","//\n// Posts List Event\n// --------------------------------------------------\n\n// Event style\n.posts-list .event {\n  margin-bottom: @line-height-computed;\n\n  color: @text-muted;\n\n  .media {\n    margin-top: @line-height-computed / 4;\n  }\n}\n\n// Event label\n.posts-list .event-label {\n  .label-unread {\n    background-color: @brand-success;\n\n    color: #fff;\n  }\n}\n\n// Event icon\n.posts-list .event .text-right {\n  padding-right: 0px;\n\n  text-align: right;\n\n  .material-icon {\n    margin-right: -12px;\n\n    height: @event-icon-size;\n    width: @event-icon-size;\n\n    font-size: @event-icon-size;\n    line-height: @event-icon-size;\n\n    text-align: center;\n  }\n}\n\n// Align event content with post's content\n.posts-list .event .text-left {\n  padding-left: 24px;\n}\n\n// Event first and second rows\n.posts-list .event .event-message {\n  margin-bottom: @line-height-computed / 4;\n\n  font-size: @font-size-large;\n}\n\n.posts-list .event .event-info {\n  margin: 0px;\n\n  font-size: @font-size-small;\n\n  li {\n    margin-right: @padding-base-horizontal;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Event controls\n.posts-list .event .event-controls {\n  .btn-link {\n    border: 0px;\n    margin: 0px;\n    margin-right: @padding-base-horizontal;\n    padding: 0px;\n\n    font-size: @font-size-small;\n\n    &:last-child {\n      margin-right: 0px;\n    }\n  }\n}\n\n// Mobile tweaks\n@media screen and (max-width: @screen-xs-max) {\n  .posts-list .event .text-right {\n    width: @event-icon-size;\n\n    text-align: right;\n  }\n\n  .posts-list .event .text-left:first-child {\n    padding-left: 0px;\n  }\n\n  .posts-list .event .event-info {\n    margin-top: @line-height-computed / 4;\n  }\n\n  .posts-list .event .event-controls {\n    clear: both;\n    margin-top: @line-height-computed / 4;\n\n    .btn-link {\n      margin-right: @line-height-computed;\n\n      font-size: @font-size-base;\n\n      &:last-child {\n        margin-right: 0px;\n      }\n    }\n  }\n}\n","//\n// Post Changelog Modal\n// --------------------------------------------------\n\n.post-changelog-diff {\n  padding: 0px;\n  margin: 0px;\n\n  .list-unstyled {\n    padding: 0px;\n    margin: @padding-small-vertical 0px;\n  }\n\n  .diff-item {\n    padding: @padding-small-vertical @padding-small-horizontal;\n  }\n\n  .diff-item-sub {\n    color: @brand-danger;\n  }\n\n  .diff-item-add {\n    color: @brand-success;\n  }\n}\n\n.post-changelog-toolbar .row {\n  margin-left: -12px;\n  margin-right: -12px;\n}\n\n.post-changelog-toolbar .post-change-label {\n  @media screen and (max-width: @screen-xs-max) {\n    text-align: center;\n  }\n}\n","//\n// Message Pages\n// --------------------------------------------------\n\n// Small displays\n@media screen and (max-width: @screen-xs-max) {\n  .page-message,\n  .page-error {\n    .message-panel {\n      text-align: center;\n    }\n\n    .message-icon {\n      margin: @line-height-computed * 1.5;\n      font-size: @message-page-icon-size;\n    }\n  }\n}\n\n// Full displays\n@media screen and (min-width: @screen-sm-min) {\n  .page-message,\n  .page-error {\n    .message-panel {\n      margin: @line-height-computed * 3 auto;\n      max-width: @screen-md-max * 0.65;\n      overflow: auto;\n    }\n\n    .message-icon {\n      float: left;\n\n      .material-icon {\n        font-size: @message-page-icon-size;\n      }\n    }\n\n    .message-body {\n      margin-top: @message-page-icon-size / 5;\n      margin-left: @message-page-icon-size + @line-height-computed;\n\n      font-size: @font-size-large;\n\n      p.lead {\n        font-size: @font-size-large * 2;\n      }\n    }\n  }\n}\n","//\n// Threads Lists\n// --------------------------------------------------\n\n.threads-list {\n  margin-bottom: @line-height-computed;\n}\n\n// Make list row flexbox row\n.threads-list-item {\n  display: flex;\n  align-items: center;\n\n  img {\n    width: @thread-read-block-size;\n    height: @thread-read-block-size;\n  }\n}\n\n.threads-list-item-top-row {\n  display: flex;\n  flex: 1;\n  align-items: center;\n  justify-content: center;\n}\n\n.threads-list-item-bottom-row {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n// Thread icon\n.threads-list-item-col-icon {\n  padding-right: @grid-gutter-width / 2;\n}\n\n.threads-list-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: @thread-read-block-size;\n  height: @thread-read-block-size;\n\n  border-radius: @border-radius-small;\n  font-size: @thread-read-icon-size;\n  line-height: @thread-read-icon-size;\n\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    background-color: @thread-read-icon-bg;\n    color: @thread-read-icon-color;\n    text-decoration: none;\n  }\n}\n\n.threads-list-icon-new {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    background-color: @thread-new-icon-bg;\n    color: @thread-new-icon-color;\n  }\n}\n\n// Thread title\n.threads-list-item-col-title {\n  flex: 1;\n}\n\na.threads-list-item-title {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    font-size: @threads-list-title-size;\n\n    color: @thread-color;\n    overflow-wrap: break-word;\n  }\n}\n\na.threads-list-item-title-sm {\n  font-size: @threads-list-title-size-sm;\n\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    color: @thread-read-color;\n    overflow-wrap: break-word;\n  }\n}\n\na.threads-list-item-title-new {\n  &:link,\n  &:active,\n  &:focus,\n  &:hover,\n  &:visited {\n    color: @thread-new-color;\n  }\n}\n\n// Thread status flags\n.threads-list-item-col-flags {\n  padding-left: @grid-gutter-width / 2;\n}\n\n.threads-list-item {\n  opacity: @thread-flag-icon-opacity;\n}\n\n.threads-list-item:hover,\n.threads-list-item:focus {\n  .thread-flags {\n    opacity: @thread-flag-icon-opacity-hover;\n  }\n}\n\n// Thread category\n.threads-list-item-col-category {\n  padding-left: @grid-gutter-width / 2;\n\n  white-space: nowrap;\n}\n\n.threads-list-category-label {\n  padding: 3px 6px;\n\n  border-radius: @border-radius-small;\n\n  font-size: @font-size-small;\n  font-weight: bold;\n\n  &,\n  &:link,\n  &:active,\n  &:hover,\n  &:focus,\n  &:visited {\n    color: @category-label-default-color;\n    background: @category-label-default-bg;\n    text-decoration: none;\n  }\n\n  &.threads-list-category-label-color {\n    &,\n    &:link,\n    &:active,\n    &:hover,\n    &:focus,\n    &:visited {\n      color: #fff;\n      background: var(--label-color);\n    }\n  }\n}\n\n.threads-list-item-parent-category {\n  border-radius: @border-radius-small 0 0 @border-radius-small;\n  margin-right: 2px;\n}\n\n.threads-list-item-parent-category + .threads-list-category-label {\n  border-radius: 0 @border-radius-small @border-radius-small 0;\n}\n\n// Replies\n.threads-list-item-col-replies {\n  width: 80px;\n  padding-left: @grid-gutter-width / 2;\n}\n\n// Last poster\n.threads-list-item-col-last-poster {\n  padding-left: @grid-gutter-width / 2;\n\n  img {\n    border-radius: @border-radius-small;\n  }\n}\n\n// Last activity\n.threads-list-item-col-last-activity {\n  width: 120px;\n  padding-left: @grid-gutter-width / 2;\n\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n\n  a:link,\n  a:hover,\n  a:active,\n  a:visited,\n  a:focus {\n    color: @thread-last-activity-color;\n    font-size: @thread-last-activity-size;\n  }\n}\n\n// Subscription and checkbox\n.threads-list-item-col-checkbox,\n.threads-list-item-col-subscription {\n  padding-left: @grid-gutter-width / 2;\n}\n\n// Make list responsive\n.threads-list-item-title-sm,\n.threads-list-item-col-checkbox-sm {\n  display: none;\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  // Make card full-width\n  .threads-list {\n    margin-left: @grid-gutter-width * -0.5;\n    margin-right: @grid-gutter-width * -0.5;\n\n    .list-group,\n    .list-group-item {\n      border-radius: 0;\n      border-left: 0;\n      border-right: 0;\n    }\n  }\n\n  // Swap title with sm one\n  .threads-list-item-title {\n    display: none;\n  }\n\n  .threads-list-item-title-sm {\n    display: inline-block;\n  }\n\n  // Make thread read icon disappear\n  .threads-list-item-col-icon {\n    display: none;\n  }\n}\n\n@media screen and (max-width: @screen-sm-max) {\n  // Use two rows per item\n  .threads-list-item {\n    display: block;\n\n    // Make avatar same size as flag icons\n    img {\n      width: @thread-flag-block-size;\n      height: @thread-flag-block-size;\n    }\n  }\n\n  // Insert bottom marin to top row, align itss contents to top\n  .threads-list-item-top-row {\n    align-items: start;\n    margin-bottom: @grid-gutter-width / 4;\n  }\n\n  // Make all cols in second row auto, align them to right\n  .threads-list-item-bottom-row {\n    justify-content: end;\n    flex: 0;\n\n    & > div {\n      width: auto;\n      padding: 0 0 0 @grid-gutter-width / 2;\n    }\n  }\n\n  // Make thread subscription and checkbox icons disappear\n  .threads-list-item-col-subscription,\n  .threads-list-item-col-checkbox {\n    display: none;\n  }\n\n  // Reveal checkbox in top row, make it smol\n  .threads-list-item-col-checkbox-sm {\n    display: block;\n    padding-left: @grid-gutter-width / 2;\n\n    .btn-icon {\n      padding: 4px;\n\n      .material-icon {\n        font-size: 16px;\n      }\n    }\n  }\n}\n\n// Make thread buttons flash when thread is busy\n.threads-list-item-is-busy .btn-icon {\n  opacity: 0.8;\n  animation: busy 0.75s linear infinite;\n}\n\n@keyframes busy {\n  50% {\n    opacity: 0.5;\n  }\n}\n\n// Threads list update prompt\n.threads-list-update-prompt {\n  padding: 0;\n}\n\n.threads-list-update-prompt-btn {\n  padding: @padding-large-vertical @padding-large-horizontal;\n\n  background: @update-threads-prompt-bg;\n  color: @update-threads-prompt-color;\n  border: none;\n  border-radius: @list-group-border-radius @list-group-border-radius 0 0;\n}\n\n.threads-list-update-prompt-btn:hover,\n.threads-list-update-prompt-btn:focus {\n  background: @update-threads-prompt-hover-bg;\n  color: @update-threads-prompt-hover-color;\n}\n\n.threads-list-update-prompt-btn:active {\n  background: @update-threads-prompt-active-bg;\n  color: @update-threads-prompt-active-color;\n}\n","//\n// Active posters list\n// --------------------------------------------------\n\n// List layout\n.active-posters {\n  li {\n    display: block;\n    overflow: auto;\n  }\n}\n\n// User avatar\n.active-posters .rank-user-avatar {\n  float: left;\n\n  @media screen and (max-width: @screen-sm-max) {\n    height: 42px; // even list item vertically\n\n    img {\n      width: 36px;\n      height: 36px;\n\n      position: relative;\n      top: 3px;\n    }\n  }\n}\n\n// User\n.active-posters .rank-user {\n  float: left;\n  margin-top: 3px;\n\n  @media screen and (max-width: @screen-sm-max) {\n    margin-left: @line-height-computed * 0.66;\n    width: 40%;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    float: none;\n    margin-left: 50px;\n    width: auto;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    margin-left: @line-height-computed * 0.8;\n    width: 25%;\n\n    .user-name {\n      font-size: @font-size-large;\n    }\n  }\n}\n\n// User details\n.active-posters .user-details {\n  overflow: auto;\n\n  font-family: Sans-Serif;\n\n  .user-status,\n  .rank-name,\n  .user-title {\n    display: block;\n    float: left;\n    margin-right: 3px;\n\n    font-size: @font-size-small;\n\n    @media screen and (min-width: @screen-md-min) {\n      margin-right: 8px;\n    }\n  }\n\n  .user-title {\n    margin-right: 0px;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    overflow: visible;\n\n    .rank-name,\n    .user-title {\n      height: 14px;\n      overflow: hidden;\n\n      position: relative;\n      top: 1px;\n\n      vertical-align: baseline;\n    }\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @padding-base-vertical / 2;\n\n    .rank-name,\n    .user-title {\n      font-weight: normal;\n    }\n  }\n}\n\n// User status\n.active-posters .user-status {\n  overflow: auto;\n\n  position: relative;\n  top: 1px;\n\n  span {\n    display: block;\n    float: left;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    height: 14px;\n    overflow: hidden;\n  }\n\n  .status-icon {\n    position: relative;\n\n    @media screen and (max-width: @screen-sm-max) {\n      top: 0px;\n\n      width: 12px;\n      height: 12px;\n\n      font-size: 12px;\n      line-height: 12px;\n    }\n\n    @media screen and (min-width: @screen-md-min) {\n      top: 1px;\n\n      margin-right: 3px;\n\n      width: 13px;\n      height: 13px;\n\n      font-size: 13px;\n      line-height: 13px;\n    }\n  }\n}\n\n// User status UI preview\n.active-posters {\n  .status-label.ui-preview-text,\n  .rank-name .ui-preview-text,\n  .user-title .ui-preview-text {\n    height: 11px;\n\n    position: relative;\n    top: 2px;\n\n    font-size: 11px;\n    line-height: 11px;\n  }\n\n  // even rank/title preview with status\n  .rank-name,\n  .user-title {\n    .ui-preview-text {\n      position: static;\n    }\n  }\n}\n\n// Rank stats\n.active-posters {\n  .rank-position,\n  .rank-posts-counted,\n  .rank-posts-total {\n    strong,\n    small {\n      display: block;\n    }\n\n    @media screen and (max-width: @screen-sm-max) {\n      overflow: auto;\n\n      strong,\n      small {\n        float: left;\n\n        font-size: @font-size-base * 0.75;\n      }\n\n      strong {\n        min-width: 30px;\n        margin-right: 3px;\n\n        text-align: right;\n      }\n\n      .ui-preview-text {\n        height: 8px;\n\n        position: relative;\n        top: -1px;\n\n        font-size: 8px;\n        line-height: 8px;\n      }\n    }\n\n    @media screen and (min-width: @screen-md-min) {\n      float: left;\n      margin-top: 3px;\n      width: 23%;\n\n      font-size: @font-size-large;\n      text-align: center;\n\n      small {\n        font-size: @font-size-small;\n        font-weight: normal;\n      }\n    }\n  }\n}\n\n.user-compact-stats {\n  .rank-position,\n  .rank-posts-counted {\n    strong,\n    small {\n      display: inline-block;\n      float: none;\n    }\n\n    strong {\n      min-width: auto;\n    }\n\n    small {\n      margin-right: @line-height-computed;\n    }\n  }\n}\n\n// Tablet displays\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  // Margin top first state so its even with username\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n\n  // Hide rank-posts-total on small displays (cos it overflows for crazy posters)\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n\n// Mobile displays\n@media screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n  // Margin top first state so its even with username\n  .active-posters .rank-position {\n    margin-top: 6px;\n  }\n\n  // Hide rank-posts-total on small displays (cos it overflows for crazy posters)\n  .active-posters .rank-posts-total {\n    display: none;\n  }\n}\n","//\n// User Profile\n// --------------------------------------------------\n\n.profile-page-header-avatar {\n  text-align: center;\n  margin: @line-height-computed 0;\n\n  .user-avatar {\n    border-radius: @border-radius-base;\n  }\n}\n\n// Make profile data horizontal and insert space between elements\n.profile-data-list {\n  display: block;\n  padding: 0;\n  margin: 0 (@padding-base-horizontal * -1);\n\n  font-size: @font-size-small;\n\n  li {\n    display: inline-block;\n    list-style: none;\n    padding: floor(@line-height-computed / 4) @padding-base-horizontal;\n  }\n\n  .status-icon {\n    margin-right: 3px;\n    position: relative;\n    bottom: 1px;\n  }\n\n  .user-account-disabled {\n    color: @brand-danger;\n    font-weight: bold;\n  }\n}\n\n// On tablets and up make layout horizontal\n@media screen and (min-width: @screen-sm-min) {\n  .profile-page-header {\n    display: flex;\n    align-items: flex-end;\n  }\n\n  .profile-page-header-avatar {\n    margin: 0;\n    margin-right: @grid-gutter-width;\n  }\n}\n\n// On desktops make avatar overlap on details, make details larger\n@media screen and (min-width: @screen-md-min) {\n  .profile-page-header-avatar {\n    position: relative;\n    top: @profile-header-avatar-offset;\n    margin-top: @profile-header-avatar-offset * -1;\n  }\n\n  .profile-page-header-details {\n    padding-left: 128px + @grid-gutter-width;\n  }\n\n  .profile-data-list {\n    font-size: @font-size-base;\n  }\n}\n","//\n// Username History\n// --------------------------------------------------\n\n// Change tabular on larger displays\n.username-history li {\n  @media screen and (min-width: @screen-md-min) {\n    display: block;\n    overflow: auto;\n  }\n}\n\n// Change avatar\n.username-history .change-avatar {\n  float: left;\n\n  a,\n  span {\n    margin-right: @line-height-computed / 2;\n\n    img {\n      width: 42px;\n      height: 42px;\n    }\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    a,\n    span {\n      img {\n        width: 18px;\n        height: 18px;\n\n        position: relative;\n        bottom: 1px;\n      }\n    }\n  }\n}\n\n// Change author\n.username-history .change-author {\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 30%;\n  }\n}\n\n// Old to new name change\n.username-history .change {\n  min-height: @line-height-computed; // we need that for ui-preview-text\n  overflow: auto;\n\n  span {\n    display: block;\n    float: left;\n  }\n\n  .material-icon {\n    margin: 0px @font-size-base / 2;\n\n    position: relative;\n    top: 4px;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 40%;\n  }\n}\n\n// Date\n.username-history .change-date {\n  @media screen and (min-width: @screen-md-min) {\n    float: left;\n    width: 20%;\n  }\n}\n","//\n// Search Page\n// --------------------------------------------------\n\n.search-footer p {\n  margin-top: @line-height-computed;\n\n  color: @gray;\n  font-size: @font-size-small;\n  text-align: center;\n}\n\n.page-search-form {\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top: @line-height-computed * 2;\n  }\n\n  @media screen and (min-width: @screen-md-min) {\n    padding-bottom: @line-height-computed * 2;\n\n    h1 {\n      position: relative;\n      top: @padding-small-vertical;\n    }\n\n    .form-group {\n      margin-bottom: 0px;\n    }\n  }\n}\n","/*\nDescription: Foundation 4 docs style for highlight.js\nAuthor: Dan Allen <dan.j.allen@gmail.com>\nWebsite: http://foundation.zurb.com/docs/\nVersion: 1.0\nDate: 2013-04-02\n*/\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #eee; color: black;\n}\n\n.hljs-link,\n.hljs-emphasis,\n.hljs-attribute,\n.hljs-addition {\n  color: #070;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong,\n.hljs-string,\n.hljs-deletion {\n  color: #d14;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n\n.hljs-quote,\n.hljs-comment {\n  color: #998;\n  font-style: italic;\n}\n\n.hljs-section,\n.hljs-title {\n  color: #900;\n}\n\n.hljs-class .hljs-title,\n.hljs-type {\n  color: #458;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n  color: #336699;\n}\n\n.hljs-bullet {\n  color: #997700;\n}\n\n.hljs-meta {\n  color: #3344bb;\n}\n\n.hljs-code,\n.hljs-number,\n.hljs-literal,\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #099;\n}\n\n.hljs-regexp {\n  background-color: #fff0ff;\n  color: #880088;\n}\n\n.hljs-symbol {\n  color: #990073;\n}\n\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n  color: #007700;\n}\n",".atwho-view {\n    position:absolute;\n    top: 0;\n    left: 0;\n    display: none;\n    margin-top: 18px;\n    background: white;\n    color: black;\n    border: 1px solid #DDD;\n    border-radius: 3px;\n    box-shadow: 0 0 5px rgba(0,0,0,0.1);\n    min-width: 120px;\n    z-index: 11110 !important;\n}\n\n.atwho-view .atwho-header {\n    padding: 5px;\n    margin: 5px;\n    cursor: pointer;\n    border-bottom: solid 1px #eaeff1;\n    color: #6f8092;\n    font-size: 11px;\n    font-weight: bold;\n}\n\n.atwho-view .atwho-header .small {\n    color: #6f8092;\n    float: right;\n    padding-top: 2px;\n    margin-right: -5px;\n    font-size: 12px;\n    font-weight: normal;\n}\n\n.atwho-view .atwho-header:hover {\n    cursor: default;\n}\n\n.atwho-view .cur {\n    background: #3366FF;\n    color: white;\n}\n.atwho-view .cur small {\n    color: white;\n}\n.atwho-view strong {\n    color: #3366FF;\n}\n.atwho-view .cur strong {\n    color: white;\n    font:bold;\n}\n.atwho-view ul {\n    /* width: 100px; */\n    list-style:none;\n    padding:0;\n    margin:auto;\n    max-height: 200px;\n    overflow-y: auto;\n}\n.atwho-view ul li {\n    display: block;\n    padding: 5px 10px;\n    border-bottom: 1px solid #DDD;\n    cursor: pointer;\n    /* border-top: 1px solid #C8C8C8; */\n}\n.atwho-view small {\n    font-size: smaller;\n    color: #777;\n    font-weight: normal;\n}\n","//\n// Typography Flavor\n// --------------------------------------------------\n\nabbr {\n  outline: none;\n  text-decoration: none;\n}\n","//\n// Flavor Shadows\n// --------------------------------------------------\n\n.shadow-2dp {\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 1px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n    0 1px 5px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n}\n\n.shadow-3dp {\n  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 3px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n    0 1px 8px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n}\n\n.shadow-4dp {\n  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 1px 10px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 2px 4px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-6dp {\n  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 1px 18px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-8dp {\n  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 3px 14px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 5px 5px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-16dp {\n  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 6px 30px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 8px 10px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n\n.shadow-24dp {\n  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n    0 11px 15px -7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity),\n    0 24px 38px 3px rgba(0, 0, 0, @shadow-key-umbra-opacity);\n}\n","//\n// Buttons Flavor\n// --------------------------------------------------\n\n// mixins\n.misago-btn(@color, @bg, @color-hover, @bg-hover, @color-active, @bg-active) {\n  &,\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    background: @bg;\n    border: 1px solid @bg;\n\n    color: @color;\n\n    .box-shadow(none);\n  }\n\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    .opacity(0.25);\n  }\n\n  &:hover,\n  &:focus {\n    background: @bg-hover;\n    border: 1px solid @bg-hover;\n\n    color: @color-hover;\n\n    .box-shadow(none);\n  }\n\n  &:active:focus,\n  &:active,\n  .dropdown.open .dropdown-toggle &,\n  .dropdown.open .dropdown-toggle &:focus,\n  .dropdown.open .dropdown-toggle &:active:focus,\n  .dropdown.open .dropdown-toggle &:hover {\n    background: @bg-active;\n    border: 1px solid @bg-active;\n\n    color: @color-active;\n\n    .box-shadow(none);\n  }\n\n  &.btn-loading {\n    &,\n    &:disabled,\n    &:disabled:hover,\n    &:hover,\n    &:focus,\n    &:active:focus,\n    &:active {\n      color: transparent;\n    }\n  }\n}\n\n.misago-btn-outline(@color, @bg, @border,\n                    @color-hover, @bg-hover, @border-hover,\n                    @color-active, @bg-active, @border-active) {\n  &,\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    background: @bg;\n    border: 1px solid @border;\n\n    color: @color;\n\n    .box-shadow(none);\n  }\n\n  &:disabled,\n  &:disabled:hover,\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:active {\n    .opacity(0.25);\n  }\n\n  &:hover,\n  &:focus {\n    background: @bg-hover;\n    border: 1px solid @border-hover;\n\n    color: @color-hover;\n\n    .box-shadow(none);\n  }\n\n  &:active:focus,\n  &:active,\n  .dropdown.open &,\n  .dropdown.open &:focus,\n  .dropdown.open &:active:focus,\n  .dropdown.open &:hover {\n    background: @bg-active;\n    border: 1px solid @border-active;\n\n    color: @color-active;\n\n    .box-shadow(none);\n  }\n\n  &.btn-loading {\n    &,\n    &:disabled,\n    &:disabled:hover,\n    &:hover,\n    &:focus,\n    &:active:focus,\n    &:active {\n      background: @bg;\n      border: 1px solid @border;\n\n      color: transparent;\n\n      .box-shadow(none);\n    }\n  }\n}\n\n// button styles\n.btn-default {\n  .misago-btn(\n    @btn-default-color,\n    @btn-default-bg,\n\n    @btn-default-hover-color,\n    @btn-default-hover-bg,\n\n    @btn-default-active-color,\n    @btn-default-active-bg\n  );\n}\n\n.btn-primary {\n  .misago-btn(\n    @btn-primary-color,\n    @btn-primary-bg,\n\n    @btn-primary-hover-color,\n    @btn-primary-hover-bg,\n\n    @btn-primary-active-color,\n    @btn-primary-active-bg\n  );\n}\n\n.btn-success {\n  .misago-btn(\n    @btn-success-color,\n    @btn-success-bg,\n\n    @btn-success-hover-color,\n    @btn-success-hover-bg,\n\n    @btn-success-active-color,\n    @btn-success-active-bg\n  );\n}\n\n.btn-danger {\n  .misago-btn(\n    @btn-danger-color,\n    @btn-danger-bg,\n\n    @btn-danger-hover-color,\n    @btn-danger-hover-bg,\n\n    @btn-danger-active-color,\n    @btn-danger-active-bg\n  );\n}\n\n// outlined button styles\n.btn-default.btn-outline {\n  .misago-btn-outline(\n    @btn-default-outline-color,\n    @btn-default-outline-bg,\n    @btn-default-outline-border,\n\n    @btn-default-outline-hover-color,\n    @btn-default-outline-hover-bg,\n    @btn-default-outline-hover-border,\n\n    @btn-default-outline-active-color,\n    @btn-default-outline-active-bg,\n    @btn-default-outline-active-border\n  );\n}\n\n.btn-primary.btn-outline {\n  .misago-btn-outline(\n    @btn-primary-outline-color,\n    @btn-primary-outline-bg,\n    @btn-primary-outline-border,\n\n    @btn-primary-outline-hover-color,\n    @btn-primary-outline-hover-bg,\n    @btn-primary-outline-hover-border,\n\n    @btn-primary-outline-active-color,\n    @btn-primary-outline-active-bg,\n    @btn-primary-outline-active-border\n  );\n}\n\n// sign in and register buttons in navbar\n.navbar-misago {\n  .btn-sign-in {\n    border-radius: @navbar-btn-sign-in-radius;\n\n    .misago-btn-outline(\n      @navbar-btn-sign-in-color,\n      @navbar-btn-sign-in-bg,\n      @navbar-btn-sign-in-border,\n\n      @navbar-btn-sign-in-hover-color,\n      @navbar-btn-sign-in-hover-bg,\n      @navbar-btn-sign-in-hover-border,\n\n      @navbar-btn-sign-in-active-color,\n      @navbar-btn-sign-in-active-bg,\n      @navbar-btn-sign-in-active-border\n    );\n  }\n\n  .btn-register {\n    border-radius: @navbar-btn-register-radius;\n\n    .misago-btn-outline(\n      @navbar-btn-register-color,\n      @navbar-btn-register-bg,\n      @navbar-btn-register-border,\n\n      @navbar-btn-register-hover-color,\n      @navbar-btn-register-hover-bg,\n      @navbar-btn-register-hover-border,\n\n      @navbar-btn-register-active-color,\n      @navbar-btn-register-active-bg,\n      @navbar-btn-register-active-border\n    );\n  }\n}\n","//\n// Social Buttons Flavor\n// --------------------------------------------------\n\n// Those buttons simply add brand color over the .btn-default\n.misago-social-btn(@color) {\n  &,\n  &:disabled,\n  &:disabled:hover {\n    color: @color;\n    font-weight: bold;\n  }\n}\n\n.btn-social-battlenet,\n.btn-social-battlenet-oauth2 {\n  .misago-social-btn(#0e86ca);\n}\n\n.btn-social-bungie {\n  .misago-social-btn(#0096db);\n}\n\n.btn-social-facebook,\n.btn-social-facebook-app {\n  .misago-social-btn(#3b5998);\n}\n\n.btn-social-github,\n.btn-social-github-team,\n.btn-social-github-enterprise,\n.btn-social-github-enterprise-org,\n.btn-social-github-enterprise-team {\n  .misago-social-btn(#000000);\n}\n\n.btn-social-gitlab {\n  .misago-social-btn(#fc6d26);\n}\n\n.btn-social-google,\n.btn-social-google-oauth,\n.btn-social-google-oauth2,\n.btn-social-google-plus,\n.btn-social-google-openidconnect {\n  .misago-social-btn(#dd4b39);\n}\n\n.btn-social-linkedin {\n  .misago-social-btn(#0077b5);\n}\n\n.btn-social-steam {\n  .misago-social-btn(#5c7e10);\n}\n\n.btn-social-twitter {\n  .misago-social-btn(#1da1f2);\n}\n\n.form-social-auth {\n  .row {\n    margin-top: @padding-base-vertical * -1;\n    margin-bottom: @padding-base-vertical * -1;\n  }\n\n  .btn {\n    margin: @padding-base-vertical 0px;\n  }\n}\n","//\n// Inputs Flavor\n// --------------------------------------------------\n\n// default input\ninput.form-control,\ntextarea.form-control {\n  border-color: @input-border;\n  box-shadow: inset 0px 0px 0px 1px @input-border;\n\n  &:focus {\n    border-color: @input-border-focus;\n    box-shadow: inset 0px 0px 0px 1px @input-border-focus;\n  }\n}\n\n.has-error input.form-control {\n  border-color: @state-danger-border;\n  box-shadow: inset 0px 0px 0px 1px @state-danger-border;\n\n  &:focus {\n    border-color: lighten(@state-danger-border, 20%);\n    box-shadow: inset 0px 0px 0px 1px lighten(@state-danger-border, 20%);\n  }\n}\n\n.has-success input.form-control {\n  border-color: @state-success-border;\n  box-shadow: inset 0px 0px 0px 1px @state-success-border;\n\n  &:focus {\n    border-color: lighten(@state-success-border, 20%);\n    box-shadow: inset 0px 0px 0px 1px lighten(@state-success-border, 20%);\n  }\n}\n\n// password strenght marker\n.password-strength {\n  margin-top: @line-height-computed / 2;\n\n  .text-small {\n    margin-top: @line-height-computed / 5;\n\n    color: lighten(@text-color, 25%);\n    font-size: @font-size-small;\n  }\n\n  .progress {\n    margin: 0px;\n  }\n}\n","//\n// Flavor Auth Message\n// --------------------------------------------------\n\n.auth-message {\n  background: @auth-message-bg;\n  padding: @line-height-computed * 4 0px;\n\n  .shadow-8dp();\n\n  p {\n    color: @auth-message-text-color;\n  }\n\n  .btn {\n    & {\n      background: @auth-message-btn-default-bg;\n      border-color: @auth-message-btn-default-border;\n\n      color: @auth-message-btn-default-color;\n    }\n\n    &:hover,\n    &:focus {\n      background: @auth-message-btn-default-hover-bg;\n      border-color: @auth-message-btn-default-hover-border;\n\n      color: @auth-message-btn-default-hover-color;\n    }\n\n    &:active {\n      background: @auth-message-btn-default-active-bg;\n      border-color: @auth-message-btn-default-active-border;\n\n      color: @auth-message-btn-default-active-color;\n    }\n  }\n}\n","//\n// Dropdown Flavor\n// --------------------------------------------------\n\n.dropdown-menu {\n  border: none;\n\n  .shadow-4dp();\n}\n\n// Navbar dropdown\n.user-dropdown .dropdown-header {\n  strong {\n    display: block;\n\n    color: @text-color;\n    font-weight: bold;\n  }\n\n  .user-stats {\n    margin-top: @line-height-computed / 2;\n\n    font-size: @font-size-small;\n\n    .material-icon {\n      margin-right: 3px;\n\n      position: relative;\n      bottom: 1px;\n\n      width: 14px;\n      height: 14px;\n\n      font-size: 14px;\n    }\n  }\n}\n\n.user-dropdown .guest-preview {\n  padding-bottom: @padding-large-vertical;\n}\n\n.user-dropdown .badge {\n  background-color: @brand-danger;\n}\n\n.user-dropdown {\n  a:hover,\n  a:focus,\n  a:active,\n  .btn-link:hover,\n  .btn-link:focus,\n  .btn-link:active {\n    .badge {\n      background-color: #fff;\n\n      color: @brand-danger;\n    }\n  }\n}\n\n// Mobile dropdown\n.mobile-dropdown.open {\n  margin: 0px;\n}\n","//\n// Flavor Navbar\n// --------------------------------------------------\n\n.navbar-misago {\n  border-bottom: none;\n  box-shadow: 0px 0px 3px @navbar-default-border;\n}\n\n// Round up user's avatar\n.navbar-misago .user-avatar {\n  background: #fff;\n  border-radius: @border-radius-small;\n}\n\n// Round up brand's icon\n.navbar-misago .brand-link img {\n  border-radius: @border-radius-small;\n}\n","//\n// Search Dropdown\n// --------------------------------------------------\n\n.dropdown-search-results {\n  border-radius: 0px 0px @border-radius-base @border-radius-base;\n}\n\n.dropdown-search-message {\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-large-vertical @padding-large-horizontal;\n\n  color: @text-muted;\n}\n\n.dropdown-search-loader {\n  border-top: 1px solid @gray-lighter;\n  padding: @padding-large-vertical @padding-large-horizontal;\n}\n\n.dropdown-search-header {\n  border-top: 1px solid @gray-lighter;\n  padding: 8px 20px;\n\n  color: @text-muted;\n  font-weight: bold;\n}\n\n// result\n.dropdown-search-thread,\n.dropdown-search-user {\n  small {\n    color: @text-muted;\n  }\n}\n\n.dropdown-search-thread {\n  .dropdown-search-post-content {\n    overflow: hidden;\n    white-space: normal;\n    max-height: 47px;\n  }\n\n  .dropdown-search-post-footer {\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n}\n\n// footer\n.dropdown-search-footer {\n  padding-bottom: @padding-small-vertical;\n\n  &:last-child {\n    padding-bottom: 0px;\n  }\n}\n\n.dropdown-menu > li.dropdown-search-footer > a {\n  font-size: small;\n}\n","//\n// Flavor Footer\n// --------------------------------------------------\n\n// Make footer full width\n.misago-footer {\n  margin-top: @line-height-computed * 2;\n\n  .footer-content {\n    border-top: 1px solid @gray-lighter;\n    padding-top: @line-height-computed * 1;\n\n    color: @page-footer-text-color;\n\n    @media screen and (max-width: @screen-xs-max) {\n      text-align: center;\n\n      .site-footnote {\n        clear: both;\n        margin-bottom: @line-height-computed * 0.75;\n      }\n    }\n\n    a,\n    a:link,\n    a:visited {\n      color: @page-footer-link-color;\n    }\n\n    a:hover,\n    a:focus {\n      color: @page-footer-link-hover-color;\n    }\n\n    .misago-branding {\n      &,\n      &:link,\n      &:visited {\n        color: @page-footer-brand-color;\n      }\n\n      &:hover,\n      &:focus {\n        color: @page-footer-brand-hover-color;\n      }\n    }\n  }\n}\n","//\n// List Groups Flavor\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @list-group-border-radius;\n\n  .list-group-item {\n    border-left-color: @list-group-outer-border;\n    border-right-color: @list-group-outer-border;\n  }\n\n  .list-group-item:first-child {\n    border-top-color: @list-group-outer-border;\n  }\n\n  .list-group-item:last-child {\n    border-bottom-color: @list-group-outer-border;\n  }\n}\n\n.list-group-item.empty-message {\n  padding-top: @line-height-computed;\n  padding-bottom: @line-height-computed;\n\n  text-align: center;\n\n  p {\n    margin: @line-height-computed / 2 0px;\n  }\n}\n","//\n// Navs Flavor\n// --------------------------------------------------\n\n.nav-side {\n  .box-shadow(none);\n}\n\n.nav-side > .list-group-item {\n  border-left: none;\n  border-right: none;\n  margin-bottom: 1px;\n\n  &:first-child {\n    border-top: none;\n  }\n\n  &:last-child {\n    border-bottom: none;\n  }\n\n  &,\n  &:link,\n  &:visited {\n    background: @side-nav-bg;\n    border: none;\n\n    color: @side-nav-color;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    background: @side-nav-hover-bg;\n\n    color: @side-nav-hover-color;\n  }\n\n  &.active {\n    &,\n    &:link,\n    &:visited,\n    &:hover,\n    &:focus,\n    &:active {\n      background: @side-nav-active-bg;\n\n      color: @side-nav-active-color;\n      font-weight: bold;\n\n      .badge {\n        background: @side-nav-bg;\n\n        color: @side-nav-color;\n      }\n    }\n  }\n}\n","//\n// Username History Flavor\n// --------------------------------------------------\n\n.username-history .user-avatar {\n  border-radius: @border-radius-base;\n}\n","//\n// Panels Flavor\n// --------------------------------------------------\n\n.panel {\n  border: none;\n  border-radius: @border-radius-base;\n\n  .panel-heading,\n  .panel-footer {\n    background: @panel-bg;\n  }\n\n  .panel-title {\n    color: @panel-title-color;\n  }\n\n  .form-group + .form-group {\n    margin-top: @line-height-computed;\n  }\n\n  .panel-body > .form-group:first-child {\n    margin-top: @line-height-computed / 2;\n  }\n\n  fieldset {\n    margin-top: @line-height-computed;\n\n    &:first-child {\n      margin-top: 0px;\n    }\n\n    legend {\n      border: none;\n\n      color: @panel-fieldset-color;\n      font-weight: 300;\n    }\n  }\n}\n\n// use default message icon color for panel messages\n.panel-message-body .message-icon {\n  color: @message-icon-color;\n}\n","//\n// Forms Flavor\n// --------------------------------------------------\n\n.panel-form {\n  border: 1px solid @panel-form-border;\n  box-shadow: none;\n}\n\n.panel-form .panel-heading,\n.panel-form .panel-footer {\n  border-color: @panel-form-border;\n}\n\n// remove bottom margin from poll panel\n.poll-form .panel {\n  margin: 0px;\n}\n\n// Override help text color\n.help-block,\n.help-block .text-small {\n  color: @gray-light;\n}\n","//\n// Categories Lists Flavor\n// --------------------------------------------------\n\n// Make category read status icon visually larger\n.category-main .media-left {\n  .read-status {\n    background: @category-read-color;\n    border-radius: @border-radius-base;\n    padding: @padding-small-vertical (@padding-large-vertical - 2px);\n  }\n\n  .material-icon {\n    height: 14px;\n    width: 14px;\n\n    color: @gray;\n    font-size: 14px;\n    line-height: 14px;\n  }\n\n  .read-status.item-new {\n    background-color: @category-new-color;\n\n    .material-icon {\n      color: #fff;\n    }\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding: @padding-small-vertical 0px;\n  }\n}\n\n// Fix category main alignment\n.category-main .media-body {\n  padding-left: @padding-base-horizontal;\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-left: @padding-small-horizontal / 3;\n  }\n}\n\n.list-group-category-no-description {\n  .category-main .media-heading {\n    margin-top: @padding-large-vertical;\n\n    @media screen and (max-width: @screen-xs-max) {\n      margin-top: @padding-large-vertical / 2;\n    }\n  }\n}\n\n// Make category name larger\n.category-main .media-heading {\n  a,\n  a:link,\n  a:visited {\n    color: @gray-dark;\n  }\n\n  a:focus,\n  a:hover,\n  a:active {\n    color: @text-color;\n  }\n}\n\n// Fade out stats\n.category-stats {\n  color: @gray;\n}\n\n// Fade out category description\n.category-main .category-description p {\n  font-size: @font-size-small;\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Round last poster's up avatar\n.category-last-thread img {\n  background-color: #fff;\n  border-radius: @border-radius-base;\n}\n\n// Last thread\n.category-last-thread .media-heading {\n  margin-bottom: 2px;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @line-height-computed / 2;\n  }\n}\n\n.category-last-thread .list-inline {\n  color: @gray-light;\n  font-size: @font-size-small;\n\n  a,\n  a:link,\n  a:visited {\n    color: @gray-light;\n  }\n\n  a:hover,\n  a:active,\n  a:focus {\n    color: @gray-dark;\n  }\n\n  .item-title {\n    &,\n    &:link,\n    &:visited {\n      color: @gray-dark;\n    }\n\n    &:hover,\n    &:active,\n    &:focus {\n      color: @text-color;\n    }\n  }\n}\n\n// Last thread message\n.category-thread-message {\n  color: @gray-light;\n\n  .material-icon {\n    padding: @padding-base-vertical 0px;\n    margin-right: @padding-base-vertical / 2;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    padding-top: @line-height-computed * 0.75;\n\n    font-size: @font-size-small;\n\n    .material-icon {\n      padding: 3px 0px;\n    }\n  }\n}\n","//\n// Thread Participants Flavor\n// --------------------------------------------------\n\n.panel-participants {\n  border: 1px solid @panel-form-border;\n}\n\n.participant-card .btn-user {\n  border: 0px !important;\n}\n\n.participant-card .dropdown-header-owner {\n  color: @brand-primary;\n\n  .material-icon {\n    width: 14px;\n    height: 14px;\n\n    font-size: 14px;\n    line-height: 14px;\n  }\n\n  .icon-text {\n    margin-left: 4px;\n\n    position: relative;\n    top: 2px;\n  }\n}\n\n.panel-participants p {\n  color: @gray-light;\n\n  @media screen and (max-width: @screen-xs-max) {\n    margin-top: @line-height-computed / 2;\n\n    text-align: center;\n  }\n}\n","//\n// Polls Flavor\n// --------------------------------------------------\n\n.panel-poll {\n  border: 1px solid @panel-form-border;\n}\n\n// Poll vote form\n.panel-poll .poll-select-choices {\n  margin-top: @line-height-computed / -2;\n}\n\n// Poll results styles\n.panel-poll .poll-details {\n  margin-bottom: @line-height-computed;\n\n  color: @gray-light;\n  font-size: @font-size-small;\n}\n\n.panel-poll .progress {\n  margin-top: @line-height-computed / 3;\n  margin-bottom: @line-height-computed / 4;\n}\n\n.panel-poll .poll-chart {\n  color: @gray-light;\n  font-size: @font-size-small;\n}\n\n.panel-poll .poll-options {\n  margin-top: @line-height-computed;\n}\n","//\n// Posting Form Flavor\n// --------------------------------------------------\n\n#posting-placeholder {\n  background-color: #fafbfc;\n}\n\n.posting-message {\n  .material-icon {\n    color: @message-info-icon-color;\n  }\n\n  .btn {\n    margin-top: @line-height-computed;\n  }\n}\n","//\n// Posts Flavor\n// --------------------------------------------------\n\n// Post body\n.panel-post {\n  background: @post-bg;\n  border: 1px solid @post-border;\n}\n\n// Post side\n.post-side {\n  color: @gray-light;\n\n  .poster-avatar {\n    border-radius: @border-radius-base;\n  }\n\n  .user-title {\n    color: @gray;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @gray;\n    }\n  }\n}\n\n// Header\n.post-heading {\n  .label-unread {\n    background-color: @post-unread-label;\n    margin-right: @padding-large-horizontal;\n  }\n\n  .label-protected {\n    background-color: transparent;\n    margin-left: @padding-base-horizontal * 2;\n\n    position: relative;\n    top: 1px;\n\n    color: @post-protected-icon;\n\n    .material-icon {\n      margin-right: 2px;\n\n      position: relative;\n      top: -1px;\n\n      font-size: 16px;\n      line-height: 16px;\n    }\n  }\n\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n\n    &,\n    &:link,\n    &:visited {\n      color: @gray-light;\n    }\n\n    &:hover,\n    &:focus,\n    &:focus:active,\n    &:active {\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n\n  .btn-see-edits {\n    margin-left: @padding-base-horizontal * 2;\n  }\n}\n\n// Status\n.post-status-message {\n  border-radius: @border-radius-base;\n  margin-top: @line-height-computed / 2;\n  padding: @padding-base-vertical @padding-base-horizontal;\n\n  @media screen and (max-width: @screen-xs-max) {\n    font-size: @font-size-small;\n\n    .material-icon {\n      margin-top: 3px;\n    }\n\n    p {\n      margin-top: 0px;\n    }\n  }\n}\n\n// Post body\n.post-body:last-child {\n  padding-bottom: @line-height-computed / 2;\n}\n\n// Attachments\n.post-attachments {\n  background-color: @gray-lighter;\n  border: none;\n  border-radius: @border-radius-base;\n  margin-bottom: @line-height-computed * 1.5;\n\n  &:last-child {\n    margin-bottom: @line-height-computed / 2;\n  }\n\n  @media screen and (max-width: @screen-xs-max) {\n    border-radius: 0px;\n    margin: 0px -15px;\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Footer\n.post-footer {\n  & > .btn-link {\n    padding-left: 0px;\n    padding-right: 0px;\n\n    &,\n    &:link,\n    &:visited {\n      color: @gray-light;\n    }\n\n    &:hover,\n    &:focus,\n    &:focus:active,\n    &:active {\n      color: @text-color;\n      text-decoration: none;\n    }\n  }\n\n  p {\n    color: @gray-light;\n    font-size: @font-size-small;\n  }\n}\n\n// Hidden and invalid messages\n.post-body-hidden,\n.post-body-invalid {\n  padding-top: @line-height-computed / 2;\n  padding-bottom: @line-height-computed / 2;\n\n  .lead {\n    margin-bottom: @line-height-computed / 2;\n  }\n\n  .text-muted {\n    margin-bottom: 0px;\n\n    font-size: @font-size-small;\n  }\n}\n\n// Fade out hidden posts a little\n.post-hidden {\n  .opacity(0.75);\n}\n","//\n// Post Feed Flavor\n// --------------------------------------------------\n\n.post-feed .panel-body {\n  padding-bottom: 0px;\n}\n\n.post-feed .post-body {\n  position: relative;\n  padding-top: 0px;\n  padding-bottom: @line-height-computed;\n  max-height: 300px;\n  overflow-y: hidden;\n\n  &:after {\n    box-shadow: 0px 0px 16px 16px #ffffff;\n    display: block;\n\n    position: absolute;\n    bottom: 0px;\n\n    height: 0px;\n    width: 100%;\n\n    content: \"-\";\n    color: transparent;\n  }\n}\n","//\n// Events Flavor\n// --------------------------------------------------\n\n// Style label\n.posts-list .event .event-label {\n  margin-bottom: @line-height-computed / 4;\n}\n\n.posts-list .event .label-unread {\n  background-color: @post-unread-label;\n\n  color: #fff;\n}\n\n// Style info text\n.posts-list .event-info {\n  a,\n  a:link,\n  a:visited,\n  .btn-link {\n    color: @gray;\n  }\n\n  a:focus,\n  a:active,\n  a:focus:active,\n  .btn-link:focus,\n  .btn-link:active,\n  .btn-link:focus:active {\n    color: @text-color;\n  }\n}\n\n// Fade out hidden event\n.posts-list .event-hidden {\n  .opacity(0.33);\n}\n","//\n// User Card Flavor\n// --------------------------------------------------\n\n// Background color\n.user-card {\n  background: @user-card-bg;\n}\n\n// Round avatar corners\n.user-card-small-avatar,\n.user-card-avatar {\n  img {\n    border-radius: @border-radius-base;\n  }\n}\n\n// Sizing and spacing on large avatar\n.user-card-avatar {\n  margin: @line-height-computed 0px;\n\n  img {\n    width: 150px;\n    height: 150px;\n  }\n}\n\n// Upsize the user name\n.user-card-username {\n  a,\n  a:link,\n  a:visited,\n  a:hover,\n  a:focus,\n  a:active {\n    color: @text-color;\n    font-size: @font-size-large;\n    font-weight: bold;\n  }\n}\n\n// User title\n.user-card-title {\n  span,\n  a,\n  a:link,\n  a:visited {\n    color: @gray;\n  }\n\n  a:focus,\n  a:hover,\n  a:active {\n    color: @text-color;\n  }\n}\n\n// User stats\n.user-card-stats {\n  @media screen and (min-width: @screen-sm-min) {\n    margin-top: @line-height-computed;\n  }\n\n  ul {\n    margin: 0px;\n  }\n\n  li {\n    display: inline-block;\n    margin-right: @padding-base-horizontal;\n\n    color: @gray-light;\n    font-size: @font-size-small;\n\n    @media screen and (min-width: @screen-sm-min) {\n      margin: 0px @padding-base-horizontal / 2;\n    }\n  }\n\n  li.user-stat-empty {\n    display: none;\n  }\n}\n\n// Divide stats in two on larger screen\n@media screen and (min-width: @screen-sm-min) {\n  li.user-stat-divider {\n    display: block;\n    margin: 0px;\n  }\n}\n\n@media screen and (max-width: @screen-xs-max) {\n  li.user-stat-divider {\n    display: none;\n  }\n}\n\n// Make stats 60px min height on tablets and up\n@media screen and (min-width: @screen-sm-min) {\n  .user-card-stats {\n    min-height: 60px;\n  }\n}\n\n// Reduce gutter on small grid\n@media screen and (max-width: @screen-xs-max) {\n  .user-card-left {\n    padding-right: 0px;\n  }\n}\n","//\n// Progress Bars Flavor\n// --------------------------------------------------\n\n// Make progress bars flat\n.progress,\n.progress .progress-bar {\n  .box-shadow(none);\n\n  height: 8px;\n}\n","//\n// Markup Flavor\n// --------------------------------------------------\n\n// Round images\n.misago-markup img {\n  border-radius: @border-radius-base;\n}\n\n// Quote block\n.misago-markup .quote-block,\n.misago-markup blockquote {\n  background-color: #ffecb3;\n  border-color: #b3e5fc;\n  overflow: hidden;\n\n  color: #3e2723;\n\n  .quote-heading {\n    background-color: #ffe082;\n    border: none;\n\n    color: #795548;\n\n    a,\n    a:link,\n    a:visited {\n      color: #5d4037;\n    }\n\n    a:hover,\n    a:focus,\n    a:active {\n      color: #3e2723;\n    }\n  }\n\n  hr {\n    border-color: #ffca28;\n  }\n}\n\n.misago-markup > .quote-block,\n.misago-markup > blockquote {\n  background: #ffecb3;\n  border: none;\n  border-radius: @border-radius-base;\n\n  .quote-block {\n    background: #ffecb3;\n  }\n}\n\n.misago-markup .quote-body {\n  background: #ffecb3;\n\n  & > .quote-block,\n  & > blockquote {\n    border-color: #ffe082;\n    border-radius: @border-radius-base;\n  }\n}\n\n// Spoiler block\n.misago-markup .spoiler-block {\n  background: repeating-linear-gradient(\n    45deg,\n    fadeout(@gray-lighter, 50%),\n    fadeout(@gray-lighter, 50%) 10px,\n    @post-bg 10px,\n    @post-bg 20px\n  );\n  border: none;\n}\n\n.misago-markup .spoiler-body {\n  background: transparent;\n  -webkit-filter: blur(5px);\n  -moz-filter: blur(5px);\n  -o-filter: blur(5px);\n  -ms-filter: blur(5px);\n  filter: blur(5px);\n  color: @text-color;\n}\n\n.misago-markup .spoiler-block.revealed .spoiler-body {\n  -webkit-filter: none;\n  -moz-filter: none;\n  -o-filter: none;\n  -ms-filter: none;\n  filter: none;\n}\n\n.misago-markup .spoiler-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: fadeout(@post-bg, 90%);\n}\n\n.misago-markup .spoiler-reveal {\n  .btn-default();\n}\n\n.misago-markup .spoiler-reveal,\n.misago-markup .spoiler-reveal:active,\n.misago-markup .spoiler-reveal:hover {\n  border-radius: 4px;\n  box-shadow: 0px 0px 0px 4px @post-bg;\n  padding: @padding-base-vertical @padding-base-horizontal;\n}\n","//\n// Modal Flavor\n// --------------------------------------------------\n\n// Custom header styles\n.modal-header {\n  background: @modal-header-bg;\n  border-bottom-color: @modal-header-border-color;\n  border-radius: @border-radius-large @border-radius-large 0px 0px;\n\n  color: @modal-header-color;\n\n  .close {\n    padding: 0px 6px;\n\n    color: @modal-header-color;\n    font-size: 24px;\n    line-height: 24px;\n    text-shadow: none;\n  }\n}\n\n// Color message icon\n.modal-message .message-icon {\n  color: @message-icon-color;\n}\n\n// Even out space between form fields\n.modal-body > .form-group {\n  margin: @line-height-computed 0px;\n\n  &:first-child {\n    margin-top: 0px;\n  }\n\n  &:last-child {\n    margin-bottom: 0px;\n  }\n}\n\n// Sign in modal\n.modal-sign-in {\n  .modal-body {\n    padding-top: 0px;\n    padding-bottom: 0px;\n\n    & > .form-group {\n      margin: @line-height-computed 0px;\n    }\n  }\n}\n\n// Register modal\n.legal-footnote {\n  label {\n    font-weight: bold;\n  }\n\n  .help-block {\n    margin-left: 20px;\n\n    color: @brand-danger;\n  }\n}\n\n// Avatar crop\n.modal-avatar-index {\n  .avatar-preview {\n    background: #fff;\n    border-radius: @border-radius-large;\n  }\n}\n\n.modal-avatar-crop {\n  .cropit-preview {\n    background: #fff;\n    margin: @line-height-computed 0px;\n  }\n\n  .cropit-image-zoom-input {\n    margin-top: @line-height-computed * 2;\n    margin-bottom: @line-height-computed;\n  }\n}\n\n// Post likes\n.modal-post-likers {\n  .media {\n    border-bottom: 1px solid @gray-lighter;\n    padding-bottom: 15px; // hardcoded in BS less\n\n    img {\n      border-radius: @border-radius-base;\n\n      width: 40px;\n      height: 40px;\n    }\n\n    &:last-child {\n      border: none;\n      padding-bottom: 0px;\n    }\n  }\n}\n","//\n// Well Flavor\n// --------------------------------------------------\n\n.well {\n  border: 1px solid @well-border;\n}\n","//\n// Active Posters Flavor\n// --------------------------------------------------\n\n.active-posters .rank-user-avatar img {\n  border-radius: @border-radius-base;\n}\n\n.active-posters .user-details {\n  color: @gray-light;\n\n  a.rank-name {\n    &,\n    &:link,\n    &:visited {\n      color: @gray;\n      font-weight: normal;\n    }\n\n    &:focus,\n    &:hover,\n    &:active {\n      color: @text-color;\n    }\n  }\n\n  span.rank-name {\n    color: @gray;\n    font-weight: normal;\n  }\n}\n\n.active-posters small {\n  color: @gray-light;\n}\n","//\n// Message Pages Flavor\n// --------------------------------------------------\n\n.page-error .message-icon {\n  color: @error-icon-color;\n}\n\n.page-message .message-icon {\n  color: @message-icon-color;\n}\n\n.page-message-info .message-icon {\n  color: @message-info-icon-color;\n}\n\n.page-message-success .message-icon {\n  color: @message-success-icon-color;\n}\n","//\n// User Options Flavor\n// --------------------------------------------------\n\n.page-options .message-line {\n  color: @gray-light;\n\n  a,\n  a:link,\n  a:visited {\n    color: @gray-light;\n  }\n\n  a:hover,\n  a:focus,\n  a:focus:active,\n  a:active {\n    color: @text-color;\n  }\n}\n","//\n// Profile Details\n// --------------------------------------------------\n\n.panel-profile-details-group.panel {\n  border: 1px solid @panel-form-border;\n}\n\n.panel-profile-details-group.panel .form-group {\n  margin: 0px;\n}\n\n.panel-profile-details-group .form-control-static {\n  p:last-child {\n    margin-bottom: 0px;\n  }\n}\n","//\n// Default flavors for user ranks\n// --------------------------------------------------\n\n.post-rank-flavor(@border, @title) {\n  .panel-post {\n    border-color: @border;\n  }\n\n  .user-title {\n    color: @title;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @title;\n    }\n  }\n}\n\n.card-rank-flavor(@border, @title, @color) {\n  .panel-body {\n    background: @body-bg;\n    border: 2px solid @border;\n    border-radius: @panel-border-radius;\n    padding: @panel-body-padding - 2px;\n  }\n\n  .user-card-title {\n    color: @title;\n\n    a.user-title {\n      &,\n      &:link,\n      &:visited,\n      &:focus,\n      &:hover,\n      &:active {\n        color: @title;\n      }\n    }\n  }\n\n  .user-card-stats li {\n    color: @color;\n  }\n}\n\n.list-group-rank-flavor(@border, @title) {\n  border-left: 4px solid @border;\n  padding-left: 11px;\n\n  span.rank-name {\n    color: @title;\n  }\n\n  a.rank-name {\n    &,\n    &:link,\n    &:visited,\n    &:focus,\n    &:hover,\n    &:active {\n      color: @title;\n    }\n  }\n}\n\n.user-profile-rank-flavor(@color) {\n  .user-rank {\n    color: @color;\n\n    a,\n    a:link,\n    a:visited,\n    a:focus,\n    a:hover,\n    a:active {\n      color: @color;\n    }\n  }\n}\n\n// Posts\n.post-primary {\n  .post-rank-flavor(#b388ff, #6200ea);\n}\n\n.post-success {\n  .post-rank-flavor(#00c853, #388e3c);\n}\n\n.post-warning {\n  .post-rank-flavor(#ffab40, #ff6d00);\n}\n\n.post-danger {\n  .post-rank-flavor(#ff8a80, #d50000);\n}\n\n// Cards\n.user-card-primary {\n  .card-rank-flavor(#b388ff, #6200ea, #9575cd);\n}\n\n.user-card-success {\n  .card-rank-flavor(#00c853, #388e3c, #66bb6a);\n}\n\n.user-card-warning {\n  .card-rank-flavor(#ffab40, #ff6d00, #ff6e40);\n}\n\n.user-card-danger {\n  .card-rank-flavor(#ff8a80, #d50000, #e57373);\n}\n\n// Posters ranking\n.list-group {\n  .list-group-rank-primary {\n    .list-group-rank-flavor(#7e57c2, #6200ea);\n  }\n\n  .list-group-rank-success {\n    .list-group-rank-flavor(#9ccc65, #388e3c);\n  }\n\n  .list-group-rank-warning {\n    .list-group-rank-flavor(#ff7043, #ff6d00);\n  }\n\n  .list-group-rank-danger {\n    .list-group-rank-flavor(#f44336, #d50000);\n  }\n}\n\n// User profiles\n.page-header-rank-primary {\n  .user-profile-rank-flavor(#6200ea);\n}\n\n.page-header-rank-success {\n  .user-profile-rank-flavor(#388e3c);\n}\n\n.page-header-rank-warning {\n  .user-profile-rank-flavor(#ff6d00);\n}\n\n.page-header-rank-danger {\n  .user-profile-rank-flavor(#d50000);\n}\n"],"names":[],"sourceRoot":""}

+ 1 - 1
misago/static/misago/js/misago.js

@@ -1,3 +1,3 @@
 /*! For license information please see misago.js.LICENSE.txt */
-!function(){var e,t={54116:function(e,t){var n,a;(a="object"==typeof window&&window||"object"==typeof self&&self)&&(a.hljs=function(e){function t(e){return e.replace(/[&<>]/gm,(function(e){return x[e]}))}function n(e){return e.nodeName.toLowerCase()}function a(e,t){var n=e&&e.exec(t);return n&&0===n.index}function s(e){return b.test(e)}function i(e,t){var n,a={};for(n in e)a[n]=e[n];if(t)for(n in t)a[n]=t[n];return a}function o(e){var t=[];return function e(a,s){for(var i=a.firstChild;i;i=i.nextSibling)3===i.nodeType?s+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:s,node:i}),s=e(i,s),n(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:s,node:i}));return s}(e,0),t}function r(e,a,s){function i(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset<a[0].offset?e:a:"start"===a[0].event?e:a:e.length?e:a}function o(e){u+="<"+n(e)+v.map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+t(e.value)+'"'})).join("")+">"}function r(e){u+="</"+n(e)+">"}function l(e){("start"===e.event?o:r)(e.node)}for(var c=0,u="",d=[];e.length||a.length;){var p=i();if(u+=t(s.substring(c,p[0].offset)),c=p[0].offset,p===e){d.reverse().forEach(r);do{l(p.splice(0,1)[0]),p=i()}while(p===e&&p.length&&p[0].offset===c);d.reverse().forEach(o)}else"start"===p[0].event?d.push(p[0].node):d.pop(),l(p.splice(0,1)[0])}return u+t(s.substr(c))}function l(e){function t(e){return e&&e.source||e}function n(n,a){return new RegExp(t(n),"m"+(e.cI?"i":"")+(a?"g":""))}!function a(s,o){if(!s.compiled){if(s.compiled=!0,s.k=s.k||s.bK,s.k){var r={},l=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach((function(e){var n=e.split("|");r[n[0]]=[t,n[1]?Number(n[1]):1]}))};"string"==typeof s.k?l("keyword",s.k):m(s.k).forEach((function(e){l(e,s.k[e])})),s.k=r}s.lR=n(s.l||/\w+/,!0),o&&(s.bK&&(s.b="\\b("+s.bK.split(" ").join("|")+")\\b"),s.b||(s.b=/\B|\b/),s.bR=n(s.b),s.e||s.eW||(s.e=/\B|\b/),s.e&&(s.eR=n(s.e)),s.tE=t(s.e)||"",s.eW&&o.tE&&(s.tE+=(s.e?"|":"")+o.tE)),s.i&&(s.iR=n(s.i)),null==s.r&&(s.r=1),s.c||(s.c=[]);var c=[];s.c.forEach((function(e){e.v?e.v.forEach((function(t){c.push(i(e,t))})):c.push("self"===e?s:e)})),s.c=c,s.c.forEach((function(e){a(e,s)})),s.starts&&a(s.starts,o);var u=s.c.map((function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b})).concat([s.tE,s.i]).map(t).filter(Boolean);s.t=u.length?n(u.join("|"),!0):{exec:function(){return null}}}}(e)}function c(e,n,s,i){function o(e,t){var n,s;for(n=0,s=t.c.length;s>n;n++)if(a(t.c[n].bR,e))return t.c[n]}function r(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?r(e.parent,t):void 0}function d(e,t){return!s&&a(t.iR,e)}function p(e,t){var n=b.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(n)&&e.k[n]}function h(e,t,n,a){var s='<span class="'+(a?"":k.classPrefix);return(s+=e+'">')+t+(n?"":N)}function v(){w+=null!=_.sL?function(){var e="string"==typeof _.sL;if(e&&!Z[_.sL])return t(R);var n=e?c(_.sL,R,!0,x[_.sL]):u(R,_.sL.length?_.sL:void 0);return _.r>0&&(C+=n.r),e&&(x[_.sL]=n.top),h(n.language,n.value,!1,!0)}():function(){var e,n,a,s;if(!_.k)return t(R);for(s="",n=0,_.lR.lastIndex=0,a=_.lR.exec(R);a;)s+=t(R.substring(n,a.index)),(e=p(_,a))?(C+=e[1],s+=h(e[0],t(a[0]))):s+=t(a[0]),n=_.lR.lastIndex,a=_.lR.exec(R);return s+t(R.substr(n))}(),R=""}function m(e){w+=e.cN?h(e.cN,"",!0):"",_=Object.create(e,{parent:{value:_}})}function g(e,t){if(R+=e,null==t)return v(),0;var n=o(t,_);if(n)return n.skip?R+=t:(n.eB&&(R+=t),v(),n.rB||n.eB||(R=t)),m(n),n.rB?0:t.length;var a=r(_,t);if(a){var s=_;s.skip?R+=t:(s.rE||s.eE||(R+=t),v(),s.eE&&(R=t));do{_.cN&&(w+=N),_.skip||(C+=_.r),_=_.parent}while(_!==a.parent);return a.starts&&m(a.starts),s.rE?0:t.length}if(d(t,_))throw new Error('Illegal lexeme "'+t+'" for mode "'+(_.cN||"<unnamed>")+'"');return R+=t,t.length||1}var b=f(e);if(!b)throw new Error('Unknown language: "'+e+'"');l(b);var y,_=i||b,x={},w="";for(y=_;y!==b;y=y.parent)y.cN&&(w=h(y.cN,"",!0)+w);var R="",C=0;try{for(var E,S,L=0;_.t.lastIndex=L,E=_.t.exec(n);)S=g(n.substring(L,E.index),E[0]),L=E.index+S;for(g(n.substr(L)),y=_;y.parent;y=y.parent)y.cN&&(w+=N);return{r:C,value:w,language:e,top:_}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:t(n)};throw e}}function u(e,n){n=n||k.languages||m(Z);var a={r:0,value:t(e)},s=a;return n.filter(f).forEach((function(t){var n=c(t,e,!1);n.language=t,n.r>s.r&&(s=n),n.r>a.r&&(s=a,a=n)})),s.language&&(a.second_best=s),a}function d(e){return k.tabReplace||k.useBR?e.replace(_,(function(e,t){return k.useBR&&"\n"===e?"<br>":k.tabReplace?t.replace(/\t/g,k.tabReplace):void 0})):e}function p(e){var t,n,a,i,l,p=function(e){var t,n,a,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",n=y.exec(o))return f(n[1])?n[1]:"no-highlight";for(t=0,a=(o=o.split(/\s+/)).length;a>t;t++)if(s(i=o[t])||f(i))return i}(e);s(p)||(k.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):t=e,l=t.textContent,a=p?c(p,l,!0):u(l),(n=o(t)).length&&((i=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=a.value,a.value=r(n,o(i),l)),a.value=d(a.value),e.innerHTML=a.value,e.className=function(e,t,n){var a=t?g[t]:n,s=[e.trim()];return e.match(/\bhljs\b/)||s.push("hljs"),-1===e.indexOf(a)&&s.push(a),s.join(" ").trim()}(e.className,p,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");v.forEach.call(e,p)}}function f(e){return e=(e||"").toLowerCase(),Z[e]||Z[g[e]]}var v=[],m=Object.keys,Z={},g={},b=/^(no-?highlight|plain|text)$/i,y=/\blang(?:uage)?-([\w-]+)\b/i,_=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,N="</span>",k={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},x={"&":"&amp;","<":"&lt;",">":"&gt;"};return e.highlight=c,e.highlightAuto=u,e.fixMarkup=d,e.highlightBlock=p,e.configure=function(e){k=i(k,e)},e.initHighlighting=h,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",h,!1),addEventListener("load",h,!1)},e.registerLanguage=function(t,n){var a=Z[t]=n(e);a.aliases&&a.aliases.forEach((function(e){g[e]=t}))},e.listLanguages=function(){return m(Z)},e.getLanguage=f,e.inherit=i,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(t,n,a){var s=e.inherit({cN:"comment",b:t,e:n,c:[]},a||{});return s.c.push(e.PWM),s.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),s},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e}({}),void 0===(n=function(){return a.hljs}.apply(t,[]))||(e.exports=n)),hljs.registerLanguage("xml",(function(e){var t={eW:!0,i:/</,r:0,c:[{cN:"attr",b:"[A-Za-z0-9\\._:-]+",r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{name:"style"},c:[t],starts:{e:"</style>",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}})),hljs.registerLanguage("markdown",(function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}})),hljs.registerLanguage("ini",(function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}})),hljs.registerLanguage("python",(function(e){var t={cN:"meta",b:/^(>>>|\.\.\.) /},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[t],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[t],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",t,a,n]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)|=>/,c:[t,a,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}})),hljs.registerLanguage("css",(function(e){var t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}})),hljs.registerLanguage("less",(function(e){var t="[\\w-]+",n="("+t+"|@{"+t+"})",a=[],s=[],i=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},o=function(e,t,n){return{cN:e,b:t,r:n}},r={b:"\\(",e:"\\)",c:s,r:0};s.push(e.CLCM,e.CBCM,i("'"),i('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},o("number","#[0-9A-Fa-f]+\\b"),r,o("variable","@@?"+t,10),o("variable","@{"+t+"}"),o("built_in","~?`[^`]*?`"),{cN:"attribute",b:t+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var l=s.concat({b:"{",e:"}",c:a}),c={bK:"when",eW:!0,c:[{bK:"and not"}].concat(s)},u={b:n+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:n,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:s}}]},d={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:s,r:0}},p={cN:"variable",v:[{b:"@"+t+"\\s*:",r:15},{b:"@"+t}],starts:{e:"[;}]",rE:!0,c:l}},h={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:n,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,c,o("keyword","all\\b"),o("variable","@{"+t+"}"),o("selector-tag",n+"%?",0),o("selector-id","#"+n),o("selector-class","\\."+n,0),o("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:l},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,d,p,u,h),{cI:!0,i:"[=>'/<($\"]",c:a}})),hljs.registerLanguage("scss",(function(e){var t={cN:"variable",b:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},n={cN:"number",b:"#[0-9A-Fa-f]+"};return e.CSSNM,e.QSM,e.ASM,e.CBCM,{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[t,n,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[t,e.QSM,e.ASM,n,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}})),hljs.registerLanguage("json",(function(e){var t={literal:"true false null"},n=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:n,k:t},s={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return n.splice(n.length,0,s,i),{c:n,k:t,i:"\\S"}})),hljs.registerLanguage("javascript",(function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},s={cN:"subst",b:"\\$\\{",e:"\\}",k:n,c:[]},i={cN:"string",b:"`",e:"`",c:[e.BE,s]};s.c=[e.ASM,e.QSM,i,a,e.RM];var o=s.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:n,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:n,c:o}]}]},{b:/</,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:o}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}})),hljs.registerLanguage("bash",(function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},n={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/-?[a-z\._]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,n,{cN:"string",b:/'/,e:/'/},t]}}))},26106:function(e,t,n){"use strict";var a=n(22928),s=(n(57588),n(32233)),i=n(89627),o=function(e){var t=e.agreement,n=e.checked,s=e.errors,o=e.url,r=e.value,l=e.onChange;if(!o)return null;var c=interpolate('<a href="%(url)s" target="_blank">%(agreement)s</a>',{agreement:(0,i.Z)(t),url:(0,i.Z)(o)},!0),u=interpolate(gettext("I have read and accept %(agreement)s."),{agreement:c},!0);return(0,a.Z)("div",{className:"checkbox legal-footnote"},void 0,(0,a.Z)("label",{},void 0,(0,a.Z)("input",{checked:n,type:"checkbox",value:r,onChange:l}),(0,a.Z)("span",{dangerouslySetInnerHTML:{__html:u}})),s&&s.map((function(e,t){return(0,a.Z)("div",{className:"help-block errors"},t,e)})))};t.Z=function(e){var t=e.errors,n=e.privacyPolicy,i=e.termsOfService,r=e.onPrivacyPolicyChange,l=e.onTermsOfServiceChange,c=s.Z.get("TERMS_OF_SERVICE_ID"),u=s.Z.get("TERMS_OF_SERVICE_URL"),d=s.Z.get("PRIVACY_POLICY_ID"),p=s.Z.get("PRIVACY_POLICY_URL");return c||d?(0,a.Z)("div",{},void 0,(0,a.Z)(o,{agreement:gettext("the terms of service"),checked:null!==i,errors:t.termsOfService,url:u,value:c,onChange:l}),(0,a.Z)(o,{agreement:gettext("the privacy policy"),checked:null!==n,errors:t.privacyPolicy,url:p,value:d,onChange:r})):null}},47235:function(e,t,n){"use strict";var a,s=n(22928),i=(n(57588),n(32233)),o=function(e){var t=e.className,n=e.text;return n?(0,s.Z)("h5",{className:t||""},void 0,n):null};t.Z=function(e){var t=e.buttonClassName,n=e.buttonLabel,r=e.formLabel,l=e.header,c=e.labelClassName,u=i.Z.get("SOCIAL_AUTH");return 0===u.length?null:(0,s.Z)("div",{className:"form-group form-social-auth"},void 0,(0,s.Z)(o,{className:c,text:l}),(0,s.Z)("div",{className:"row"},void 0,u.map((function(e){var a=e.id,i=e.name,o=e.button_text,r=e.button_color,l=e.url,c="btn btn-block btn-default btn-social-"+a,u=r?{color:r}:null,d=o||interpolate(n,{site:i},!0);return(0,s.Z)("div",{className:t||"col-xs-12"},a,(0,s.Z)("a",{className:c,style:u,href:l},void 0,d))}))),a||(a=(0,s.Z)("hr",{})),(0,s.Z)(o,{className:c,text:r}))}},92490:function(e,t,n){"use strict";n.d(t,{o8:function(){return s},Eg:function(){return r},Z2:function(){return l},tw:function(){return c}});var a=n(22928),s=(n(57588),function(e){var t=e.children;return(0,a.Z)("nav",{className:"toolbar"},void 0,t)}),i=n(94184),o=n.n(i),r=function(e){var t=e.children,n=e.className,s=e.shrink;return(0,a.Z)("div",{className:o()("toolbar-item",n,{"toolbar-item-shrink":s})},void 0,t)},l=function(e){var t=e.auto,n=e.children,s=e.className;return(0,a.Z)("div",{className:o()("toolbar-section",{"toolbar-section-auto":t},s)},void 0,n)},c=function(e){var t=e.className;return(0,a.Z)("div",{className:o()("toolbar-spacer",t)})}},19605:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i}});var a=n(22928),s=(n(57588),n(32233));function i(e){var t=e.size||100,n=e.size2x||t;return(0,a.Z)("img",{alt:"",className:e.className||"user-avatar",src:o(e.user,t),srcSet:o(e.user,n),width:t,height:t})}function o(e,t){return e&&e.id?function(e,t){var n=e[0];return e.forEach((function(e){e.size>=t&&(n=e)})),n}(e.avatars,t).url:s.Z.get("BLANK_AVATAR_URL")}},82211:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),(0,s.Z)("button",{className:e,disabled:t,onClick:this.props.onClick,type:this.props.onClick?"button":"submit"},void 0,this.props.children,this.props.loading?a||(a=(0,s.Z)(p.Z,{})):null)}}]),d}(d().Component);h.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},57026:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a=n(22928);function s(e){return(0,a.Z)("select",{className:e.className||"form-control",disabled:e.disabled||!1,id:e.id||null,onChange:e.onChange,value:e.value},void 0,e.choices.map((function(e){return(0,a.Z)("option",{disabled:e.disabled||!1,value:e.value},e.value,"- - ".repeat(e.level)+e.label)})))}n(57588)},12977:function(e,t,n){"use strict";n(22928),n(15671),n(43144),n(79340),n(6215),n(61120);var a=n(57588);n.n(a)().Component},21688:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(33556);function p(e){return e.display?(0,a.Z)(d.Z,{helpText:gettext("No profile details are editable at this time."),message:gettext("This option is currently unavailable.")}):null}var h,f=n(37848);function v(e){return e.display?h||(h=(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(f.Z,{}))):null}var m=n(97326),Z=n(4942),g=n(60471);var b=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=c.call.apply(c,[this].concat(n)),(0,Z.Z)((0,m.Z)(e),"onChange",(function(t){var n=e.props,a=n.field;(0,n.onChange)(a.fieldname,t.target.value)})),e}return(0,i.Z)(u,[{key:"render",value:function(){var e=this.props,t=e.disabled,n=e.field,s=e.value,i=n.input;return"select"===i.type?(0,a.Z)(g.Z,{choices:i.choices,disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,value:s}):"textarea"===i.type?(0,a.Z)("textarea",{className:"form-control",disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,rows:"4",type:"text",value:s}):"text"===i.type?(0,a.Z)("input",{className:"form-control",disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,type:"text",value:s}):null}}]),u}(u().Component),y=n(96359);function _(e){var t=e.disabled,n=e.errors,s=e.fields,i=e.name,o=e.onChange,r=e.value;return(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,i),s.map((function(e){return(0,a.Z)(y.Z,{for:"id_"+e.fieldname,helpText:e.help_text,label:e.label,validation:n[e.fieldname]},e.fieldname,(0,a.Z)(b,{disabled:t,field:e,onChange:o,value:r[e.fieldname]}))})))}var N=n(82211),k=n(43345),x=n(78657),w=n(53904);var R=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;(0,s.Z)(this,u),t=c.call(this,e),(0,Z.Z)((0,m.Z)(t),"onChange",(function(e,n){t.setState((0,Z.Z)({},e,n))})),t.state={isLoading:!1,errors:{}};for(var n=e.groups.length,a=0;a<n;a++)for(var i=e.groups[a],o=i.fields.length,r=0;r<o;r++){var l=i.fields[r].fieldname,d=i.fields[r].initial;t.state[l]=d}return t}return(0,i.Z)(u,[{key:"send",value:function(){var e=Object.assign({},this.state,{errors:null,isLoading:null});return x.Z.post(this.props.api,e)}},{key:"handleSuccess",value:function(e){this.props.onSuccess(e)}},{key:"handleError",value:function(e){400===e.status?(w.Z.error(gettext("Form contains errors.")),this.setState({errors:e})):w.Z.apiError(e)}},{key:"render",value:function(){var e=this;return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,this.props.groups.map((function(t,n){return(0,a.Z)(_,{disabled:e.state.isLoading,errors:e.state.errors,fields:t.fields,name:t.name,onChange:e.onChange,value:e.state},n)}))),(0,a.Z)("div",{className:"panel-footer text-right"},void 0,(0,a.Z)(C,{disabled:this.state.isLoading,onCancel:this.props.onCancel})," ",(0,a.Z)(N.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes"))))}}]),u}(k.Z);function C(e){var t=e.onCancel,n=e.disabled;return t?(0,a.Z)("button",{className:"btn btn-default",disabled:n,onClick:t,type:"button"},void 0,gettext("Cancel")):null}var E=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={loading:!0,groups:null},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){var e=this;x.Z.get(this.props.api).then((function(t){e.setState({loading:!1,groups:t})}),(function(t){w.Z.apiError(t),e.props.cancel&&e.props.cancel()}))}},{key:"render",value:function(){var e=this.state,t=e.groups,n=e.loading;return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Edit details"))),(0,a.Z)(v,{display:n}),(0,a.Z)(p,{display:!n&&!t.length}),(0,a.Z)(S,{api:this.props.api,display:!n&&t.length,groups:t,onCancel:this.props.onCancel,onSuccess:this.props.onSuccess}))}}]),u}(u().Component);function S(e){var t=e.api,n=e.display,s=e.groups,i=e.onCancel,o=e.onSuccess;return n?(0,a.Z)(R,{api:t,groups:s,onCancel:i,onSuccess:o}):null}},96359:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"isValidated",value:function(){return void 0!==this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",null===this.props.validation?e+=" has-success":e+=" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?(0,a.Z)("div",{className:"help-block errors"},void 0,this.props.validation.map((function(t,n){return(0,a.Z)("p",{},e.props.for+"FeedbackItem"+n,t)}))):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?(0,a.Z)("span",{id:this.props.for+"_status",className:"sr-only"},void 0,this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:this.getClassName()},void 0,(0,a.Z)("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props.for||""},void 0,this.props.label+":"),(0,a.Z)("div",{className:this.props.controlClass||""},void 0,this.props.children,this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),u}(n.n(c)().Component)},43345:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var a=n(15671),s=n(43144),i=n(97326),o=n(79340),r=n(6215),l=n(61120),c=n(4942),u=n(57588),d=n.n(u),p=n(55210),h=n(53904);var f=(0,p.C1)(),v=function(e){(0,o.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function d(){var e;(0,a.Z)(this,d);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=u.call.apply(u,[this].concat(n)),(0,c.Z)((0,i.Z)(e),"bindInput",(function(t){return function(n){e.changeValue(t,n.target.value)}})),(0,c.Z)((0,i.Z)(e),"changeValue",(function(t,n){var a=(0,c.Z)({},t,n),s=e.state.errors||{};s[t]=e.validateField(t,a[t]),a.errors=s,e.setState(a)})),(0,c.Z)((0,i.Z)(e),"handleSubmit",(function(t){if(t&&t.preventDefault(),!e.state.isLoading&&e.clean()){e.setState({isLoading:!0});var n=e.send();n?n.then((function(t){e.setState({isLoading:!1}),e.handleSuccess(t)}),(function(t){e.setState({isLoading:!1}),e.handleError(t)})):e.setState({isLoading:!1})}})),e}return(0,s.Z)(d,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},n=[];for(var a in t.required)t.required.hasOwnProperty(a)&&t.required[a]&&n.push(a);for(var s in t.optional)t.optional.hasOwnProperty(s)&&t.optional[s]&&n.push(s);for(var i in n){var o=n[i],r=this.validateField(o,this.state[o]);null===r?e[o]=null:r&&(e[o]=r)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var n=[];if(!this.state.validators)return n;var a={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},s=f(t)||!1;if(a.required){if(s)n=[s];else for(var i in a.required){var o=a.required[i](t);o&&n.push(o)}return n.length?n:null}if(!1===s&&a.optional){for(var r in a.optional){var l=a.optional[r](t);l&&n.push(l)}return n.length?n:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){h.Z.apiError(e)}}]),d}(d().Component)},94417:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,this.props.children)}}]),u}(n.n(c)().Component)},37848:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var a,s=n(22928);function i(e){return(0,s.Z)("div",{className:e.className||"loader"},void 0,a||(a=(0,s.Z)("div",{className:"loader-spinning-wheel"})))}n(57588)},52753:function(e,t,n){"use strict";n.d(t,{ZP:function(){return Z}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=(n(57588),n(82211)),h=n(43345),f=n(96359),v=n(78657),m=n(59801);var Z=function(e){(0,l.Z)(f,e);var t,n,h=(t=f,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function f(e){var t;return(0,i.Z)(this,f),t=h.call(this,e),(0,d.Z)((0,r.Z)(t),"handleSuccess",(function(e){t.props.onSuccess(e),m.Z.hide()})),(0,d.Z)((0,r.Z)(t),"handleError",(function(e){t.props.onError(e)})),(0,d.Z)((0,r.Z)(t),"onBestAnswerChange",(function(e){t.changeValue("bestAnswer",e.target.value)})),(0,d.Z)((0,r.Z)(t),"onPollChange",(function(e){t.changeValue("poll",e.target.value)})),t.state={isLoading:!1,bestAnswer:"0",poll:"0"},t}return(0,o.Z)(f,[{key:"clean",value:function(){return!this.props.polls||"0"!==this.state.poll||window.confirm(gettext("Are you sure you want to delete all polls?"))}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{best_answer:this.state.bestAnswer,poll:this.state.poll});return v.Z.post(this.props.api,e)}},{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,a||(a=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Merge threads"))),(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(g,{choices:this.props.bestAnswers,onChange:this.onBestAnswerChange,value:this.state.bestAnswer}),(0,s.Z)(b,{choices:this.props.polls,onChange:this.onPollChange,value:this.state.poll})),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)(p.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Merge threads"))))))}}]),f}(h.Z);function g(e){var t=e.choices,n=e.onChange,a=e.value;return t?(0,s.Z)(f.Z,{label:gettext("Best answer"),helpText:gettext("Please select the best answer for your newly merged thread. No posts will be deleted during the merge."),for:"id_best_answer"},void 0,(0,s.Z)("select",{className:"form-control",id:"id_best_answer",onChange:n,value:a},void 0,t.map((function(e){return(0,s.Z)("option",{value:e[0]},e[0],e[1])})))):null}function b(e){var t=e.choices,n=e.onChange,a=e.value;return t?(0,s.Z)(f.Z,{label:gettext("Poll"),helpText:gettext("Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered."),for:"id_poll"},void 0,(0,s.Z)("select",{className:"form-control",id:"id_poll",onChange:n,value:a},void 0,t.map((function(e){return(0,s.Z)("option",{value:e[0]},e[0],e[1])})))):null}},69092:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var a=n(15671),s=n(43144),i=n(79340),o=n(6215),r=n(61120),l=n(57588),c=n.n(l),u=n(4942),d=n(19755),p=new RegExp("^.*(?:(?:youtu.be/|v/|vi/|u/w/|embed/)|(?:(?:watch)??v(?:i)?=|&v(?:i)?=))([^#&?]*).*"),h=new(function(){function e(){var t=this;(0,a.Z)(this,e),(0,u.Z)(this,"render",(function(e){e&&(t.highlightCode(e),t.embedYoutubePlayers(e))})),this._youtube={}}return(0,s.Z)(e,[{key:"highlightCode",value:function(e){for(var t=e.querySelectorAll("pre>code"),n=0;n<t.length;n++){var a=t[n];hljs.highlightBlock(a)}}},{key:"embedYoutubePlayers",value:function(e){for(var t=e.querySelectorAll("p>a"),n=0;n<t.length;n++){var a=t[n],s=1===a.parentNode.childNodes.length;this._youtube[a.href]||(this._youtube[a.href]=f(a.href));var i=this._youtube[a.href];s&&i&&!1!==i.data&&this.swapYoutubePlayer(a,i)}}},{key:"swapYoutubePlayer",value:function(e,t){var n="https://www.youtube.com/embed/";n+=t.video,n+="?rel=0",t.start&&(n+="&start="+t.start);var a=d('<iframe class="embed-responsive-item" src="'+n+'" allowfullscreen></iframe>');d(e).replaceWith(a),a.wrap('<div class="embed-responsive embed-responsive-16by9"></div>')}}]),e}());function f(e){var t=function(e){var t=e;return"https://"===e.substr(0,8)?t=t.substr(8):"http://"===e.substr(0,7)&&(t=t.substr(7)),"www."===t.substr(0,4)&&(t=t.substr(4)),t}(e),n=function(e){if(-1===e.indexOf("youtu"))return null;var t=e.match(p);return t?t[1]:null}(t);if(!n)return null;var a=0;if(t.indexOf("?")>0){var s=t.substr(t.indexOf("?")+1).split("&").filter((function(e){return"t="===e.substr(0,2)}))[0];if(s){var i=s.substr(2).split("m");"s"===i[0].substr(-1)?a+=parseInt(i[0].substr(0,i[0].length-1)):(a+=60*parseInt(i[0]),i[1]&&"s"===i[1].substr(-1)&&(a+=parseInt(i[1].substr(0,i[1].length-1))))}}return{start:a,video:n}}var v=n(19755);var m=function(e){(0,i.Z)(u,e);var t,n,l=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,r.Z)(t);if(n){var s=(0,r.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,o.Z)(this,e)});function u(){return(0,a.Z)(this,u),l.apply(this,arguments)}return(0,s.Z)(u,[{key:"componentDidMount",value:function(){h.render(this.documentNode),v(this.documentNode).find(".spoiler-reveal").click(Z)}},{key:"componentDidUpdate",value:function(e,t){h.render(this.documentNode),v(this.documentNode).find(".spoiler-reveal").click(Z)}},{key:"shouldComponentUpdate",value:function(e,t){return e.markup!==this.props.markup}},{key:"render",value:function(){var e=this;return c().createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:this.props.markup},ref:function(t){e.documentNode=t}})}}]),u}(c().Component);function Z(e){var t=e.target;v(t).parent().parent().addClass("revealed")}},3784:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){return a||(a=(0,s.Z)("div",{className:"modal-body modal-loader"},void 0,(0,s.Z)(p.Z,{})))}}]),d}(d().Component)},30337:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120);n(57588);var c=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:"modal-body"},void 0,(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.props.icon||"info_outline")),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.props.message),this.getHelpText(),(0,a.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}}]),u}(n(33556).Z)},77942:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===function(e,t){if(e=(e+"").toLowerCase(),(t=(t+"").toLowerCase()).length<=0)return 0;for(var n=0,a=0,s=t.length;(a=e.indexOf(t,a))>=0;)n+=1,a+=s;return n}(this.props.copy,"<p")&&-1===this.props.copy.indexOf("<br")?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?(0,a.Z)("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),u}(n.n(c)().Component)},95187:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){return a||(a=(0,s.Z)("div",{className:"panel-body panel-body-loading"},void 0,(0,s.Z)(p.Z,{className:"loader loader-spaced"})))}}]),d}(d().Component)},33556:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:"panel-body panel-message-body"},void 0,(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.props.icon||"info_outline")),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.props.message),this.getHelpText()))}}]),u}(n.n(c)().Component)},91876:function(e,t,n){"use strict";n.d(t,{n:function(){return me},y:function(){return ke}});var a,s=n(87462),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(57588),h=n.n(p),f=n(30381),v=n.n(f),m=n(22928);function Z(e){return(0,m.Z)("div",{className:"poll-choices-bars"},void 0,e.poll.choices.map((function(t){return(0,m.Z)(g,{choice:t,poll:e.poll},t.hash)})))}function g(e){var t=0;return e.choice.votes&&e.poll.votes&&(t=Math.ceil(100*e.choice.votes/e.poll.votes)),(0,m.Z)("dl",{className:"dl-horizontal"},void 0,(0,m.Z)("dt",{},void 0,e.choice.label),(0,m.Z)("dd",{},void 0,(0,m.Z)("div",{className:"progress"},void 0,(0,m.Z)("div",{className:"progress-bar",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100",style:{width:t+"%"}},void 0,(0,m.Z)("span",{className:"sr-only"},void 0,y(e.votes,e.proc)))),(0,m.Z)("ul",{className:"list-unstyled list-inline poll-chart"},void 0,(0,m.Z)(b,{proc:t,votes:e.choice.votes}),(0,m.Z)(_,{selected:e.choice.selected}))))}function b(e){return(0,m.Z)("li",{className:"poll-chart-votes"},void 0,y(e.votes,e.proc))}function y(e,t){var n=ngettext("%(votes)s vote, %(proc)s% of total.","%(votes)s votes, %(proc)s% of total.",e);return interpolate(n,{votes:e,proc:t},!0)}function _(e){return e.selected?(0,m.Z)("li",{className:"poll-chart-selected"},void 0,a||(a=(0,m.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Your choice.")):null}var N,k,x,w=n(30337),R=n(3784),C=n(78657);var E=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,i.Z)(this,s),(t=a.call(this,e)).state={isLoading:!0,error:null,data:[]},t}return(0,o.Z)(s,[{key:"componentDidMount",value:function(){var e=this;C.Z.get(this.props.poll.api.votes).then((function(t){var n=t.map((function(e){return Object.assign({},e,{voters:e.voters.map((function(e){return Object.assign({},e,{voted_on:v()(e.voted_on)})}))})}));e.setState({isLoading:!1,data:n})}),(function(t){e.setState({isLoading:!1,error:t.detail})}))}},{key:"render",value:function(){return(0,m.Z)("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},void 0,(0,m.Z)("div",{className:"modal-content"},void 0,(0,m.Z)("div",{className:"modal-header"},void 0,(0,m.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,N||(N=(0,m.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,m.Z)("h4",{className:"modal-title"},void 0,gettext("Poll votes"))),(0,m.Z)(S,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),s}(h().Component);function S(e){return e.isLoading?k||(k=(0,m.Z)(R.Z,{})):e.error?(0,m.Z)(w.Z,{icon:"error_outline",message:e.error}):(0,m.Z)(L,{data:e.data})}function L(e){return(0,m.Z)("div",{className:"modal-body modal-poll-votes"},void 0,(0,m.Z)("ul",{className:"list-unstyled votes-details"},void 0,e.data.map((function(e){return h().createElement(P,(0,s.Z)({key:e.hash},e))}))))}function P(e){return(0,m.Z)("li",{},void 0,(0,m.Z)("h4",{},void 0,e.label),(0,m.Z)(O,{votes:e.votes}),(0,m.Z)(T,{voters:e.voters}),x||(x=(0,m.Z)("hr",{})))}function O(e){var t=ngettext("%(votes)s user has voted for this choice.","%(votes)s users have voted for this choice.",e.votes),n=interpolate(t,{votes:e.votes},!0);return(0,m.Z)("p",{},void 0,n)}function T(e){return e.voters.length?(0,m.Z)("ul",{className:"list-unstyled"},void 0,e.voters.map((function(e){return h().createElement(B,(0,s.Z)({key:e.username},e))}))):null}function B(e){return e.url?(0,m.Z)("li",{},void 0,(0,m.Z)("a",{className:"item-title",href:e.url},void 0,e.username)," ",(0,m.Z)(A,{voted_on:e.voted_on})):(0,m.Z)("li",{},void 0,(0,m.Z)("strong",{},void 0,e.username)," ",(0,m.Z)(A,{voted_on:e.voted_on}))}function A(e){return(0,m.Z)("abbr",{className:"text-muted",title:e.voted_on.format("LLL")},void 0,e.voted_on.fromNow())}var I=n(59752),j=n(7738),D=n(59801),M=n(27950),U=n(53904),z=n(90287);function H(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}function F(e){var t=e.isPollOver,n=e.poll,a=e.showVoting,s=e.thread;if(!function(e,t,n){return n.is_public||t.can_delete||t.can_edit||t.can_see_votes||t.can_vote&&!e&&(!n.hasSelectedChoices||n.allow_revotes)}(t,n.acl,n))return null;var i=[],o=n.acl.can_vote,r=!n.hasSelectedChoices||n.allow_revotes;return o&&r&&i.push(0),(n.is_public||n.acl.can_see_votes)&&i.push(1),n.acl.can_edit&&i.push(2),n.acl.can_delete&&i.push(3),(0,m.Z)("div",{className:"row poll-options"},void 0,(0,m.Z)(Y,{controls:i,isPollOver:t,poll:n,showVoting:a}),(0,m.Z)(V,{controls:i,poll:n}),(0,m.Z)($,{controls:i,poll:n,thread:s}),(0,m.Z)(G,{controls:i,poll:n}))}function q(e,t){var n="col-xs-6";return 1===e.length&&(n="col-xs-12"),3===e.length&&e[0]===t&&(n="col-xs-12"),n+" col-sm-3 col-md-2"}function Y(e){var t=e.poll.acl.can_vote,n=!e.poll.hasSelectedChoices||e.poll.allow_revotes;return t&&n?(0,m.Z)("div",{className:q(e.controls,0)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:e.poll.isBusy,onClick:e.showVoting,type:"button"},void 0,gettext("Vote"))):null}var V=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){D.Z.show((0,m.Z)(E,{poll:e.props.poll}))})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.is_public||this.props.poll.acl.can_see_votes?(0,m.Z)("div",{className:q(this.props.controls,1)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("See votes"))):null}}]),n}(h().Component),$=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){M.Z.open({submit:e.props.poll.api.index,thread:e.props.thread,poll:e.props.poll,mode:"POLL"})})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.acl.can_edit?(0,m.Z)("div",{className:q(this.props.controls,2)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("Edit"))):null}}]),n}(h().Component),G=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){if(!window.confirm(gettext("Are you sure you want to delete this poll? This action is not reversible.")))return!1;z.Z.dispatch(I.n6()),C.Z.delete(e.props.poll.api.index).then(e.handleSuccess,e.handleError)})),(0,d.Z)((0,r.Z)(e),"handleSuccess",(function(e){U.Z.success("Poll has been deleted"),z.Z.dispatch(I.Od()),z.Z.dispatch(j.y8(e))})),(0,d.Z)((0,r.Z)(e),"handleError",(function(e){U.Z.apiError(e),z.Z.dispatch(I.Ar())})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.acl.can_delete?(0,m.Z)("div",{className:q(this.props.controls,3)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("Delete"))):null}}]),n}(h().Component),W=n(89627),K='<abbr title="%(absolute)s">%(relative)s</abbr>';function J(e){return(0,m.Z)("ul",{className:"list-unstyled list-inline poll-details"},void 0,(0,m.Z)(ae,{votes:e.poll.votes}),(0,m.Z)(te,{poll:e.poll}),(0,m.Z)(se,{poll:e.poll}),(0,m.Z)(Q,{poll:e.poll}))}function Q(e){var t=interpolate((0,W.Z)(gettext("Posted by %(poster)s %(posted_on)s.")),{poster:X(e.poll),posted_on:ee(e.poll)},!0);return(0,m.Z)("li",{className:"poll-info-creation",dangerouslySetInnerHTML:{__html:t}})}function X(e){return e.url.poster?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,W.Z)(e.url.poster),user:(0,W.Z)(e.poster_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,W.Z)(e.poster_name)},!0)}function ee(e){return interpolate(K,{absolute:(0,W.Z)(e.posted_on.format("LLL")),relative:(0,W.Z)(e.posted_on.fromNow())},!0)}function te(e){if(!e.poll.length)return null;var t=interpolate((0,W.Z)(gettext("Voting ends %(ends_on)s.")),{ends_on:ne(e.poll)},!0);return(0,m.Z)("li",{className:"poll-info-ends-on",dangerouslySetInnerHTML:{__html:t}})}function ne(e){return interpolate(K,{absolute:(0,W.Z)(e.endsOn.format("LLL")),relative:(0,W.Z)(e.endsOn.fromNow())},!0)}function ae(e){var t=ngettext("%(votes)s vote.","%(votes)s votes.",e.votes),n=interpolate(t,{votes:e.votes},!0);return(0,m.Z)("li",{className:"poll-info-votes"},void 0,n)}function se(e){return e.poll.is_public?(0,m.Z)("li",{className:"poll-info-public"},void 0,gettext("Votes are public.")):null}function ie(e){return(0,m.Z)("div",{className:"panel panel-default panel-poll"},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("h2",{},void 0,e.poll.question),(0,m.Z)(J,{poll:e.poll}),(0,m.Z)(Z,{poll:e.poll}),(0,m.Z)(F,{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting,thread:e.thread})))}function oe(e){return(0,m.Z)("ul",{className:"list-unstyled list-inline poll-help"},void 0,(0,m.Z)(re,{choicesLeft:e.choicesLeft}),(0,m.Z)(le,{poll:e.poll}))}function re(e){var t=e.choicesLeft;if(0===t)return(0,m.Z)("li",{className:"poll-help-choices-left"},void 0,gettext("You can't select any more choices."));var n=ngettext("You can select %(choices)s more choice.","You can select %(choices)s more choices.",t),a=interpolate(n,{choices:t},!0);return(0,m.Z)("li",{className:"poll-help-choices-left"},void 0,a)}function le(e){return e.poll.allow_revotes?(0,m.Z)("li",{className:"poll-help-allow-revotes"},void 0,gettext("You can change your vote later.")):(0,m.Z)("li",{className:"poll-help-no-revotes"},void 0,gettext("Votes are final."))}function ce(e){return(0,m.Z)("ul",{className:"list-unstyled poll-select-choices"},void 0,e.choices.map((function(t){return(0,m.Z)(ue,{choice:t,toggleChoice:e.toggleChoice},t.hash)})))}var ue=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){var e;(0,i.Z)(this,s);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){e.props.toggleChoice(e.props.choice.hash)})),e}return(0,o.Z)(s,[{key:"render",value:function(){return(0,m.Z)("li",{className:"poll-select-choice"},void 0,(0,m.Z)("button",{className:this.props.choice.selected?"btn btn-selected":"btn",onClick:this.onClick,type:"button"},void 0,(0,m.Z)("span",{className:"material-icon"},void 0,this.props.choice.selected?"check_box":"check_box_outline_blank"),(0,m.Z)("strong",{},void 0,this.props.choice.label)))}}]),s}(h().Component);function de(e,t){var n=[];for(var a in t){var s=t[a];s.selected&&n.push(s)}return e.allowed_choices-n.length}var pe=n(82211),he=n(43345);var fe=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,i.Z)(this,s),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"toggleChoice",(function(e){var n,a=function(e,t){for(var n in e){var a=e[n];if(a.hash===t)return a}return null}(t.state.choices,e);n=a.selected?t.deselectChoice(a,e):t.selectChoice(a,e),t.setState({choices:n,choicesLeft:de(t.props.poll,n)})})),(0,d.Z)((0,r.Z)(t),"selectChoice",(function(e,n){if(!de(t.props.poll,t.state.choices))for(var a in t.state.choices.slice()){var s=t.state.choices[a];if(s.selected&&s.hash!=n){s.selected=!1;break}}return t.state.choices.map((function(e){return Object.assign({},e,{selected:e.hash==n||e.selected})}))})),(0,d.Z)((0,r.Z)(t),"deselectChoice",(function(e,n){return t.state.choices.map((function(e){return Object.assign({},e,{selected:e.hash!=n&&e.selected})}))})),t.state={isLoading:!1,choices:e.poll.choices,choicesLeft:de(e.poll,e.poll.choices)},t}return(0,o.Z)(s,[{key:"clean",value:function(){return this.state.choicesLeft!==this.props.poll.allowed_choices||(U.Z.error(gettext("You need to select at least one choice")),!1)}},{key:"send",value:function(){var e=[];for(var t in this.state.choices.slice()){var n=this.state.choices[t];n.selected&&e.push(n.hash)}return C.Z.post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){z.Z.dispatch(I.gx(e)),U.Z.success(gettext("Your vote has been saved.")),this.props.showResults()}},{key:"handleError",value:function(e){400===e.status?U.Z.error(e.detail):U.Z.apiError(e)}},{key:"render",value:function(){var e=[];return this.props.poll.acl.can_vote&&e.push(0),(this.props.poll.is_public||this.props.poll.acl.can_see_votes)&&e.push(1),this.props.poll.acl.can_edit&&e.push(2),this.props.poll.acl.can_delete&&e.push(3),(0,m.Z)("div",{className:"panel panel-default panel-poll"},void 0,(0,m.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("h2",{},void 0,this.props.poll.question),(0,m.Z)(J,{poll:this.props.poll}),(0,m.Z)(ce,{choices:this.state.choices,toggleChoice:this.toggleChoice}),(0,m.Z)(oe,{choicesLeft:this.state.choicesLeft,poll:this.props.poll})),(0,m.Z)("div",{className:"panel-footer"},void 0,(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)("div",{className:q(e,0)},void 0,(0,m.Z)(pe.Z,{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},void 0,gettext("Save your vote"))),(0,m.Z)("div",{className:q(e,1)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.state.isLoading,onClick:this.props.showResults,type:"button"},void 0,gettext("See results"))),(0,m.Z)($,{controls:e,poll:this.props.poll,thread:this.props.thread}),(0,m.Z)(G,{controls:e,poll:this.props.poll})))))}}]),s}(he.Z);var ve,me=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"showResults",(function(){t.setState({showResults:!0})})),(0,d.Z)((0,r.Z)(t),"showVoting",(function(){t.setState({showResults:!1})}));var n=!0;return e.user.id&&!e.poll.hasSelectedChoices&&(n=!1),t.state={showResults:n},t}return(0,o.Z)(p,[{key:"render",value:function(){if(!this.props.thread.poll)return null;var e=function(e){return!!e.length&&v()().isAfter(e.endsOn)}(this.props.poll);return e||!this.props.poll.acl.can_vote||this.state.showResults?h().createElement(ie,(0,s.Z)({isPollOver:e,showVoting:this.showVoting},this.props)):h().createElement(fe,(0,s.Z)({showResults:this.showResults},this.props))}}]),p}(h().Component);function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ge=function(e){(0,l.Z)(n,e);var t=Ze(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onAdd",(function(){var t=e.props.choices.slice();t.push({hash:ye(),label:""}),e.props.setChoices(t)})),(0,d.Z)((0,r.Z)(e),"onChange",(function(t,n){var a=e.props.choices.map((function(e){return e.hash===t&&(e.label=n),e}));e.props.setChoices(a)})),(0,d.Z)((0,r.Z)(e),"onDelete",(function(t){var n=e.props.choices.filter((function(e){return e.hash!==t}));e.props.setChoices(n)})),e}return(0,o.Z)(n,[{key:"render",value:function(){var e=this;return(0,m.Z)("div",{className:"poll-choices-control"},void 0,(0,m.Z)("ul",{className:"list-group"},void 0,this.props.choices.map((function(t){return(0,m.Z)(be,{canDelete:e.props.choices.length>2,choice:t,disabled:e.props.disabled,onChange:e.onChange,onDelete:e.onDelete},t.hash)}))),(0,m.Z)("button",{className:"btn btn-default btn-sm",disabled:this.props.disabled,onClick:this.onAdd,type:"button"},void 0,gettext("Add choice")))}}]),n}(h().Component),be=function(e){(0,l.Z)(n,e);var t=Ze(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onChange",(function(t){e.props.onChange(e.props.choice.hash,t.target.value)})),(0,d.Z)((0,r.Z)(e),"onDelete",(function(){window.confirm(gettext("Are you sure you want to delete this choice?"))&&e.props.onDelete(e.props.choice.hash)})),e}return(0,o.Z)(n,[{key:"render",value:function(){return(0,m.Z)("li",{className:"list-group-item"},void 0,(0,m.Z)("button",{className:"btn",disabled:!this.props.canDelete||this.props.disabled,onClick:this.onDelete,title:gettext("Delete this choice"),type:"button"},void 0,ve||(ve=(0,m.Z)("span",{className:"material-icon"},void 0,"close"))),(0,m.Z)("input",{disabled:this.props.disabled,maxLength:"255",placeholder:gettext("choice label"),type:"text",onChange:this.onChange,value:this.props.choice.label}))}}]),n}(h().Component);function ye(){for(var e="";12!=e.length;)e=Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,12);return e}var _e=n(96359),Ne=n(7227);var ke=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;(0,i.Z)(this,s),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"setChoices",(function(e){var n=Object.assign({},n,{choices:null});t.setState({choices:e,errors:n})})),(0,d.Z)((0,r.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard poll?"))&&M.Z.close()}));var n=e.poll||{question:"",choices:[{hash:"choice-10000",label:""},{hash:"choice-20000",label:""}],length:0,allowed_choices:1,allow_revotes:0,is_public:0};return t.state={isLoading:!1,isEdit:!!n.question,question:n.question,choices:n.choices,length:n.length,allowed_choices:n.allowed_choices,allow_revotes:n.allow_revotes,is_public:n.is_public,validators:{question:[],choices:[],length:[],allowed_choices:[]},errors:{}},t}return(0,o.Z)(s,[{key:"send",value:function(){var e={question:this.state.question,choices:this.state.choices,length:this.state.length,allowed_choices:this.state.allowed_choices,allow_revotes:this.state.allow_revotes,is_public:this.state.is_public};return this.state.isEdit?C.Z.put(this.props.poll.api.index,e):C.Z.post(this.props.thread.api.poll,e)}},{key:"handleSuccess",value:function(e){z.Z.dispatch(I.gx(e)),this.state.isEdit?U.Z.success(gettext("Poll has been edited.")):U.Z.success(gettext("Poll has been posted.")),M.Z.close()}},{key:"handleError",value:function(e){400===e.status?(e.non_field_errors&&(e.allowed_choices=e.non_field_errors),this.setState({errors:Object.assign({},e)}),U.Z.error(gettext("Form contains errors."))):U.Z.apiError(e)}},{key:"render",value:function(){return(0,m.Z)("div",{className:"poll-form"},void 0,(0,m.Z)("div",{className:"container"},void 0,(0,m.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,m.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("fieldset",{},void 0,(0,m.Z)("legend",{},void 0,gettext("Question and choices")),(0,m.Z)(_e.Z,{label:gettext("Poll question"),for:"id_questions",validation:this.state.errors.question},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_questions",onChange:this.bindInput("question"),type:"text",maxLength:"255",value:this.state.question})),(0,m.Z)(_e.Z,{label:gettext("Available choices"),validation:this.state.errors.choices},void 0,(0,m.Z)(ge,{choices:this.state.choices,disabled:this.state.isLoading,setChoices:this.setChoices}))),(0,m.Z)("fieldset",{},void 0,(0,m.Z)("legend",{},void 0,gettext("Voting")),(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Poll length"),helpText:gettext("Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely."),for:"id_length",validation:this.state.errors.length},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_length",onChange:this.bindInput("length"),type:"text",value:this.state.length}))),(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Allowed choices"),for:"id_allowed_choices",validation:this.state.errors.allowed_choices},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_allowed_choices",onChange:this.bindInput("allowed_choices"),type:"text",maxLength:"255",value:this.state.allowed_choices})))),(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)(xe,{bindInput:this.bindInput,disabled:this.state.isLoading,isEdit:this.state.isEdit,value:this.state.is_public}),(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Allow vote changes"),for:"id_allow_revotes"},void 0,(0,m.Z)(Ne.Z,{id:"id_allow_revotes",disabled:this.state.isLoading,iconOn:"check",iconOff:"close",labelOn:gettext("Allow participants to change their vote"),labelOff:gettext("Don't allow participants to change their vote"),onChange:this.bindInput("allow_revotes"),value:this.state.allow_revotes})))))),(0,m.Z)("div",{className:"panel-footer text-right"},void 0,(0,m.Z)("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,type:"button"},void 0,gettext("Cancel"))," ",(0,m.Z)(pe.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,this.state.isEdit?gettext("Save changes"):gettext("Post poll")))))))}}]),s}(he.Z);function xe(e){return e.isEdit?null:(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Make voting public"),helpText:gettext("Making voting public will allow everyone to access detailed list of votes, showing which users voted for which choices and at which times. This option can't be changed after poll's creation. Moderators may see voting details for all polls."),for:"id_is_public"},void 0,(0,m.Z)(Ne.Z,{id:"id_is_public",disabled:e.disabled,iconOn:"visibility",iconOff:"visibility_off",labelOn:gettext("Votes are public"),labelOff:gettext("Votes are hidden"),onChange:e.bindInput("is_public"),value:e.value})))}},11005:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var a=n(22928),s=n(57588),i=n.n(s),o=n(69092);function r(e){return e.post.content?i().createElement(l,e):i().createElement(c,e)}function l(e){return(0,a.Z)("div",{className:"post-body"},void 0,(0,a.Z)(o.Z,{markup:e.post.content}))}function c(e){return(0,a.Z)("div",{className:"post-body post-body-invalid"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("This post's contents cannot be displayed.")),(0,a.Z)("p",{className:"text-muted"},void 0,gettext("This error is caused by invalid post content manipulation.")))}function u(e){var t=e.post,n=t.category,s=t.thread,i=interpolate(gettext("posted %(posted_on)s"),{posted_on:t.posted_on.format("LL, LT")},!0);return(0,a.Z)("div",{className:"post-heading"},void 0,(0,a.Z)("a",{className:"btn btn-link item-title",href:s.url},void 0,s.title),(0,a.Z)("a",{className:"btn btn-link post-category",href:n.url.index},void 0,n.name),(0,a.Z)("a",{href:t.url.index,className:"btn btn-link posted-on",title:i},void 0,t.posted_on.fromNow()))}n(89627);var d,p,h=n(19605);function f(e){var t=e.post;return(0,a.Z)("a",{className:"btn btn-default btn-icon pull-right",href:t.url.index},void 0,(0,a.Z)("span",{className:"btn-text-left hidden-xs"},void 0,gettext("See post")),d||(d=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right")))}function v(e){var t=e.post;return(0,a.Z)("div",{className:"post-side post-side-anonymous"},void 0,(0,a.Z)(f,{post:t}),(0,a.Z)("div",{className:"media"},void 0,p||(p=(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50})))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,t.poster_name)),(0,a.Z)("span",{className:"user-title user-title-anonymous"},void 0,gettext("Removed user")))))}function m(e){var t=e.rank,n=e.title||t.title||t.name,s="user-title";return t.css_class&&(s+=" user-title-"+t.css_class),t.is_tab?(0,a.Z)("a",{className:s,href:t.url},void 0,n):(0,a.Z)("span",{className:s},void 0,n)}function Z(e){var t=e.post,n=e.poster;return(0,a.Z)("div",{className:"post-side post-side-registered"},void 0,(0,a.Z)(f,{post:t}),(0,a.Z)("div",{className:"media"},void 0,(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("a",{href:n.url},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50,user:n}))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("a",{className:"item-title",href:n.url},void 0,n.username)),(0,a.Z)(m,{title:n.title,rank:n.rank}))))}function g(e){var t=e.post,n=e.poster;return n.id?(0,a.Z)(Z,{post:t,poster:n}):(0,a.Z)(v,{post:t})}function b(e){var t=e.post,n=e.poster||t.poster,s="post";return n&&n.rank.css_class&&(s+=" post-"+n.rank.css_class),(0,a.Z)("li",{className:s,id:"post-"+t.id},void 0,(0,a.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(g,{post:t,poster:n}),(0,a.Z)(u,{post:t}),(0,a.Z)(r,{post:t}))))}var y,_,N=n(44039);function k(){return(0,a.Z)("ul",{className:"posts-list post-feed ui-preview"},void 0,(0,a.Z)("li",{className:"post"},void 0,(0,a.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("div",{className:"post-side post-side-anonymous"},void 0,(0,a.Z)("div",{className:"media"},void 0,y||(y=(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50})))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))),(0,a.Z)("span",{className:"user-title user-title-anonymous"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))))),(0,a.Z)("div",{className:"post-heading"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")),(0,a.Z)("div",{className:"post-body"},void 0,(0,a.Z)("article",{className:"misago-markup"},void 0,(0,a.Z)("p",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")," ",(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")," ",(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))))))))}function x(e){var t=e.isReady,n=e.posts,s=e.poster;return t?(0,a.Z)("ul",{className:"posts-list post-feed ui-ready"},void 0,n.map((function(e){return(0,a.Z)(b,{post:e,poster:s},e.id)}))):_||(_=(0,a.Z)(k,{}))}},12891:function(e,t,n){"use strict";n.d(t,{Jh:function(){return o},jn:function(){return i}});var a=n(55210),s=n(32233);function i(){return[(0,a.Ei)(s.Z.get("SETTINGS").thread_title_length_min,(function(e,t){var n=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)})),(0,a.BS)(s.Z.get("SETTINGS").thread_title_length_max,(function(e,t){var n=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))]}function o(){return s.Z.get("SETTINGS").post_length_max?[r(),(0,a.BS)(s.Z.get("SETTINGS").post_length_max||1e6,(function(e,t){var n=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))]:[r()]}function r(){return(0,a.Ei)(s.Z.get("SETTINGS").post_length_min,(function(e,t){var n=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))}},60471:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var a=n(22928),s=n(15671),i=n(43144),o=n(97326),r=n(79340),l=n(6215),c=n(61120),u=n(4942),d=n(57588);var p=function(e){(0,r.Z)(p,e);var t,n,d=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function p(){var e;(0,s.Z)(this,p);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=d.call.apply(d,[this].concat(n)),(0,u.Z)((0,o.Z)(e),"change",(function(t){return function(){e.props.onChange({target:{value:t}})}})),e}return(0,i.Z)(p,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map((function(n){n.value===e.props.value&&(t=n)})),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return(0,a.Z)("div",{className:"btn-group btn-select-group"},void 0,(0,a.Z)("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},void 0,(0,a.Z)(h,{icon:this.getIcon()}),this.getLabel()),(0,a.Z)("ul",{className:"dropdown-menu"},void 0,this.props.choices.map((function(t,n){return(0,a.Z)("li",{},n,(0,a.Z)("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},void 0,(0,a.Z)(h,{icon:t.icon}),t.label))}))))}}]),p}(n.n(d)().Component);function h(e){var t=e.icon;return t?(0,a.Z)("span",{className:"material-icon"},void 0,t):null}},14467:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=(n(57588),n(32233)),d=n(82211),p=n(43345),h=n(47235),f=n(78657),v=n(59801),m=n(53904),Z=n(93051),g=n(19755);var b=function(e){(0,r.Z)(b,e);var t,n,p=(t=b,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function b(e){var t;return(0,i.Z)(this,b),(t=p.call(this,e)).state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},t}return(0,o.Z)(b,[{key:"clean",value:function(){return!!this.isValid()||(m.Z.error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return f.Z.post(u.Z.get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=g("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(f.Z.getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?m.Z.info(e.detail):"inactive_user"===e.code?(m.Z.info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,Z.Z)(e.detail),v.Z.hide()):m.Z.error(e.detail):403===e.status&&e.ban?((0,Z.Z)(e.ban),v.Z.hide()):m.Z.apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?(0,s.Z)("a",{className:"btn btn-success btn-block",href:u.Z.get("REQUEST_ACTIVATION_URL")},void 0,gettext("Activate account")):null}},{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,a||(a=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Sign in"))),(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(h.Z,{buttonLabel:gettext("Sign in with %(site)s"),formLabel:gettext("Or use your forum account:"),labelClassName:"text-center"}),(0,s.Z)("div",{className:"form-group"},void 0,(0,s.Z)("div",{className:"control-input"},void 0,(0,s.Z)("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_username",onChange:this.bindInput("username"),placeholder:gettext("Username or e-mail"),type:"text",value:this.state.username}))),(0,s.Z)("div",{className:"form-group"},void 0,(0,s.Z)("div",{className:"control-input"},void 0,(0,s.Z)("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_password",onChange:this.bindInput("password"),placeholder:gettext("Password"),type:"password",value:this.state.password})))),(0,s.Z)("div",{className:"modal-footer"},void 0,this.getActivationButton(),(0,s.Z)(d.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Sign in")),(0,s.Z)("a",{className:"btn btn-default btn-block",href:u.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Forgot password?"))))))}}]),b}(p.Z)},24678:function(e,t,n){"use strict";n.d(t,{Jj:function(){return h},ZP:function(){return p},pg:function(){return f}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c);function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,r.Z)(this,n)}}var p=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getClass",value:function(){return e=this.props.status,t="",e.is_banned?t="banned":e.is_hidden?t="offline":e.is_online_hidden?t="online":e.is_offline_hidden?t="offline":e.is_online?t="online":e.is_offline&&(t="offline"),"user-status user-"+t;var e,t}},{key:"render",value:function(){return(0,a.Z)("span",{className:this.getClass()},void 0,this.props.children)}}]),n}(u().Component),h=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return(0,a.Z)("span",{className:"material-icon status-icon"},void 0,this.getIcon())}}]),n}(u().Component),f=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getHelp",value:function(){return e=this.props.user,(t=this.props.status).is_banned?t.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:e.username,ban_expires:t.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:e.username},!0):t.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:e.username},!0):t.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:e.username},!0):t.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:e.username,last_click:t.last_click.fromNow()},!0):t.is_online?interpolate(gettext("%(username)s is online"),{username:e.username},!0):t.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:e.username,last_click:t.last_click.fromNow()},!0):void 0;var e,t}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return(0,a.Z)("span",{className:this.props.className||"status-label",title:this.getHelp()},void 0,this.getLabel())}}]),n}(u().Component)},7850:function(e,t,n){"use strict";n.d(t,{Z:function(){return k}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c);var d,p,h=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,(0,a.Z)("li",{className:"list-group-item empty-message"},void 0,this.getEmptyMessage())))}}]),u}(u().Component),f=n(19605);var v=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?(0,a.Z)("a",{href:this.props.change.changed_by.url,className:"user-avatar-wrapper"},void 0,(0,a.Z)(f.ZP,{user:this.props.change.changed_by,size:"100"})):d||(d=(0,a.Z)("span",{className:"user-avatar-wrapper"},void 0,(0,a.Z)(f.ZP,{size:"100"})))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?(0,a.Z)("a",{href:this.props.change.changed_by.url,className:"item-title"},void 0,this.props.change.changed_by.username):(0,a.Z)("span",{className:"item-title"},void 0,this.props.change.changed_by_username)}},{key:"render",value:function(){return(0,a.Z)("li",{className:"list-group-item"},this.props.change.id,(0,a.Z)("div",{className:"change-avatar"},void 0,this.renderUserAvatar()),(0,a.Z)("div",{className:"change-author"},void 0,this.renderUsername()),(0,a.Z)("div",{className:"change"},void 0,(0,a.Z)("span",{className:"old-username"},void 0,this.props.change.old_username),p||(p=(0,a.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),(0,a.Z)("span",{className:"new-username"},void 0,this.props.change.new_username)),(0,a.Z)("div",{className:"change-date"},void 0,(0,a.Z)("abbr",{title:this.props.change.changed_on.format("LLL")},void 0,this.props.change.changed_on.fromNow())))}}]),u}(u().Component);var m,Z,g=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,this.props.changes.map((function(e){return(0,a.Z)(v,{change:e},e.id)}))))}}]),u}(u().Component),b=n(44039);var y=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,m||(m=(0,a.Z)("div",{className:"change-avatar"},void 0,(0,a.Z)("span",{className:"user-avatar"},void 0,(0,a.Z)(f.ZP,{size:"100"})))),(0,a.Z)("div",{className:"change-author"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,100)+"px"}},void 0," ")),(0,a.Z)("div",{className:"change"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,70)+"px"}},void 0," "),Z||(Z=(0,a.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,70)+"px"}},void 0," ")),(0,a.Z)("div",{className:"change-date"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(80,140)+"px"}},void 0," ")))}}]),u}(u().Component);var _,N=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-preview"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,[0,1,2].map((function(e){return(0,a.Z)(y,{hiddenOnMobile:e>0},e)}))))}}]),u}(u().Component);var k=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return this.props.isLoaded?this.props.changes.length?(0,a.Z)(g,{changes:this.props.changes}):(0,a.Z)(h,{emptyMessage:this.props.emptyMessage}):_||(_=(0,a.Z)(N,{}))}}]),u}(u().Component)},40429:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var a,s=n(22928),i=n(57588),o=n.n(i),r=n(19605),l=n(24678);function c(e){var t=e.showStatus,n=e.user;return(0,s.Z)("ul",{className:"list-unstyled"},void 0,(0,s.Z)(u,{showStatus:t,user:n}),(0,s.Z)(d,{user:n}),a||(a=(0,s.Z)("li",{className:"user-stat-divider"})),(0,s.Z)(p,{user:n}),(0,s.Z)(h,{user:n}),(0,s.Z)(f,{user:n}))}function u(e){var t=e.showStatus,n=e.user;return t?(0,s.Z)("li",{className:"user-stat-status"},void 0,(0,s.Z)(l.ZP,{status:n.status},void 0,(0,s.Z)(l.pg,{status:n.status,user:n}))):null}function d(e){var t=e.user.joined_on,n=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:t.format("LL, LT")},!0),a=interpolate(gettext("Joined %(joined_on)s"),{joined_on:t.fromNow()},!0);return(0,s.Z)("li",{className:"user-stat-join-date"},void 0,(0,s.Z)("abbr",{title:n},void 0,a))}function p(e){var t=e.user,n=v("user-stat-posts",t.posts),a=ngettext("%(posts)s post","%(posts)s posts",t.posts);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{posts:t.posts},!0))}function h(e){var t=e.user,n=v("user-stat-threads",t.threads),a=ngettext("%(threads)s thread","%(threads)s threads",t.threads);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{threads:t.threads},!0))}function f(e){var t=e.user,n=v("user-stat-followers",t.followers),a=ngettext("%(followers)s follower","%(followers)s followers",t.followers);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{followers:t.followers},!0))}function v(e,t){return 0===t?e+" user-stat-empty":e}function m(e){var t=e.rank,n=e.title||t.title||t.name,a="user-title";return t.css_class&&(a+=" user-title-"+t.css_class),t.is_tab?(0,s.Z)("a",{className:a,href:t.url},void 0,n):(0,s.Z)("span",{className:a},void 0,n)}function Z(e){var t=e.showStatus,n=e.user,a=n.rank,i="panel user-card";return a.css_class&&(i+=" user-card-"+a.css_class),(0,s.Z)("div",{className:i},void 0,(0,s.Z)("div",{className:"panel-body"},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)("div",{className:"col-xs-3 user-card-left"},void 0,(0,s.Z)("div",{className:"user-card-small-avatar"},void 0,(0,s.Z)("a",{href:n.url},void 0,(0,s.Z)(r.ZP,{size:"50",size2x:"80",user:n})))),(0,s.Z)("div",{className:"col-xs-9 col-sm-12 user-card-body"},void 0,(0,s.Z)("div",{className:"user-card-avatar"},void 0,(0,s.Z)("a",{href:n.url},void 0,(0,s.Z)(r.ZP,{size:"150",size2x:"200",user:n}))),(0,s.Z)("div",{className:"user-card-username"},void 0,(0,s.Z)("a",{href:n.url},void 0,n.username)),(0,s.Z)("div",{className:"user-card-title"},void 0,(0,s.Z)(m,{rank:a,title:n.title})),(0,s.Z)("div",{className:"user-card-stats"},void 0,(0,s.Z)(c,{showStatus:t,user:n}))))))}var g,b,y,_=n(15671),N=n(43144),k=n(79340),x=n(6215),w=n(61120),R=n(44039);var C,E=function(e){(0,k.Z)(i,e);var t,n,a=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,w.Z)(t);if(n){var s=(0,w.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,x.Z)(this,e)});function i(){return(0,_.Z)(this,i),a.apply(this,arguments)}return(0,N.Z)(i,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,s.Z)("div",{className:"panel user-card user-card-preview"},void 0,(0,s.Z)("div",{className:"panel-body"},void 0,(0,s.Z)("div",{className:"row"},void 0,g||(g=(0,s.Z)("div",{className:"col-xs-3 user-card-left"},void 0,(0,s.Z)("div",{className:"user-card-small-avatar"},void 0,(0,s.Z)("span",{},void 0,(0,s.Z)(r.ZP,{size:"50",size2x:"80"}))))),(0,s.Z)("div",{className:"col-xs-9 col-sm-12 user-card-body"},void 0,b||(b=(0,s.Z)("div",{className:"user-card-avatar"},void 0,(0,s.Z)("span",{},void 0,(0,s.Z)(r.ZP,{size:"150",size2x:"200"})))),(0,s.Z)("div",{className:"user-card-username"},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(60,150)+"px"}},void 0," ")),(0,s.Z)("div",{className:"user-card-title"},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(60,150)+"px"}},void 0," ")),(0,s.Z)("div",{className:"user-card-stats"},void 0,(0,s.Z)("ul",{className:"list-unstyled"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),y||(y=(0,s.Z)("li",{className:"user-stat-divider"})),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," "))))))))}}]),i}(o().Component);function S(e){var t=e.colClassName,n=e.cols,a=Array.apply(null,{length:n}).map(Number.call,Number);return(0,s.Z)("div",{className:"users-cards-list ui-preview"},void 0,(0,s.Z)("div",{className:"row"},void 0,a.map((function(e){var n=t;return 0!==e&&(n+=" hidden-xs"),3===e&&(n+=" hidden-sm"),(0,s.Z)("div",{className:n},e,C||(C=(0,s.Z)(E,{})))}))))}function L(e){var t=e.cols,n=e.isReady,a=e.showStatus,i=e.users,o="col-xs-12 col-sm-4";return 4===t&&(o+=" col-md-3"),n?(0,s.Z)("div",{className:"users-cards-list ui-ready"},void 0,(0,s.Z)("div",{className:"row"},void 0,i.map((function(e){return(0,s.Z)("div",{className:o},e.id,(0,s.Z)(Z,{showStatus:a,user:e}))})))):(0,s.Z)(S,{colClassName:o,cols:t})}},82125:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var a=n(15671),s=n(43144),i=n(97326),o=n(79340),r=n(6215),l=n(61120),c=n(4942),u=n(57588);var d=function(e){(0,o.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),t=u.call(this,e),(0,c.Z)((0,i.Z)(t),"toggleNav",(function(){t.setState({dropdown:!t.state.dropdown})})),(0,c.Z)((0,i.Z)(t),"hideNav",(function(){t.setState({dropdown:!1})})),t.state={dropdown:!1},t}return(0,s.Z)(d,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),d}(n.n(u)().Component)},7227:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var a=n(22928),s=n(15671),i=n(43144),o=n(97326),r=n(79340),l=n(6215),c=n(61120),u=n(4942),d=n(57588);var p=function(e){(0,r.Z)(p,e);var t,n,d=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function p(){var e;(0,s.Z)(this,p);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=d.call.apply(d,[this].concat(n)),(0,u.Z)((0,o.Z)(e),"toggle",(function(){e.props.onChange({target:{value:!e.props.value}})})),e}return(0,i.Z)(p,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return(0,a.Z)("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.getIcon()),(0,a.Z)("span",{className:"btn-text"},void 0,this.getLabel()))}}]),p}(n.n(d)().Component)},32233:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var a=n(15671),s=n(43144),i=(n(58294),n(95377),n(68852),n(39737),n(14316),n(43204),n(43511),n(7023),n(54116),function(){function e(t){(0,a.Z)(this,e),this.isOrdered=!1,this._items=t||[]}return(0,s.Z)(e,[{key:"add",value:function(e,t,n){this._items.push({key:e,item:t,after:n&&n.after||null,before:n&&n.before||null})}},{key:"get",value:function(e,t){for(var n=0;n<this._items.length;n++)if(this._items[n].key===e)return this._items[n].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function(){for(var e=[],t=0;t<this._items.length;t++)e.push(this._items[t].item);return e}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||void 0===e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){var t=[];e.forEach((function(e){t.push(e.key)}));var n=[],a=[];function s(e){var t=-1;-1===a.indexOf(e.key)&&(e.after?-1!==(t=a.indexOf(e.after))&&(t+=1):e.before&&(t=a.indexOf(e.before)),-1!==t&&(n.splice(t,0,e),a.splice(t,0,e.key)))}e.forEach((function(e){e.after||e.before||(n.push(e),a.push(e.key))})),e.forEach((function(e){"_end"===e.before&&(n.push(e),a.push(e.key))}));for(var i=200;i>0&&t.length!==a.length;)i-=1,e.forEach(s);return n}}]),e}()),o=new(function(){function e(){(0,a.Z)(this,e),this._initializers=[],this._context={}}return(0,s.Z)(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e,new i(this._initializers).orderedValues().forEach((function(e){e(t)}))}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}());window.misago=o;var r=o},58339:function(e,t,n){"use strict";var a=n(32233),s=n(78657);a.Z.addInitializer({name:"ajax",initializer:function(){s.Z.init(a.Z.get("CSRF_COOKIE_NAME"))}})},64109:function(e,t,n){"use strict";var a=n(32233),s=n(35486),i=n(78657),o=n(53904),r=n(90287);a.Z.addInitializer({name:"auth-sync",initializer:function(e){e.get("isAuthenticated")&&window.setInterval((function(){i.Z.get(e.get("AUTH_API")).then((function(e){r.Z.dispatch((0,s.r$)(e))}),(function(e){o.Z.apiError(e)}))}),45e3)},after:"auth"})},46226:function(e,t,n){"use strict";var a=n(32233),s=n(98274),i=n(59801),o=n(90287),r=n(62833);a.Z.addInitializer({name:"auth",initializer:function(){s.Z.init(o.Z,r.Z,i.Z)},after:"store"})},93240:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(93825),o=n(96142),r=n(53904);a.Z.addInitializer({name:"captcha",initializer:function(e){i.ZP.init(e,s.Z,o.Z,r.Z)}})},75147:function(e,t,n){"use strict";var a=n(22928),s=n(57588),i=n.n(s),o=n(32233),r=n(15671),l=n(43144),c=n(97326),u=n(79340),d=n(6215),p=n(61120),h=n(4942),f=n(78657);var v=function(e){(0,u.Z)(i,e);var t,n,s=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function i(e){var t;return(0,r.Z)(this,i),t=s.call(this,e),(0,h.Z)((0,c.Z)(t),"handleDecline",(function(){t.state.submiting||window.confirm(gettext("Declining will result in immediate deactivation and deletion of your account. This action is not reversible."))&&(t.setState({submiting:!0}),f.Z.post(t.props.api,{accept:!1}).then((function(){window.location.reload(!0)})))})),(0,h.Z)((0,c.Z)(t),"handleAccept",(function(){t.state.submiting||(t.setState({submiting:!0}),f.Z.post(t.props.api,{accept:!0}).then((function(){window.location.reload(!0)})))})),t.state={submiting:!1},t}return(0,l.Z)(i,[{key:"render",value:function(){return(0,a.Z)("div",{},void 0,(0,a.Z)("button",{className:"btn btn-default",disabled:this.state.submiting,type:"buton",onClick:this.handleDecline},void 0,gettext("Decline")),(0,a.Z)("button",{className:"btn btn-primary",disabled:this.state.submiting,type:"buton",onClick:this.handleAccept},void 0,gettext("Accept and continue")))}}]),i}(i().Component),m=n(4869);o.Z.addInitializer({name:"component:accept-agreement",initializer:function(e){document.getElementById("required-agreement-mount")&&(0,m.Z)((0,a.Z)(v,{api:e.get("REQUIRED_AGREEMENT_API")}),"required-agreement-mount",!1)},after:"store"})},4894:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588);var p=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"render",value:function(){var e="auth-message";return(this.props.signedIn||this.props.signedOut)&&(e+=" show"),(0,i.Z)("div",{className:e},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.getMessage()),(0,i.Z)("p",{},void 0,(0,i.Z)("button",{className:"btn btn-default",type:"button",onClick:this.refresh},void 0,gettext("Reload page")),(0,i.Z)("span",{className:"hidden-xs hidden-sm"},void 0," "+gettext("or press F5 key.")))))}}]),s}(n.n(d)().Component);function h(e){return{user:e.auth.user,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}var f=n(4869);s.Z.addInitializer({name:"component:auth-message",initializer:function(){(0,f.Z)((0,a.$j)(h)(p),"auth-message-mount")},after:"store"})},29223:function(e,t,n){"use strict";var a=n(32233),s=n(93051);a.Z.addInitializer({name:"component:banmed-page",initializer:function(e){e.has("BAN_MESSAGE")&&(0,s.Z)(e.get("BAN_MESSAGE"),!1)},after:"store"})},3026:function(e,t,n){"use strict";var a=n(37424),s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(30381),h=n.n(p),f=n(57588),v=n.n(f);function m(e){return(0,s.Z)("div",{className:"categories-list"},void 0,(0,s.Z)("ul",{className:"list-group"},void 0,(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("No categories exist or you don't have permission to see them.")))))}function Z(e){var t=e.category;return t.description?(0,s.Z)("div",{className:"category-description",dangerouslySetInnerHTML:{__html:t.description.html}}):null}function g(e){var t=e.category;return(0,s.Z)("div",{className:b(t),title:y(t)},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return e.is_closed?e.is_read?"lock_outline":"lock":e.is_read?"chat_bubble_outline":"chat_bubble"}(t)))}function b(e){return e.is_read?"read-status item-read":"read-status item-new"}function y(e){return e.is_closed?e.is_read?gettext("This category has no new posts. (closed)"):gettext("This category has new posts. (closed)"):e.is_read?gettext("This category has no new posts."):gettext("This category has new posts.")}function _(e){var t=e.category;return(0,s.Z)("div",{className:"col-xs-12 col-sm-6 col-md-6 category-main"},void 0,(0,s.Z)("div",{className:"media"},void 0,(0,s.Z)("div",{className:"media-left"},void 0,(0,s.Z)(g,{category:t})),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("h4",{className:"media-heading"},void 0,(0,s.Z)("a",{href:t.url.index},void 0,t.name)),(0,s.Z)(Z,{category:t}))))}var N,k,x,w=n(19605);function R(e){var t=e.category;return(0,s.Z)("div",{className:"col-xs-12 col-sm-6 col-md-4 category-last-thread"},void 0,(0,s.Z)(C,{category:t}),(0,s.Z)(L,{category:t}),(0,s.Z)(P,{category:t}),(0,s.Z)(O,{category:t}))}function C(e){var t=e.category;return t.acl.can_browse&&t.acl.can_see_all_threads&&t.last_thread_title?(0,s.Z)("div",{className:"media"},void 0,(0,s.Z)("div",{className:"media-left hidden-xs"},void 0,(0,s.Z)(E,{category:t})),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("div",{className:"media-heading"},void 0,(0,s.Z)("a",{className:"item-title thread-title",href:t.url.last_thread_new,title:t.last_thread_title},void 0,t.last_thread_title)),(0,s.Z)("ul",{className:"list-inline"},void 0,(0,s.Z)("li",{className:"category-last-thread-poster"},void 0,(0,s.Z)(S,{category:t})),N||(N=(0,s.Z)("li",{className:"divider"},void 0,"—")),(0,s.Z)("li",{className:"category-last-thread-date"},void 0,(0,s.Z)("a",{href:t.url.last_post},void 0,t.last_post_on.fromNow()))))):null}function E(e){var t=e.category;return t.last_poster?(0,s.Z)("a",{className:"last-poster-avatar",href:t.last_poster.url,title:t.last_poster_name},void 0,(0,s.Z)(w.ZP,{className:"media-object",size:40,user:t.last_poster})):(0,s.Z)("span",{className:"last-poster-avatar",title:t.last_poster_name},void 0,k||(k=(0,s.Z)(w.ZP,{className:"media-object",size:40})))}function S(e){var t=e.category;return t.last_poster?(0,s.Z)("a",{className:"item-title",href:t.last_poster.url},void 0,t.last_poster_name):(0,s.Z)("span",{className:"item-title"},void 0,t.last_poster_name)}function L(e){var t=e.category;return t.acl.can_browse&&t.acl.can_see_all_threads?t.last_thread_title?null:(0,s.Z)(T,{message:gettext("This category is empty. No threads were posted within it so far.")}):null}function P(e){var t=e.category;return t.acl.can_browse?t.acl.can_see_all_threads?null:(0,s.Z)(T,{message:gettext("This category is private. You can see only your own threads within it.")}):null}function O(e){return e.category.acl.can_browse?null:(0,s.Z)(T,{message:gettext("This category is protected. You can't browse its contents.")})}function T(e){var t=e.message;return(0,s.Z)("div",{className:"media category-thread-message"},void 0,x||(x=(0,s.Z)("div",{className:"media-left"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("p",{},void 0,t)))}function B(e){var t=e.category;return(0,s.Z)("div",{className:"col-md-2 hidden-xs hidden-sm"},void 0,(0,s.Z)("ul",{className:"list-unstyled category-stats"},void 0,(0,s.Z)(A,{threads:t.threads}),(0,s.Z)(I,{posts:t.posts})))}function A(e){var t=e.threads,n=ngettext("%(threads)s thread","%(threads)s threads",t);return(0,s.Z)("li",{className:"category-stat-threads"},void 0,interpolate(n,{threads:t},!0))}function I(e){var t=e.posts,n=ngettext("%(posts)s post","%(posts)s posts",t);return(0,s.Z)("li",{className:"category-stat-posts"},void 0,interpolate(n,{posts:t},!0))}function j(e){var t=e.category,n="btn btn-default btn-block btn-sm btn-subcategory";return t.is_read||(n+=" btn-subcategory-new"),(0,s.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3"},void 0,(0,s.Z)("a",{className:n,href:t.url.index},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return e.is_closed?e.is_read?"lock_outline":"lock":e.is_read?"chat_bubble_outline":"chat_bubble"}(t)),(0,s.Z)("span",{className:"icon-text"},void 0,t.name)))}function D(e){var t=e.category;return e.isFirst||0===t.subcategories.length?null:(0,s.Z)("div",{className:"row subcategories-list"},void 0,t.subcategories.map((function(e){return(0,s.Z)(j,{category:e},e.id)})))}function M(e){var t=e.category,n=e.isFirst,a="list-group-item";return t.description?a+=" list-group-category-has-description":a+=" list-group-category-no-description",n&&(a+=" list-group-item-first"),t.css_class&&(a+=" list-group-category-has-flavor",a+=" list-group-item-category-"+t.css_class),(0,s.Z)("li",{className:a},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)(_,{category:t}),(0,s.Z)(B,{category:t}),(0,s.Z)(R,{category:t})),(0,s.Z)(D,{category:t,isFirst:n}))}function U(e){var t=e.category,n="list-group list-group-category";return t.css_class&&(n+=" list-group-category-has-flavor",n+=" list-group-category-"+t.css_class),(0,s.Z)("ul",{className:n},void 0,(0,s.Z)(M,{category:t,isFirst:!0}),t.subcategories.map((function(e){return(0,s.Z)(M,{category:e,isFirst:!1},e.id)})))}function z(e){var t=e.categories;return(0,s.Z)("div",{className:"categories-list"},void 0,t.map((function(e){return(0,s.Z)(U,{category:e},e.id)})))}var H,F=n(32233),q=n(55547);var Y=function e(t){return Object.assign({},t,{last_post_on:t.last_post_on?h()(t.last_post_on):null,subcategories:t.subcategories.map(e)})},V=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;return(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"update",(function(e){t.setState({categories:e.map(Y)})})),t.state={categories:F.Z.get("CATEGORIES").map(Y)},t.startPolling(F.Z.get("CATEGORIES_API")),t}return(0,o.Z)(p,[{key:"startPolling",value:function(e){q.Z.start({poll:"categories",url:e,frequency:18e4,update:this.update})}},{key:"render",value:function(){var e=this.state.categories;return 0===e.length?H||(H=(0,s.Z)(m,{})):(0,s.Z)(z,{categories:e})}}]),p}(v().Component);function $(e){return{tick:e.tick.tick}}var G=n(4869);F.Z.addInitializer({name:"component:categories",initializer:function(){document.getElementById("categories-mount")&&(0,G.Z)((0,a.$j)($)(V),"categories-mount")},after:"store"})},94795:function(e,t,n){"use strict";var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(37424),p=(n(12977),n(69987)),h=n(94417),f=n(32233);function v(e){return(0,a.Z)("div",{className:"list-group nav-side"},void 0,e.options.map((function(t){return(0,a.Z)(p.rU,{to:e.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active"},t.component,(0,a.Z)("span",{className:"material-icon"},void 0,t.icon),t.name)})))}function m(e){return(0,a.Z)("ul",{className:e.className||"dropdown-menu stick-to-bottom",role:"menu"},void 0,e.options.map((function(t){return(0,a.Z)(h.Z,{path:e.baseUrl+t.component+"/"},t.component,(0,a.Z)(p.rU,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},void 0,(0,a.Z)("span",{className:"material-icon hidden-sm"},void 0,t.icon),t.name))})))}var Z,g=n(97326),b=n(4942),y=n(82211),_=n(78657),N=n(53328),k=n(53904),x=n(90287);var w=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,b.Z)((0,g.Z)(t),"onPasswordChange",(function(e){t.setState({password:e.target.value})})),(0,b.Z)((0,g.Z)(t),"handleSubmit",(function(e){e.preventDefault();var n=t.state,a=n.isLoading,s=n.password,i=t.props.user;return 0==s.length?(k.Z.error(gettext("Enter your password to confirm account deletion.")),!1):!a&&(t.setState({isLoading:!0}),void _.Z.post(i.api.delete,{password:s}).then((function(e){window.location.href=f.Z.get("MISAGO_PATH")}),(function(e){t.setState({isLoading:!1}),e.password?k.Z.error(e.password[0]):k.Z.apiError(e)})))})),t.state={isLoading:!1,password:""},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){N.Z.set({title:gettext("Delete account"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-danger panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Delete account"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("You are going to delete your account. This action is nonreversible, and will result in following data being deleted:")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Stored IP addresses associated with content that you have posted will be deleted.")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Your username will become available for other user to rename to or for new user to register their account with.")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Your e-mail will become available for use in new account registration.")),Z||(Z=(0,a.Z)("hr",{})),(0,a.Z)("p",{},void 0,gettext("All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts."))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)("div",{className:"input-group"},void 0,(0,a.Z)("input",{className:"form-control",disabled:this.state.isLoading,name:"password-confirmation",type:"password",placeholder:gettext("Enter your password to confirm account deletion."),value:this.state.password,onChange:this.onPasswordChange}),(0,a.Z)("span",{className:"input-group-btn"},void 0,(0,a.Z)(y.Z,{className:"btn-danger",loading:this.state.isLoading},void 0,gettext("Delete my account")))))))}}]),u}(u().Component),R=n(21688);var C=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=c.call.apply(c,[this].concat(n)),(0,b.Z)((0,g.Z)(e),"onSuccess",(function(){k.Z.info(gettext("Your details have been updated."))})),e}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){N.Z.set({title:gettext("Edit details"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)(R.Z,{api:this.props.user.api.edit_details,onSuccess:this.onSuccess})}}]),u}(u().Component),E=n(30381),S=n.n(E);var L=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,b.Z)((0,g.Z)(t),"handleLoadDownloads",(function(){_.Z.get(t.props.user.api.data_downloads).then((function(e){t.setState({isLoading:!1,downloads:e})}),(function(e){k.Z.apiError(e)}))})),(0,b.Z)((0,g.Z)(t),"handleRequestDataDownload",(function(){t.setState({isSubmiting:!0}),_.Z.post(t.props.user.api.request_data_download).then((function(){t.handleLoadDownloads(),k.Z.success(gettext("Your request for data download has been registered.")),t.setState({isSubmiting:!1})}),(function(e){console.log(e),k.Z.apiError(e),t.setState({isSubmiting:!1})}))})),t.state={isLoading:!1,isSubmiting:!1,downloads:[]},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){N.Z.set({title:gettext("Download your data"),parent:gettext("Change your options")}),this.handleLoadDownloads()}},{key:"render",value:function(){return(0,a.Z)("div",{},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Download your data"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("p",{},void 0,gettext('To download your data from the site, click the "Request data download" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.')),(0,a.Z)("p",{},void 0,gettext("The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired."))),(0,a.Z)("table",{className:"table"},void 0,(0,a.Z)("thead",{},void 0,(0,a.Z)("tr",{},void 0,(0,a.Z)("th",{},void 0,gettext("Requested on")),(0,a.Z)("th",{className:"col-md-4"},void 0,gettext("Download")))),(0,a.Z)("tbody",{},void 0,this.state.downloads.map((function(e){return(0,a.Z)("tr",{},e.id,(0,a.Z)("td",{style:P},void 0,S()(e.requested_on).fromNow()),(0,a.Z)("td",{},void 0,(0,a.Z)(O,{exportFile:e.file,status:e.status})))})),0==this.state.downloads.length?(0,a.Z)("tr",{},void 0,(0,a.Z)("td",{colSpan:"2"},void 0,gettext("You have no data downloads."))):null)),(0,a.Z)("div",{className:"panel-footer text-right"},void 0,(0,a.Z)(y.Z,{className:"btn-primary",loading:this.state.isSubmiting,type:"button",onClick:this.handleRequestDataDownload},void 0,gettext("Request data download")))))}}]),u}(u().Component),P={verticalAlign:"middle"},O=function(e){var t=e.exportFile,n=e.status;return 0===n||1===n?(0,a.Z)(y.Z,{className:"btn-info btn-sm btn-block",disabled:!0,type:"button"},void 0,gettext("Download is being prepared")):t?(0,a.Z)("a",{className:"btn btn-success btn-sm btn-block",href:t},void 0,gettext("Download your data")):(0,a.Z)(y.Z,{className:"btn-default btn-sm btn-block",disabled:!0,type:"button"},void 0,gettext("Download is expired"))},T=n(43345),B=n(96359),A=n(60471),I=n(7227),j=n(35486);var D,M=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},t.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],t.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],t}return(0,i.Z)(u,[{key:"send",value:function(){return _.Z.post(this.props.user.api.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){x.Z.dispatch((0,j.r$)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),k.Z.success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(gettext("Please reload page and try again.")):k.Z.apiError(e)}},{key:"componentDidMount",value:function(){N.Z.set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change forum options"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,gettext("Privacy settings")),(0,a.Z)(B.Z,{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),for:"id_is_hiding_presence"},void 0,(0,a.Z)(I.Z,{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),(0,a.Z)(B.Z,{label:gettext("Private thread invitations"),for:"id_limits_private_thread_invites_to"},void 0,(0,a.Z)(A.Z,{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,gettext("Automatic subscriptions")),(0,a.Z)(B.Z,{label:gettext("Threads I start"),for:"id_subscribe_to_started_threads"},void 0,(0,a.Z)(A.Z,{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),(0,a.Z)(B.Z,{label:gettext("Threads I reply to"),for:"id_subscribe_to_replied_threads"},void 0,(0,a.Z)(A.Z,{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(y.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes")))))}}]),u}(T.Z),U=n(95187);function z(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),D||(D=(0,a.Z)(U.Z,{})))}var H=n(33556);var F=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),(0,a.Z)(H.Z,{helpText:this.getHelpText(),message:gettext("You can't change your username at the moment.")}))}}]),u}(u().Component),q=n(55210);var Y,V=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={username:"",validators:{username:[q.lG(),q.HR(e.options.length_min),q.gS(e.options.length_max)]},isLoading:!1},t}return(0,i.Z)(u,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var n=ngettext("Used changes become available again after %(name_changes_expire)s day.","Used changes become available again after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(n,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(k.Z.error(e.username[0]),!1):this.state.username.trim()!==this.props.user.username||(k.Z.info(gettext("Your new username is same as current one.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.user.api.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){k.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(B.Z,{label:gettext("New username"),for:"id_username",helpText:this.getHelpText()},void 0,(0,a.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(y.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change username")))))}}]),u}(T.Z),$=n(7850),G=n(48927),W=n(6935);var K,J=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,b.Z)((0,g.Z)(t),"onComplete",(function(e,n,a){t.setState({options:a}),x.Z.dispatch((0,G.KP)({username:e,slug:n},t.props.user,t.props.user)),x.Z.dispatch((0,W._S)(t.props.user,e,n)),k.Z.success(gettext("Your username has been changed successfully."))})),t.state={isLoaded:!1,options:null},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){var e=this;N.Z.set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([_.Z.get(this.props.user.api.username),_.Z.get(f.Z.get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then((function(t){x.Z.dispatch((0,G.ZB)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?S()(t[0].next_on):null}})}))}},{key:"getChangeForm",value:function(){return this.state.isLoaded?0===this.state.options.changes_left?(0,a.Z)(F,{options:this.state.options}):(0,a.Z)(V,{complete:this.onComplete,options:this.state.options,user:this.props.user}):Y||(Y=(0,a.Z)(z,{}))}},{key:"render",value:function(){return(0,a.Z)("div",{},void 0,this.getChangeForm(),(0,a.Z)($.Z,{changes:this.props["username-history"],isLoaded:this.state.isLoaded}))}}]),u}(u().Component);var Q,X=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={new_email:"",password:"",validators:{new_email:[q.Do()],password:[]},isLoading:!1},t}return(0,i.Z)(u,[{key:"clean",value:function(){var e=this.validate();return-1!==[this.state.new_email.trim().length,this.state.password.trim().length].indexOf(0)?(k.Z.error(gettext("Fill out all fields.")),!1):!e.new_email||(k.Z.error(e.new_email[0]),!1)}},{key:"send",value:function(){return _.Z.post(this.props.user.api.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),k.Z.success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?k.Z.error(e.new_email):k.Z.error(e.password):k.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("input",{type:"type",style:{display:"none"}}),(0,a.Z)("input",{type:"password",style:{display:"none"}}),(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change e-mail address"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(B.Z,{label:gettext("New e-mail"),for:"id_new_email"},void 0,(0,a.Z)("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),K||(K=(0,a.Z)("hr",{})),(0,a.Z)(B.Z,{label:gettext("Your current password"),for:"id_confirm_email"},void 0,(0,a.Z)("input",{type:"password",id:"id_confirm_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(y.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change e-mail")))))}}]),u}(T.Z);var ee,te,ne,ae=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={new_password:"",repeat_password:"",password:"",validators:{new_password:[],repeat_password:[],password:[]},isLoading:!1},t}return(0,i.Z)(u,[{key:"clean",value:function(){var e=this.validate();return-1!==[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length].indexOf(0)?(k.Z.error(gettext("Fill out all fields.")),!1):e.new_password?(k.Z.error(e.new_password[0]),!1):this.state.new_password===this.state.repeat_password||(k.Z.error(gettext("New passwords are different.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.user.api.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),k.Z.success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?k.Z.error(e.new_password):k.Z.error(e.password):k.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("input",{type:"type",style:{display:"none"}}),(0,a.Z)("input",{type:"password",style:{display:"none"}}),(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change password"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(B.Z,{label:gettext("New password"),for:"id_new_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),(0,a.Z)(B.Z,{label:gettext("Repeat password"),for:"id_repeat_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),Q||(Q=(0,a.Z)("hr",{})),(0,a.Z)(B.Z,{label:gettext("Your current password"),for:"id_confirm_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_confirm_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(y.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change password")))))}}]),u}(T.Z),se=function(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change email or password"))),(0,a.Z)("div",{className:"panel-body panel-message-body"},void 0,ee||(ee=(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("You need to set a password for your account to be able to change your username or email.")),(0,a.Z)("p",{className:"help-block"},void 0,(0,a.Z)("a",{className:"btn btn-primary",href:f.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Set password"))))))};var ie=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){N.Z.set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return this.props.user.has_usable_password?(0,a.Z)("div",{},void 0,(0,a.Z)(X,{user:this.props.user}),(0,a.Z)(ae,{user:this.props.user}),(0,a.Z)("p",{className:"message-line"},void 0,ne||(ne=(0,a.Z)("span",{className:"material-icon"},void 0,"warning")),(0,a.Z)("a",{href:f.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Change forgotten password")))):te||(te=(0,a.Z)(se,{}))}}]),u}(u().Component);var oe=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"page page-options"},void 0,(0,a.Z)("div",{className:"page-header-bg"},void 0,(0,a.Z)("div",{className:"page-header"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("h1",{},void 0,gettext("Change your options"))),(0,a.Z)("div",{className:"page-tabs visible-xs-block visible-sm-block"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)(m,{className:"nav nav-pills",baseUrl:f.Z.get("USERCP_URL"),options:f.Z.get("USER_OPTIONS")}))))),(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("div",{className:"row"},void 0,(0,a.Z)("div",{className:"col-md-3 hidden-xs hidden-sm"},void 0,(0,a.Z)(v,{baseUrl:f.Z.get("USERCP_URL"),options:f.Z.get("USER_OPTIONS")})),(0,a.Z)("div",{className:"col-md-9"},void 0,this.props.children))))}}]),u}(n(82125).Z);function re(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function le(){var e=[{path:f.Z.get("USERCP_URL")+"forum-options/",component:(0,d.$j)(re)(M)},{path:f.Z.get("USERCP_URL")+"edit-details/",component:(0,d.$j)(re)(C)}];return e.push({path:f.Z.get("USERCP_URL")+"change-username/",component:(0,d.$j)(re)(J)}),e.push({path:f.Z.get("USERCP_URL")+"sign-in-credentials/",component:(0,d.$j)(re)(ie)}),f.Z.get("ENABLE_DOWNLOAD_OWN_DATA")&&e.push({path:f.Z.get("USERCP_URL")+"download-data/",component:(0,d.$j)(re)(L)}),f.Z.get("ENABLE_DELETE_OWN_ACCOUNT")&&e.push({path:f.Z.get("USERCP_URL")+"delete-account/",component:(0,d.$j)(re)(w)}),e}var ce=n(39633);f.Z.addInitializer({name:"component:options",initializer:function(e){e.has("USER_OPTIONS")&&(0,ce.Z)({root:f.Z.get("USERCP_URL"),component:oe,paths:le()})},after:"store"})},15840:function(e,t,n){"use strict";var a,s=n(37424),i=n(22928),o=n(15671),r=n(43144),l=n(97326),c=n(79340),u=n(6215),d=n(61120),p=n(4942),h=n(57588),f=n.n(h),v=n(30381),m=n.n(v),Z=n(95187),g=n(33556),b=n(32233),y=n(55547),_=n(53328);var N=function(e){(0,c.Z)(h,e);var t,n,s=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function h(e){var t;return(0,o.Z)(this,h),t=s.call(this,e),(0,p.Z)((0,l.Z)(t),"update",(function(e){e.expires_on&&(e.expires_on=m()(e.expires_on)),t.setState({isLoaded:!0,error:null,ban:e})})),(0,p.Z)((0,l.Z)(t),"error",(function(e){t.setState({isLoaded:!0,error:e.detail,ban:null})})),b.Z.has("PROFILE_BAN")?t.initWithPreloadedData(b.Z.pop("PROFILE_BAN")):t.initWithoutPreloadedData(),t.startPolling(e.profile.api.ban),t}return(0,r.Z)(h,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=m()(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){y.Z.start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){y.Z.stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?(0,i.Z)("div",{className:"panel-body ban-message ban-user-message"},void 0,(0,i.Z)("h4",{},void 0,gettext("User-shown ban message")),(0,i.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?(0,i.Z)("div",{className:"panel-body ban-message ban-staff-message"},void 0,(0,i.Z)("h4",{},void 0,gettext("Team-shown ban message")),(0,i.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter(m()())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return(0,i.Z)("abbr",{title:e},void 0,t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?(0,i.Z)("div",{},void 0,this.getUserMessage(),this.getStaffMessage(),(0,i.Z)("div",{className:"panel-body ban-expires"},void 0,(0,i.Z)("h4",{},void 0,gettext("Ban expiration")),(0,i.Z)("p",{className:"lead"},void 0,this.getExpirationMessage()))):(0,i.Z)("div",{},void 0,(0,i.Z)(g.Z,{message:gettext("No ban is active at the moment.")})):this.state.error?(0,i.Z)("div",{},void 0,(0,i.Z)(g.Z,{icon:"error_outline",message:this.state.error})):a||(a=(0,i.Z)("div",{},void 0,(0,i.Z)(Z.Z,{})))}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-ban-details"},void 0,(0,i.Z)("div",{className:"panel panel-default"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Ban details"))),this.getPanelBody()))}}]),h}(f().Component),k=n(21688);function x(e){var t=e.api,n=e.display,a=e.onCancel,s=e.onSuccess;return n?(0,i.Z)(k.Z,{api:t,onCancel:a,onSuccess:s}):null}function w(e){var t,n=e.isAuthenticated,a=e.profile;return t=n?gettext("You are not sharing any details with others."):interpolate(gettext("%(username)s is not sharing any details with others."),{username:a.username},!0),(0,i.Z)("div",{className:"panel panel-default"},void 0,(0,i.Z)("div",{className:"panel-body text-center lead"},void 0,t))}function R(e){var t=e.html,n=e.text,a=e.url;return t?(0,i.Z)("div",{className:"form-control-static col-md-9",dangerouslySetInnerHTML:{__html:t}}):(0,i.Z)("div",{className:"form-control-static col-md-9"},void 0,(0,i.Z)(C,{text:n,url:a}))}function C(e){var t=e.text,n=e.url;return n?(0,i.Z)("p",{},void 0,(0,i.Z)("a",{href:n,target:"_blank",rel:"nofollow"},void 0,t||n)):t?(0,i.Z)("p",{},void 0,t):null}function E(e){return(0,i.Z)("div",{className:"form-group"},void 0,(0,i.Z)("strong",{className:"control-label col-md-3"},void 0,e.name,":"),f().createElement(R,e))}function S(e){var t=e.fields,n=e.name;return(0,i.Z)("div",{className:"panel panel-default panel-profile-details-group"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,n)),(0,i.Z)("div",{className:"panel-body"},void 0,(0,i.Z)("div",{className:"form-horizontal"},void 0,t.map((function(e){var t=e.fieldname,n=e.html,a=e.name,s=e.text,o=e.url;return(0,i.Z)(E,{name:a,html:n,text:s,url:o},t)})))))}var L,P=n(37848);function O(e){var t=e.display,n=e.groups,a=e.isAuthenticated,s=e.loading,o=e.profile;return t?s?L||(L=(0,i.Z)(P.Z,{})):n.length?(0,i.Z)("div",{},void 0,n.map((function(e,t){return(0,i.Z)(S,{fields:e.fields,name:e.name},t)}))):(0,i.Z)(w,{isAuthenticated:a,profile:o}):null}var T=n(92490),B=function(e){var t=e.onEdit,n=e.showEditButton;return(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,gettext("Details")))),n&&(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)("button",{className:"btn btn-default btn-outline btn-block",onClick:t,type:"button"},void 0,gettext("Edit")))))},A=n(58598),I=n(78657),j=n(53904);var D=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this.props,t=e.data,n=e.dispatch,a=e.user;t&&t.id===a.id||I.Z.get(this.props.user.api.details).then((function(e){n((0,A.zD)(e))}),(function(e){j.Z.apiError(e)}))}},{key:"render",value:function(){return this.props.children}}]),s}(f().Component);var M=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"onCancel",(function(){t.setState({editing:!1})})),(0,p.Z)((0,l.Z)(t),"onEdit",(function(){t.setState({editing:!0})})),(0,p.Z)((0,l.Z)(t),"onSuccess",(function(e){var n,a=t.props,s=a.dispatch,i=a.isAuthenticated,o=a.profile;n=i?gettext("Your details have been updated."):interpolate(gettext("%(username)s's details have been updated."),{username:o.username},!0),j.Z.info(n),s((0,A.zD)(e)),t.setState({editing:!1})})),t.state={editing:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Details"),parent:this.props.profile.username})}},{key:"render",value:function(){var e=this.props,t=e.dispatch,n=e.isAuthenticated,a=e.profile,s=e.profileDetails,o=s.id!==a.id;return(0,i.Z)(D,{data:s,dispatch:t,user:a},void 0,(0,i.Z)("div",{className:"profile-details"},void 0,(0,i.Z)(B,{onEdit:this.onEdit,showEditButton:!!s.edit&&!this.state.editing}),(0,i.Z)(O,{display:!this.state.editing,groups:s.groups,isAuthenticated:n,loading:o,profile:a}),(0,i.Z)(x,{api:a.api.edit_details,dispatch:t,display:this.state.editing,onCancel:this.onCancel,onSuccess:this.onSuccess})))}}]),s}(f().Component),U=n(87462),z=n(11005),H=n(82211),F=n(21981),q=n(90287);var Y,V=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isLoading:!0}),t.loadItems(t.props.posts.next)})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;I.Z.get(this.props.api,{start:t||0}).then((function(n){0===t?q.Z.dispatch(F.zD(n)):q.Z.dispatch(F.R3(n)),e.setState({isLoading:!1})}),(function(t){e.setState({isLoading:!1}),j.Z.apiError(t)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-feed"},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.props.header)))),f().createElement($,(0,U.Z)({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),s}(f().Component);function $(e){return e.posts.isLoaded&&!e.posts.results.length?(0,i.Z)("p",{className:"lead"},void 0,e.emptyMessage):(0,i.Z)("div",{},void 0,(0,i.Z)(z.Z,{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),(0,i.Z)(G,{isLoading:e.isLoading,loadMore:e.loadMore,next:e.posts.next}))}function G(e){return e.next?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},void 0,gettext("Show older activity"))):null}var W=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName()},void 0,(0,i.Z)("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),Y||(Y=(0,i.Z)("span",{className:"material-icon"},void 0,"search")))}}]),s}(f().Component),K=n(40429),J=n(6935);var Q=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadUsers(t.state.page+1,t.state.search)})),(0,p.Z)((0,l.Z)(t),"search",(function(e){t.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),t.loadUsers(1,e.target.value)})),t.setSpecialProps(),b.Z.has(t.PRELOADED_DATA_KEY)?t.initWithPreloadedData(b.Z.pop(t.PRELOADED_DATA_KEY)):t.initWithoutPreloadedData(),t}return(0,r.Z)(s,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},q.Z.dispatch((0,J.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=this.props.profile.api[this.API_FILTER];I.Z.get(a,{search:n,page:t||1},"user-"+this.API_FILTER).then((function(n){1===t?q.Z.dispatch((0,J.ZB)(n.results)):q.Z.dispatch((0,J.R3)(n.results)),e.setState({isLoaded:!0,isBusy:!1,count:n.count,more:n.more,page:n.page,pages:n.pages})}),(function(e){j.Z.apiError(e)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var n=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(n,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},void 0,interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?(0,i.Z)("p",{className:"lead"},void 0,this.getEmptyMessage()):(0,i.Z)("div",{},void 0,(0,i.Z)(K.Z,{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName()},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.getLabel()))),(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)(W,{value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})))),this.getListBody())}}]),s}(f().Component);var X=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var n=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(n,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),s}(Q),ee=n(7850),te=n(48927);var ne=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadChanges(t.state.page+1,t.state.search)})),(0,p.Z)((0,l.Z)(t),"search",(function(e){t.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),t.loadChanges(1,e.target.value)})),b.Z.has("PROFILE_NAME_HISTORY")?t.initWithPreloadedData(b.Z.pop("PROFILE_NAME_HISTORY")):t.initWithoutPreloadedData(),t}return(0,r.Z)(s,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},q.Z.dispatch((0,te.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;I.Z.get(b.Z.get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:n,page:t||1},"search-username-history").then((function(n){1===t?q.Z.dispatch((0,te.ZB)(n.results)):q.Z.dispatch((0,te.R3)(n.results)),e.setState({isLoaded:!0,isBusy:!1,count:n.count,more:n.more,page:n.page,pages:n.pages})}),(function(e){j.Z.apiError(e)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var n=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(n,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},void 0,interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-username-history"},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.getLabel()))),(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)(W,{value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})))),(0,i.Z)(ee.Z,{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),s}(f().Component),ae=n(19605),se=(n(12977),n(27519));var ie,oe=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"action",(function(){t.setState({isLoading:!0}),t.props.profile.is_followed?q.Z.dispatch((0,se.r$)({is_followed:!1,followers:t.props.profile.followers-1})):q.Z.dispatch((0,se.r$)({is_followed:!0,followers:t.props.profile.followers+1})),I.Z.post(t.props.profile.api.follow).then((function(e){t.setState({isLoading:!1}),q.Z.dispatch((0,se.r$)(e))}),(function(e){t.setState({isLoading:!1}),j.Z.apiError(e)}))})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return(0,i.Z)(H.Z,{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,this.getIcon()),this.getLabel())}}]),s}(f().Component),re=n(27950);var le,ce,ue=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){var e;(0,o.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,p.Z)((0,l.Z)(e),"onClick",(function(){re.Z.open({mode:"START_PRIVATE",submit:b.Z.get("PRIVATE_THREADS_API"),to:[e.props.profile]})})),e}return(0,r.Z)(s,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:(0,i.Z)("button",{className:this.props.className,onClick:this.onClick,type:"button"},void 0,ie||(ie=(0,i.Z)("span",{className:"material-icon"},void 0,"comment")),gettext("Message"))}}]),s}(f().Component),de=n(43345),pe=n(96359),he=n(3784),fe=n(7227),ve=n(30337);var me,Ze,ge=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e)).state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.moderate_avatar).then((function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"clean",value:function(){return!!this.isValid()||(j.Z.error(this.validate().username[0]),!1)}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){q.Z.dispatch((0,J.n1)(this.props.profile,e.avatar_hash)),j.Z.success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(pe.Z,{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),for:"id_is_avatar_locked"},void 0,(0,i.Z)(fe.Z,{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),(0,i.Z)(pe.Z,{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),for:"id_avatar_lock_user_message"},void 0,(0,i.Z)("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),(0,i.Z)(pe.Z,{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),for:"id_avatar_lock_staff_message"},void 0,(0,i.Z)("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},void 0,gettext("Close")),(0,i.Z)(H.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(ve.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():le||(le=(0,i.Z)(he.Z,{}))}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,ce||(ce=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Avatar controls"))),this.getModalBody()))}}]),s}(de.Z),be=n(55210);var ye,_e,Ne,ke=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e)).state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[be.lG()]}},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.moderate_username).then((function(){e.setState({isLoaded:!0})}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"clean",value:function(){return!!this.isValid()||(j.Z.error(this.validate().username[0]),!1)}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),q.Z.dispatch((0,te.KP)(e,this.props.profile,this.props.user)),q.Z.dispatch((0,J._S)(this.props.profile,e.username,e.slug)),j.Z.success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(pe.Z,{label:gettext("New username"),for:"id_username"},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,i.Z)(H.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(ve.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():me||(me=(0,i.Z)(he.Z,{}))}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,Ze||(Ze=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Change username"))),this.getModalBody()))}}]),s}(de.Z);var xe,we,Re,Ce=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"countdown",(function(){window.setTimeout((function(){t.state.countdown>1?(t.setState({countdown:t.state.countdown-1}),t.countdown()):t.state.confirm||t.setState({confirm:!0})}),1e3)})),t.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.delete).then((function(){e.setState({isLoaded:!0}),e.countdown()}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.delete,{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){y.Z.stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(pe.Z,{label:gettext("User content"),for:"id_with_content"},void 0,(0,i.Z)(fe.Z,{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},void 0,gettext("Cancel")),(0,i.Z)(H.Z,{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},void 0,this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return(0,i.Z)("div",{className:"modal-body"},void 0,ye||(ye=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.state.isDeleted),(0,i.Z)("p",{},void 0,(0,i.Z)("a",{href:b.Z.get("USERS_LIST_URL")},void 0,gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(ve.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():_e||(_e=(0,i.Z)(he.Z,{}))}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,Ne||(Ne=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Delete user account"))),this.getModalBody()))}}]),s}(de.Z),Ee=n(59801);var Se=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},Le=function(e){(0,c.Z)(h,e);var t,n,a=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function h(){var e;(0,o.Z)(this,h);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,p.Z)((0,l.Z)(e),"showAvatarDialog",(function(){Ee.Z.show((0,s.$j)(Se)(ge))})),(0,p.Z)((0,l.Z)(e),"showRenameDialog",(function(){Ee.Z.show((0,s.$j)(Se)(ke))})),(0,p.Z)((0,l.Z)(e),"showDeleteDialog",(function(){Ee.Z.show((0,s.$j)(Se)(Ce))})),e}return(0,r.Z)(h,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},void 0,xe||(xe=(0,i.Z)("span",{className:"material-icon"},void 0,"portrait")),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},void 0,we||(we=(0,i.Z)("span",{className:"material-icon"},void 0,"credit_card")),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},void 0,Re||(Re=(0,i.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete account"))):null}},{key:"render",value:function(){return(0,i.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom",role:"menu"},void 0,this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton())}}]),h}(f().Component),Pe=n(69987),Oe=n(94417);var Te=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{className:"list-group nav-side"},void 0,this.props.pages.map((function(t){return(0,i.Z)(Pe.rU,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active"},t.component,(0,i.Z)("span",{className:"material-icon"},void 0,t.icon),t.name)})))}}]),s}(f().Component);function Be(e){return(0,i.Z)("div",{className:"page-tabs hidden-md hidden-lg"},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("ul",{className:"nav nav-pills",role:"menu"},void 0,e.pages.map((function(t){return(0,i.Z)(Oe.Z,{path:e.baseUrl+t.component+"/"},t.component,(0,i.Z)(Pe.rU,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,t.icon),t.name))})))))}var Ae,Ie=n(24678);var je=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"getUserStatus",value:function(){return(0,i.Z)("li",{className:"user-status-display"},void 0,(0,i.Z)(Ie.ZP,{user:this.props.profile,status:this.props.profile.status},void 0,(0,i.Z)(Ie.Jj,{user:this.props.profile,status:this.props.profile.status}),(0,i.Z)(Ie.pg,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?(0,i.Z)("li",{className:"user-rank"},void 0,(0,i.Z)("a",{href:this.props.profile.rank.url,className:"item-title"},void 0,this.props.profile.rank.name)):(0,i.Z)("li",{className:"user-rank"},void 0,(0,i.Z)("span",{className:"item-title"},void 0,this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?(0,i.Z)("li",{className:"user-title"},void 0,this.props.profile.title):this.props.profile.rank.title?(0,i.Z)("li",{className:"user-title"},void 0,this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return(0,i.Z)("li",{className:"user-joined-on"},void 0,(0,i.Z)("abbr",{title:e},void 0,t))}},{key:"getEmail",value:function(){return this.props.profile.email?(0,i.Z)("li",{className:"user-email"},void 0,(0,i.Z)("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},void 0,this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?(0,i.Z)(oe,{className:"btn btn-block btn-outline",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?(0,i.Z)("div",{className:"btn-group btn-group-justified"},void 0,(0,i.Z)("div",{className:"btn-group"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-moderate btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,Ae||(Ae=(0,i.Z)("span",{className:"material-icon"},void 0,"tonality")),gettext("Moderation")),(0,i.Z)(Le,{profile:this.props.profile}))):null}},{key:"render",value:function(){var e=this.props.profile.acl.can_follow,t=this.props.profile.acl.can_moderate,n=!(this.props.user.id===this.props.profile.id)&&this.props.user.acl.can_start_private_threads,a=0;e&&(a+=1),t&&(a+=1),n&&(a+=1);var s=a?2*a+1:0,o="page-header";return this.props.profile.rank.css_class&&(o+=" page-header-rank-"+this.props.profile.rank.css_class),(0,i.Z)("div",{className:"page-header-bg"},void 0,(0,i.Z)("div",{className:o},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)(De,{isActive:this.props.profile.is_active,isDeletingAccount:this.props.profile.is_deleting_account}),(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-9 col-md-offset-3"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-sm-"+(12-s)},void 0,(0,i.Z)(ae.ZP,{className:"user-avatar user-avatar-sm",user:this.props.profile,size:"100",size2x:"200"}),(0,i.Z)("h1",{},void 0,this.props.profile.username)),!!a&&(0,i.Z)("div",{className:"col-sm-"+s},void 0,(0,i.Z)("div",{className:"row xs-margin-top sm-margin-top"},void 0,!!n&&(0,i.Z)("div",{className:Me(a,0)},void 0,(0,i.Z)(ue,{className:"btn btn-default btn-block btn-outline",profile:this.props.profile,user:this.props.user})),!!e&&(0,i.Z)("div",{className:Me(a,1)},void 0,this.getFollowButton()),!!t&&(0,i.Z)("div",{className:Me(a,2)},void 0,this.getModerationButton()))))))),(0,i.Z)("div",{className:"header-stats"},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-9 col-md-offset-3"},void 0,(0,i.Z)("ul",{className:"list-inline"},void 0,this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))),(0,i.Z)(Be,{baseUrl:this.props.baseUrl,pages:this.props.pages,profile:this.props.profile})))}}]),s}(f().Component);function De(e){var t=e.isActive,n=e.isDeletingAccount;if(!1!==t&&!0!==n)return null;var a;return a=n?gettext("This user is deleting their account."):gettext("This user's account has been disabled by administrator."),(0,i.Z)("div",{className:"alert alert-danger"},void 0,(0,i.Z)("p",{},void 0,a))}function Me(e,t){var n="";return 1==e&&(n="col-xs-12"),2==e&&(n="col-xs-6 col-sm-6"),3==e&&(2==t?n="col-xs-12 col-sm-4 xs-margin-top":n+="col-xs-6 col-sm-4"),n}var Ue=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"update",(function(e){q.Z.dispatch((0,se.ZB)(e))})),t.startPolling(e.profile.api.index),t}return(0,r.Z)(s,[{key:"startPolling",value:function(e){y.Z.start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=b.Z.get("PROFILE").url,t=b.Z.get("PROFILE_PAGES");return(0,i.Z)("div",{className:"page page-user-profile"},void 0,(0,i.Z)(je,{baseUrl:e,pages:t,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration,user:this.props.user}),(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-3 hidden-xs hidden-sm"},void 0,(0,i.Z)("div",{className:"profile-side-avatar"},void 0,(0,i.Z)(ae.ZP,{user:this.props.profile,size:"400"})),(0,i.Z)(Te,{baseUrl:e,pages:t,profile:this.props.profile})),(0,i.Z)("div",{className:"col-md-9"},void 0,this.props.children))))}}]),s}(n(82125).Z);function ze(e){return{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}var He={posts:function(e){var t;t=e.user.id===e.profile.id?gettext("You have posted no messages."):interpolate(gettext("%(username)s posted no messages."),{username:e.profile.username},!0);var n=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var a=ngettext("You have posted %(posts)s message.","You have posted %(posts)s messages.",e.profile.posts);n=interpolate(a,{posts:e.profile.posts},!0)}else{var s=ngettext("%(username)s has posted %(posts)s message.","%(username)s has posted %(posts)s messages.",e.profile.posts);n=interpolate(s,{username:e.profile.username,posts:e.profile.posts},!0)}else n=gettext("Loading...");return f().createElement(V,(0,U.Z)({api:e.profile.api.posts,emptyMessage:t,header:n,title:gettext("Posts")},e))},threads:function(e){var t;t=e.user.id===e.profile.id?gettext("You have no started threads."):interpolate(gettext("%(username)s started no threads."),{username:e.profile.username},!0);var n=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var a=ngettext("You have started %(threads)s thread.","You have started %(threads)s threads.",e.profile.threads);n=interpolate(a,{threads:e.profile.threads},!0)}else{var s=ngettext("%(username)s has started %(threads)s thread.","%(username)s has started %(threads)s threads.",e.profile.threads);n=interpolate(s,{username:e.profile.username,threads:e.profile.threads},!0)}else n=gettext("Loading...");return f().createElement(V,(0,U.Z)({api:e.profile.api.threads,emptyMessage:t,header:n,title:gettext("Threads")},e))},followers:Q,follows:X,details:M,"username-history":ne,"ban-details":N};function Fe(){var e=[];return b.Z.get("PROFILE_PAGES").forEach((function(t){e.push(Object.assign({},t,{path:b.Z.get("PROFILE").url+t.component+"/",component:(0,s.$j)(ze)(He[t.component])}))})),e}var qe=n(39633);b.Z.addInitializer({name:"component:profile",initializer:function(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,qe.Z)({root:b.Z.get("PROFILE").url,component:(0,s.$j)(ze)(Ue),paths:Fe()})},after:"reducer:profile-hydrate"})},32488:function(e,t,n){"use strict";var a,s=n(32233),i=n(97326),o=n(4942),r=n(22928),l=n(15671),c=n(43144),u=n(79340),d=n(6215),p=n(61120),h=n(57588),f=n.n(h),v=n(82211),m=n(43345),Z=n(78657),g=n(53904),b=n(55210),y=n(93051);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}var N=function(e){(0,u.Z)(n,e);var t=_(n);function n(e){var a;return(0,l.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,email:"",validators:{email:[b.Do()]}},a}return(0,c.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(g.Z.error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return Z.Z.post(s.Z.get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?g.Z.info(e.detail):403===e.status&&e.ban?(0,y.Z)(e.ban):g.Z.apiError(e)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-request-activation-link"},void 0,(0,r.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,r.Z)("div",{className:"form-group"},void 0,(0,r.Z)("div",{className:"control-input"},void 0,(0,r.Z)("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),(0,r.Z)(v.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Send link"))))}}]),n}(m.Z),k=function(e){(0,u.Z)(n,e);var t=_(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-request-activation-link well-done"},void 0,(0,r.Z)("div",{className:"done-message"},void 0,a||(a=(0,r.Z)("div",{className:"message-icon"},void 0,(0,r.Z)("span",{className:"material-icon"},void 0,"check"))),(0,r.Z)("div",{className:"message-body"},void 0,(0,r.Z)("p",{},void 0,this.getMessage())),(0,r.Z)("button",{className:"btn btn-primary btn-block",type:"button",onClick:this.props.callback},void 0,gettext("Request another link"))))}}]),n}(f().Component),x=function(e){(0,u.Z)(n,e);var t=_(n);function n(e){var a;return(0,l.Z)(this,n),a=t.call(this,e),(0,o.Z)((0,i.Z)(a),"complete",(function(e){a.setState({complete:e})})),(0,o.Z)((0,i.Z)(a),"reset",(function(){a.setState({complete:!1})})),a.state={complete:!1},a}return(0,c.Z)(n,[{key:"render",value:function(){return this.state.complete?(0,r.Z)(k,{user:this.state.complete,callback:this.reset}):(0,r.Z)(N,{callback:this.complete})}}]),n}(f().Component),w=n(4869);s.Z.addInitializer({name:"component:request-activation-link",initializer:function(){document.getElementById("request-activation-link-mount")&&(0,w.Z)(x,"request-activation-link-mount",!1)},after:"store"})},11768:function(e,t,n){"use strict";var a,s,i=n(32233),o=n(97326),r=n(4942),l=n(22928),c=n(15671),u=n(43144),d=n(79340),p=n(6215),h=n(61120),f=n(57588),v=n.n(f),m=n(73935),Z=n.n(m),g=n(82211),b=n(43345),y=n(78657),_=n(53904),N=n(55210),k=n(93051);function x(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,h.Z)(e);if(t){var s=(0,h.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,p.Z)(this,n)}}var w=function(e){(0,d.Z)(n,e);var t=x(n);function n(e){var a;return(0,c.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,email:"",validators:{email:[N.Do()]}},a}return(0,u.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(_.Z.error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y.Z.post(i.Z.get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,k.Z)(e.ban):_.Z.apiError(e)}},{key:"render",value:function(){return(0,l.Z)("div",{className:"well well-form well-form-request-password-reset"},void 0,(0,l.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,l.Z)("div",{className:"form-group"},void 0,(0,l.Z)("div",{className:"control-input"},void 0,(0,l.Z)("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),(0,l.Z)(g.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Send link"))))}}]),n}(b.Z),R=function(e){(0,d.Z)(n,e);var t=x(n);function n(){return(0,c.Z)(this,n),t.apply(this,arguments)}return(0,u.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return(0,l.Z)("div",{className:"well well-form well-form-request-password-reset well-done"},void 0,(0,l.Z)("div",{className:"done-message"},void 0,a||(a=(0,l.Z)("div",{className:"message-icon"},void 0,(0,l.Z)("span",{className:"material-icon"},void 0,"check"))),(0,l.Z)("div",{className:"message-body"},void 0,(0,l.Z)("p",{},void 0,this.getMessage())),(0,l.Z)("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},void 0,gettext("Request another link"))))}}]),n}(v().Component),C=function(e){(0,d.Z)(n,e);var t=x(n);function n(){return(0,c.Z)(this,n),t.apply(this,arguments)}return(0,u.Z)(n,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?(0,l.Z)("p",{},void 0,(0,l.Z)("a",{href:i.Z.get("REQUEST_ACTIVATION_URL")},void 0,gettext("Activate your account."))):null}},{key:"render",value:function(){return(0,l.Z)("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},void 0,(0,l.Z)("div",{className:"container"},void 0,(0,l.Z)("div",{className:"message-panel"},void 0,s||(s=(0,l.Z)("div",{className:"message-icon"},void 0,(0,l.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,l.Z)("div",{className:"message-body"},void 0,(0,l.Z)("p",{className:"lead"},void 0,gettext("Your account is inactive.")),(0,l.Z)("p",{},void 0,this.props.message),this.getActivateButton()))))}}]),n}(v().Component),E=function(e){(0,d.Z)(n,e);var t=x(n);function n(e){var a;return(0,c.Z)(this,n),a=t.call(this,e),(0,r.Z)((0,o.Z)(a),"complete",(function(e){a.setState({complete:e})})),(0,r.Z)((0,o.Z)(a),"reset",(function(){a.setState({complete:!1})})),a.state={complete:!1},a}return(0,u.Z)(n,[{key:"showInactivePage",value:function(e){Z().render((0,l.Z)(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?(0,l.Z)(R,{callback:this.reset,user:this.state.complete}):(0,l.Z)(w,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),n}(v().Component),S=n(4869);i.Z.addInitializer({name:"component:request-password-reset",initializer:function(){document.getElementById("request-password-reset-mount")&&(0,S.Z)(E,"request-password-reset-mount",!1)},after:"store"})},61323:function(e,t,n){"use strict";var a,s=n(32233),i=n(97326),o=n(4942),r=n(22928),l=n(15671),c=n(43144),u=n(79340),d=n(6215),p=n(61120),h=n(57588),f=n.n(h),v=n(73935),m=n.n(v),Z=n(82211),g=n(43345),b=n(14467),y=n(78657),_=n(98274),N=n(59801),k=n(53904),x=n(93051),w=n(19755);function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}var C=function(e){(0,u.Z)(n,e);var t=R(n);function n(e){var a;return(0,l.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,password:""},a}return(0,c.Z)(n,[{key:"clean",value:function(){return!!this.state.password.trim().length||(k.Z.error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return y.Z.post(s.Z.get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,x.Z)(e.ban):k.Z.apiError(e)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-reset-password"},void 0,(0,r.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,r.Z)("div",{className:"form-group"},void 0,(0,r.Z)("div",{className:"control-input"},void 0,(0,r.Z)("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,r.Z)(Z.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Change password"))))}}]),n}(g.Z),E=function(e){(0,u.Z)(n,e);var t=R(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){N.Z.show(b.Z)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"page page-message page-message-success page-forgotten-password-changed"},void 0,(0,r.Z)("div",{className:"container"},void 0,(0,r.Z)("div",{className:"message-panel"},void 0,a||(a=(0,r.Z)("div",{className:"message-icon"},void 0,(0,r.Z)("span",{className:"material-icon"},void 0,"check"))),(0,r.Z)("div",{className:"message-body"},void 0,(0,r.Z)("p",{className:"lead"},void 0,this.getMessage()),(0,r.Z)("p",{},void 0,gettext("You will have to sign in using new password before continuing.")),(0,r.Z)("p",{},void 0,(0,r.Z)("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},void 0,gettext("Sign in")))))))}}]),n}(f().Component),S=function(e){(0,u.Z)(n,e);var t=R(n);function n(){var e;(0,l.Z)(this,n);for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return e=t.call.apply(t,[this].concat(s)),(0,o.Z)((0,i.Z)(e),"complete",(function(e){_.Z.softSignOut(),w('#hidden-login-form input[name="redirect_to"]').remove(),m().render((0,r.Z)(E,{user:e}),document.getElementById("page-mount"))})),e}return(0,c.Z)(n,[{key:"render",value:function(){return(0,r.Z)(C,{callback:this.complete})}}]),n}(f().Component),L=n(4869);s.Z.addInitializer({name:"component:reset-password-form",initializer:function(){document.getElementById("reset-password-form-mount")&&(0,L.Z)(S,"reset-password-form-mount",!1)},after:"store"})},15049:function(e,t,n){"use strict";var a=n(37424),s=n(22928),i=n(87462),o=n(57588),r=n.n(o),l=n(15671),c=n(43144),u=n(97326),d=n(79340),p=n(6215),h=n(61120),f=n(4942),v=n(32233),m=n(43345),Z=n(21981),g=n(16427),b=n(6935),y=n(78657),_=n(53904),N=n(90287);var k=function(e){(0,d.Z)(i,e);var t,n,a=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,h.Z)(t);if(n){var s=(0,h.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,p.Z)(this,e)});function i(e){var t;return(0,l.Z)(this,i),t=a.call(this,e),(0,f.Z)((0,u.Z)(t),"onQueryChange",(function(e){t.changeValue("query",e.target.value)})),t.state={isLoading:!1,query:e.search.query},t}return(0,c.Z)(i,[{key:"componentDidMount",value:function(){this.state.query.length&&this.handleSubmit()}},{key:"clean",value:function(){return!!this.state.query.trim().length||(_.Z.error(gettext("You have to enter search query.")),!1)}},{key:"send",value:function(){return N.Z.dispatch((0,g.Vx)({isLoading:!0})),y.Z.get(v.Z.get("SEARCH_API"),{q:this.state.query.trim()})}},{key:"handleSuccess",value:function(e){N.Z.dispatch((0,g.Vx)({query:this.state.query.trim(),isLoading:!1,providers:e})),e.forEach((function(e){"users"===e.id?N.Z.dispatch((0,b.ZB)(e.results.results)):"threads"===e.id&&N.Z.dispatch((0,Z.zD)(e.results))}))}},{key:"handleError",value:function(e){_.Z.apiError(e),N.Z.dispatch((0,g.Vx)({isLoading:!1}))}},{key:"render",value:function(){return(0,s.Z)("div",{className:"page-header-bg"},void 0,(0,s.Z)("div",{className:"page-header page-search-form"},void 0,(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"container"},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)("div",{className:"col-xs-12 col-md-3"},void 0,(0,s.Z)("h1",{},void 0,gettext("Search"))),(0,s.Z)("div",{className:"col-xs-12 col-md-9"},void 0,(0,s.Z)("div",{className:"row xs-margin-top sm-margin-top"},void 0,(0,s.Z)("div",{className:"col-xs-12 col-sm-8 col-md-9"},void 0,(0,s.Z)("div",{className:"form-group"},void 0,(0,s.Z)("input",{className:"form-control",disabled:this.props.search.isLoading||this.state.isLoading,onChange:this.onQueryChange,type:"text",value:this.state.query}))),(0,s.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3"},void 0,(0,s.Z)("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.props.search.isLoading||this.state.isLoading},void 0,gettext("Search"))))))))))}}]),i}(m.Z),x=n(69987);function w(e){return(0,s.Z)("div",{className:"list-group nav-side"},void 0,e.providers.map((function(e){return(0,s.Z)(x.rU,{activeClassName:"active",className:"list-group-item",to:e.url},e.id,(0,s.Z)("span",{className:"material-icon"},void 0,e.icon),e.name,(0,s.Z)(R,{results:e.results}))})))}function R(e){if(!e.results)return null;var t=e.results.count;return t>1e6?t=Math.ceil(t/1e6)+"KK":t>1e3&&(t=Math.ceil(t/1e3)+"K"),(0,s.Z)("span",{className:"badge"},void 0,t)}function C(e){return(0,s.Z)("div",{className:"page page-search"},void 0,(0,s.Z)(k,{provider:e.provider,search:e.search}),(0,s.Z)("div",{className:"container"},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)("div",{className:"col-md-3"},void 0,(0,s.Z)(w,{providers:e.search.providers})),(0,s.Z)("div",{className:"col-md-9"},void 0,e.children,(0,s.Z)(E,{provider:e.provider,search:e.search})))))}function E(e){var t=null;if(e.search.providers.forEach((function(n){n.id===e.provider.id&&(t=n.time)})),null===t)return null;var n=gettext("Search took %(time)s s to complete");return(0,s.Z)("footer",{className:"search-footer"},void 0,(0,s.Z)("p",{},void 0,interpolate(n,{time:t},!0)))}var S=n(11005),L=n(82211);function P(e){return(0,s.Z)("div",{},void 0,(0,s.Z)(S.Z,{isReady:!0,posts:e.results}),r().createElement(O,e))}n(69092);var O=function(e){(0,d.Z)(i,e);var t,n,a=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,h.Z)(t);if(n){var s=(0,h.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,p.Z)(this,e)});function i(){var e;(0,l.Z)(this,i);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=a.call.apply(a,[this].concat(n)),(0,f.Z)((0,u.Z)(e),"onClick",(function(){N.Z.dispatch((0,Z.Vx)({isBusy:!0})),y.Z.get(e.props.provider.api,{q:e.props.query,page:e.props.next}).then((function(e){e.forEach((function(e){"threads"===e.id&&(N.Z.dispatch((0,Z.R3)(e.results)),N.Z.dispatch((0,g.P0)(e)))})),N.Z.dispatch((0,Z.Vx)({isBusy:!1}))}),(function(e){_.Z.apiError(e),N.Z.dispatch((0,Z.Vx)({isBusy:!1}))}))})),e}return(0,c.Z)(i,[{key:"render",value:function(){return this.props.more?(0,s.Z)("div",{className:"pager-more"},void 0,(0,s.Z)(L.Z,{className:"btn btn-default btn-outline",loading:this.props.isBusy,onClick:this.onClick},void 0,gettext("Show more"))):null}}]),i}(r().Component);function T(e){return e.posts&&e.posts.count?e.children:e.query.length?(0,s.Z)("p",{className:"lead"},void 0,gettext("No threads matching search query have been found.")):(0,s.Z)("p",{className:"lead"},void 0,gettext("Enter at least two characters to search threads."))}var B=n(40429);function A(e){return e.users.length?e.children:e.query.length?(0,s.Z)("p",{className:"lead"},void 0,gettext("No users matching search query have been found.")):(0,s.Z)("p",{className:"lead"},void 0,gettext("Enter at least two characters to search users."))}var I={threads:function(e){return(0,s.Z)(C,{provider:e.route.provider,search:e.search},void 0,(0,s.Z)(T,{query:e.search.query,posts:e.posts},void 0,r().createElement(P,(0,i.Z)({provider:e.route.provider,query:e.search.query},e.posts))))},users:function(e){return(0,s.Z)(C,{provider:e.route.provider,search:e.search},void 0,(0,s.Z)(A,{query:e.search.query,users:e.users},void 0,(0,s.Z)(B.Z,{cols:3,isReady:!0,users:e.users})))}};function j(e){return{posts:e.posts,search:e.search,tick:e.tick.tick,user:e.auth.user,users:e.users}}var D=n(39633);v.Z.addInitializer({name:"component:search",initializer:function(e){var t;"misago:search"===e.get("CURRENT_LINK")&&(0,D.Z)({paths:(t=v.Z.get("SEARCH_PROVIDERS"),t.map((function(e){return{path:e.url,component:(0,a.$j)(j)(I[e.id]),provider:e}})))})},after:"store"})},61814:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588);var p={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"},h=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return this.props.isVisible?e+=" in":e+=" out",e}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getSnackbarClass()},void 0,(0,i.Z)("p",{className:"alert "+p[this.props.type]},void 0,this.props.message))}}]),s}(n.n(d)().Component);function f(e){return e.snackbar}var v=n(4869);s.Z.addInitializer({name:"component:snackbar",initializer:function(){(0,v.Z)((0,a.$j)(f)(h),"snackbar-mount")},after:"snackbar"})},95920:function(e,t,n){"use strict";var a=n(57588),s=n.n(a),i=n(22928),o=n(15671),r=n(43144),l=n(97326),c=n(79340),u=n(6215),d=n(61120),p=n(4942),h=n(32233),f=n(26106),v=n(82211),m=n(43345),Z=n(96359),g=n(78657),b=n(53904),y=n(55210),_=function(e){var t=e.backendName,n=gettext("Sign in with %(backend)s"),a=interpolate(n,{backend:t},!0);return(0,i.Z)("div",{className:"page-header-bg"},void 0,(0,i.Z)("div",{className:"page-header"},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("h1",{},void 0,a))))};function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){(0,p.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var x=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"handlePrivacyPolicyChange",(function(e){var n=e.target.value;t.handleToggleAgreement("privacyPolicy",n)})),(0,p.Z)((0,l.Z)(t),"handleTermsOfServiceChange",(function(e){var n=e.target.value;t.handleToggleAgreement("termsOfService",n)})),(0,p.Z)((0,l.Z)(t),"handleToggleAgreement",(function(e,n){t.setState((function(a,s){if(null===a[e]){var i=k(k({},a.errors),{},(0,p.Z)({},e,null));return(0,p.Z)({errors:i},e,n)}var o=t.state.validators[e][0],r=k(k({},a.errors),{},(0,p.Z)({},e,[o(null)]));return(0,p.Z)({errors:r},e,null)}))}));var n={email:[y.Do()],username:[y.lG()]};return h.Z.get("TERMS_OF_SERVICE_ID")&&(n.termsOfService=[y.fT()]),h.Z.get("PRIVACY_POLICY_ID")&&(n.privacyPolicy=[y.jA()]),t.state={email:e.email||"",emailProtected:!!e.email,username:e.username||"",termsOfService:null,privacyPolicy:null,validators:n,errors:{},isLoading:!1},t}return(0,r.Z)(s,[{key:"clean",value:function(){if(this.validate(),-1!==[this.state.email.trim().length,this.state.username.trim().length].indexOf(0))return b.Z.error(gettext("Fill out all fields.")),!1;var e=this.state.validators;return h.Z.get("TERMS_OF_SERVICE_ID")&&null===this.state.termsOfService?(b.Z.error(e.termsOfService[0](null)),!1):!h.Z.get("PRIVACY_POLICY_ID")||null!==this.state.privacyPolicy||(b.Z.error(e.privacyPolicy[0](null)),b.Z.error(gettext("You need to accept the privacy policy.")),!1)}},{key:"send",value:function(){return g.Z.post(this.props.url,{email:this.state.email,username:this.state.username,terms_of_service:this.state.termsOfService,privacy_policy:this.state.privacyPolicy})}},{key:"handleSuccess",value:function(e){(0,this.props.onRegistrationComplete)(e)}},{key:"handleError",value:function(e){if(200===e.status)(0,this.props.onRegistrationComplete)({activation:"active",step:"done",username:this.state.username});else if(400===e.status){var t={errors:e};e.email&&(t.emailProtected=!1),this.setState(t)}else b.Z.apiError(e)}},{key:"render",value:function(){var e=this.props.backend_name,t=this.state,n=t.email,a=t.emailProtected,s=t.username,o=t.isLoading,r=null;if(a){var l=gettext("Your e-mail address has been verified by %(backend)s.");r=interpolate(l,{backend:e},!0)}return(0,i.Z)("div",{className:"page page-social-auth page-social-sauth-register"},void 0,(0,i.Z)(_,{backendName:e}),(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Complete your details"))),(0,i.Z)("div",{className:"panel-body"},void 0,(0,i.Z)(Z.Z,{for:"id_username",label:gettext("Username"),validation:this.state.errors.username},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:o,onChange:this.bindInput("username"),value:s})),(0,i.Z)(Z.Z,{for:"id_email",label:gettext("E-mail address"),helpText:r,validation:a?null:this.state.errors.email},void 0,(0,i.Z)("input",{type:"email",id:"id_email",className:"form-control",disabled:o||a,onChange:this.bindInput("email"),value:n})),(0,i.Z)(f.Z,{errors:this.state.errors,privacyPolicy:this.state.privacyPolicy,termsOfService:this.state.termsOfService,onPrivacyPolicyChange:this.handlePrivacyPolicyChange,onTermsOfServiceChange:this.handleTermsOfServiceChange})),(0,i.Z)("div",{className:"panel-footer"},void 0,(0,i.Z)(v.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Sign in")))))))))}}]),s}(m.Z),w=function(e){var t,n,a=e.activation,s=e.backend_name,o=e.username;return n="user"===a?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===a?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):gettext("%(username)s, your account has been created and you have been signed in to it."),t="active"===a?"check":"info_outline",(0,i.Z)("div",{className:"page page-social-auth page-social-sauth-register"},void 0,(0,i.Z)(_,{backendName:s}),(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Registration completed!"))),(0,i.Z)("div",{className:"panel-body panel-message-body"},void 0,(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,t)),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,interpolate(n,{username:o},!0)),(0,i.Z)("p",{className:"help-block"},void 0,(0,i.Z)("a",{className:"btn btn-default",href:h.Z.get("MISAGO_PATH")},void 0,gettext("Return to forum index"))))))))))};var R=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"handleRegistrationComplete",(function(e){var n=e.activation,a=e.email,s=e.step,i=e.username;t.setState({activation:n,email:a,step:s,username:i})})),t.state={step:e.step,activation:e.activation||"",email:e.email||"",username:e.username||""},t}return(0,r.Z)(s,[{key:"render",value:function(){var e=this.props,t=e.backend_name,n=e.url,a=this.state,s=a.activation,o=a.email,r=a.step,l=a.username;return"register"===r?(0,i.Z)(x,{backend_name:t,email:o,url:n,username:l,onRegistrationComplete:this.handleRegistrationComplete}):(0,i.Z)(w,{activation:s,backend_name:t,email:o,url:n,username:l})}}]),s}(s().Component),C=n(4869);h.Z.addInitializer({name:"component:social-auth",initializer:function(e){if("misago:social-complete"===e.get("CURRENT_LINK")){var t=e.get("SOCIAL_AUTH_FORM");(0,C.Z)(s().createElement(R,t),"page-mount")}},after:"store"})},36407:function(e,t,n){"use strict";var a,s,i=n(37424),o=n(22928),r=n(15671),l=n(43144),c=n(97326),u=n(79340),d=n(6215),p=n(61120),h=n(4942),f=n(57588),v=n.n(f),m=n(87462),Z=n(43345),g=n(96359),b=n(8154),y=n(7738),_=n(78657),N=n(59801),k=n(53904),x=n(90287);var w,R=function(e){(0,u.Z)(i,e);var t,n,s=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function i(e){var t;return(0,r.Z)(this,i),t=s.call(this,e),(0,h.Z)((0,c.Z)(t),"onUsernameChange",(function(e){t.changeValue("username",e.target.value)})),t.state={isLoading:!1,username:""},t}return(0,l.Z)(i,[{key:"clean",value:function(){return!!this.state.username.trim().length||(k.Z.error(gettext("You have to enter user name.")),!1)}},{key:"send",value:function(){return _.Z.patch(this.props.thread.api.index,[{op:"add",path:"participants",value:this.state.username},{op:"add",path:"acl",value:1}])}},{key:"handleSuccess",value:function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants)),k.Z.success(gettext("New participant has been added to thread.")),N.Z.hide()}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog modal-sm",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,a||(a=(0,o.Z)(C,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_username",label:gettext("User to add")},void 0,(0,o.Z)("input",{id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.onUsernameChange,type:"text",value:this.state.username}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-block btn-primary",disabled:this.state.isLoading},void 0,gettext("Add participant")),(0,o.Z)("button",{className:"btn btn-block btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel"))))))}}]),i}(Z.Z);function C(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,s||(s=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Add participant")))}var E=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(R,{thread:e.props.thread}))})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.thread.acl.can_add_participants?(0,o.Z)("div",{className:"col-xs-12 col-sm-3"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-block",onClick:this.onClick,type:"button"},void 0,w||(w=(0,o.Z)("span",{className:"material-icon"},void 0,"person_add")),gettext("Add participant"))):null}}]),s}(v().Component),S=n(32233);var L=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onClick",(function(){var e,n,a=!1;if(t.isUser)a=window.confirm(gettext("Are you sure you want to take over this thread?"));else{var s=gettext("Are you sure you want to change thread owner to %(user)s?");a=window.confirm(interpolate(s,{user:t.props.participant.username},!0))}a&&(e=t.props.thread,n=t.props.participant,_.Z.patch(e.api.index,[{op:"replace",path:"owner",value:n.id},{op:"add",path:"acl",value:1}]).then((function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants));var t=gettext("%(user)s has been made new thread owner.");k.Z.success(interpolate(t,{user:n.username},!0))}),(function(e){k.Z.apiError(e)})))})),t.isUser=e.participant.id===e.user.id,t}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.participant.is_owner?null:this.props.thread.acl.can_change_owner?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,gettext("Make owner"))):null}}]),s}(v().Component);var P,O,T,B=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onClick",(function(){var e,n,a=!1;if(t.isUser)a=window.confirm(gettext("Are you sure you want to leave this thread?"));else{var s=gettext("Are you sure you want to remove %(user)s from this thread?");a=window.confirm(interpolate(s,{user:t.props.participant.username},!0))}a&&(t.isUser?(e=t.props.thread,n=t.props.participant,_.Z.patch(e.api.index,[{op:"remove",path:"participants",value:n.id}]).then((function(){k.Z.success(gettext("You have left this thread.")),window.setTimeout((function(){window.location=S.Z.get("PRIVATE_THREADS_URL")}),3e3)}),(function(e){k.Z.apiError(e)}))):function(e,t){_.Z.patch(e.api.index,[{op:"remove",path:"participants",value:t.id},{op:"add",path:"acl",value:1}]).then((function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants));var n=gettext("%(user)s has been removed from this thread.");k.Z.success(interpolate(n,{user:t.username},!0))}),(function(e){k.Z.apiError(e)}))}(t.props.thread,t.props.participant))})),t.isUser=e.participant.id===e.user.id,t}return(0,l.Z)(s,[{key:"render",value:function(){var e=this.props.user.acl.can_moderate_private_threads;return this.props.userIsOwner||this.isUser||e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,this.isUser?gettext("Leave thread"):gettext("Remove"))):null}}]),s}(v().Component),A=n(19605);function I(e){var t=e.participant,n="btn btn-default";return t.is_owner&&(n="btn btn-primary"),n+=" btn-user btn-block",(0,o.Z)("div",{className:"col-xs-12 col-sm-3 col-md-2 participant-card"},void 0,(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{"aria-haspopup":"true","aria-expanded":"false",className:n,"data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)(A.ZP,{size:"34",user:t}),(0,o.Z)("span",{className:"btn-text"},void 0,t.username)),(0,o.Z)("ul",{className:"dropdown-menu stick-to-bottom"},void 0,(0,o.Z)(j,{isOwner:t.is_owner}),P||(P=(0,o.Z)("li",{className:"dropdown-header"})),(0,o.Z)("li",{},void 0,(0,o.Z)("a",{href:t.url},void 0,gettext("See profile"))),O||(O=(0,o.Z)("li",{role:"separator",className:"divider"})),v().createElement(L,e),v().createElement(B,e))))}function j(e){return e.isOwner?(0,o.Z)("li",{className:"dropdown-header dropdown-header-owner"},void 0,T||(T=(0,o.Z)("span",{className:"material-icon"},void 0,"start")),(0,o.Z)("span",{className:"icon-text"},void 0,gettext("Thread owner"))):null}function D(e){var t=e.participants,n=e.thread,a=e.user,s=e.userIsOwner;return(0,o.Z)("div",{className:"participants-cards"},void 0,(0,o.Z)("div",{className:"row"},void 0,t.map((function(e){return(0,o.Z)(I,{participant:e,thread:n,user:a,userIsOwner:s},e.id)}))))}function M(e){return e.participants.length?(0,o.Z)("div",{className:"panel panel-default panel-participants"},void 0,(0,o.Z)("div",{className:"panel-body"},void 0,v().createElement(D,(0,m.Z)({userIsOwner:U(e.user,e.participants)},e)),(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)(E,{thread:e.thread}),(0,o.Z)("div",{className:"col-xs-12 col-sm-9"},void 0,(0,o.Z)("p",{},void 0,function(e){var t=e.length,n=ngettext("This thread has %(users)s participant.","This thread has %(users)s participants.",t);return interpolate(n,{users:t},!0)}(e.participants)))))):null}function U(e,t){return t[0].id===e.id}var z=n(91876),H={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off",changed_owner:"grade",tookover:"grade",added_participant:"person_add",owner_left:"person_outline",participant_left:"person_outline",removed_participant:"remove_circle_outline"};function F(e){return(0,o.Z)("div",{className:"post-avatar"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,H[e.post.event_type]))}var q=n(89627),Y=n(30381),V=n.n(Y),$=n(92747);function G(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function W(e){return e.post.acl.can_hide?(0,o.Z)("li",{className:"event-controls"},void 0,v().createElement(K,e),v().createElement(J,e),v().createElement(Q,e)):null}var K=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){x.Z.dispatch($.r$(e.props.post,{is_hidden:!0,hidden_on:V()(),hidden_by_name:e.props.user.username,url:Object.assign(e.props.post.url,{hidden_by:e.props.user.url})})),_.Z.patch(e.props.post.api.index,[{op:"replace",path:"is-hidden",value:!0}]).then((function(t){x.Z.dispatch($.r$(e.props.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{is_hidden:!1}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.is_hidden?null:(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Hide"))}}]),n}(v().Component),J=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){x.Z.dispatch($.r$(e.props.post,{is_hidden:!1})),_.Z.patch(e.props.post.api.index,[{op:"replace",path:"is-hidden",value:!1}]).then((function(t){x.Z.dispatch($.r$(e.props.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{is_hidden:!0}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.is_hidden?(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Unhide")):null}}]),n}(v().Component),Q=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){window.confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"))&&e.delete()})),(0,h.Z)((0,c.Z)(e),"delete",(function(){x.Z.dispatch($.r$(e.props.post,{isDeleted:!0})),_.Z.delete(e.props.post.api.index).then((function(){k.Z.success(gettext("Event has been deleted."))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{isDeleted:!1}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Delete"))}}]),n}(v().Component),X='<span class="item-title">%(user)s</span>',ee='<a href="%(url)s" class="item-title">%(user)s</a>';function te(e){return(0,o.Z)("ul",{className:"list-inline event-info"},void 0,v().createElement(ne,e),v().createElement(ae,e),v().createElement(W,e))}function ne(e){if(e.post.is_hidden){var t;t=e.post.url.hidden_by?interpolate(ee,{url:(0,q.Z)(e.post.url.hidden_by),user:(0,q.Z)(e.post.hidden_by_name)},!0):interpolate(X,{user:(0,q.Z)(e.post.hidden_by_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.post.hidden_on.format("LLL")),relative:(0,q.Z)(e.post.hidden_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:n},!0);return(0,o.Z)("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:a}})}return null}function ae(e){var t;t=e.post.poster?interpolate(ee,{url:(0,q.Z)(e.post.poster.url),user:(0,q.Z)(e.post.poster_name)},!0):interpolate(X,{user:(0,q.Z)(e.post.poster_name)},!0);var n=interpolate('<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',{url:(0,q.Z)(e.post.url.index),absolute:(0,q.Z)(e.post.posted_on.format("LLL")),relative:(0,q.Z)(e.post.posted_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:n},!0);return(0,o.Z)("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:a}})}var se={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden."),tookover:gettext("Took thread over."),owner_left:gettext("Owner has left thread. This thread is now closed."),participant_left:gettext("Participant has left thread.")},ie='<a href="%(url)s" class="item-title">%(name)s</a>',oe='<span class="item-title">%(name)s</span>';function re(e){return se[e.post.event_type]?(0,o.Z)("p",{className:"event-message"},void 0,se[e.post.event_type]):"changed_title"===e.post.event_type?v().createElement(le,e):"moved"===e.post.event_type?v().createElement(ce,e):"merged"===e.post.event_type?v().createElement(ue,e):"changed_owner"===e.post.event_type?v().createElement(de,e):"added_participant"===e.post.event_type?v().createElement(pe,e):"removed_participant"===e.post.event_type?v().createElement(he,e):null}function le(e){var t=(0,q.Z)(gettext("Thread title has been changed from %(old_title)s.")),n=interpolate(oe,{name:(0,q.Z)(e.post.event_context.old_title)},!0),a=interpolate(t,{old_title:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function ce(e){var t=(0,q.Z)(gettext("Thread has been moved from %(from_category)s.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.from_category.url),name:(0,q.Z)(e.post.event_context.from_category.name)},!0),a=interpolate(t,{from_category:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function ue(e){var t=(0,q.Z)(gettext("The %(merged_thread)s thread has been merged into this thread.")),n=interpolate(oe,{name:(0,q.Z)(e.post.event_context.merged_thread)},!0),a=interpolate(t,{merged_thread:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function de(e){var t=(0,q.Z)(gettext("Changed thread owner to %(user)s.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function pe(e){var t=(0,q.Z)(gettext("Added %(user)s to thread.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function he(e){var t=(0,q.Z)(gettext("Removed %(user)s from thread.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function fe(e){return e.post.is_read?null:(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left"},void 0,(0,o.Z)("div",{className:"event-label"},void 0,(0,o.Z)("span",{className:"label label-unread"},void 0,gettext("New event")))))}var ve=n(19755);var me=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){return(0,r.Z)(this,s),a.apply(this,arguments)}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||ve(this.element).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout((function(){var t=e.element.getBoundingClientRect(),n=t.height+t.top,a=document.documentElement.clientHeight;n<5||n>a||(x.Z.dispatch($.r$(e.props.post,{is_read:!0})),_.Z.post(e.props.post.api.read).then((function(t){x.Z.dispatch(y.Vx(e.props.thread,{is_read:t.thread_is_read}))}),(function(e){k.Z.apiError(e)})))}),1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){var e=this;return v().createElement("div",{className:this.props.className,ref:function(t){t&&(e.element=t)}},this.props.children)}}]),s}(v().Component);function Ze(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&(t="event post-hidden"),(0,o.Z)("li",{id:"post-"+e.post.id,className:t},void 0,(0,o.Z)(fe,{post:e.post}),(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-2 col-sm-3 text-right"},void 0,v().createElement(F,e)),(0,o.Z)("div",{className:"col-xs-10 col-sm-9 text-left"},void 0,(0,o.Z)(me,{post:e.post},void 0,v().createElement(re,e),v().createElement(te,e)))))}var ge=n(69130),be=n(48772);function ye(e){return(0,o.Z)("div",{className:"col-xs-12 col-md-6"},void 0,v().createElement(_e,e),(0,o.Z)("div",{className:"post-attachment"},void 0,(0,o.Z)("a",{href:e.attachment.url.index,className:"attachment-name item-title"},void 0,e.attachment.filename),v().createElement(xe,e)))}function _e(e){return e.attachment.is_image?(0,o.Z)("div",{className:"post-attachment-preview"},void 0,v().createElement(ke,e)):(0,o.Z)("div",{className:"post-attachment-preview"},void 0,v().createElement(Ne,e))}function Ne(e){return(0,o.Z)("a",{href:e.attachment.url.index,className:"material-icon"},void 0,"insert_drive_file")}function ke(e){var t=e.attachment.url.thumb||e.attachment.url.index;return(0,o.Z)("a",{className:"post-thumbnail",href:e.attachment.url.index,style:{backgroundImage:'url("'+(0,q.Z)(t)+'")'}})}function xe(e){var t;t=e.attachment.url.uploader?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.attachment.url.uploader),user:(0,q.Z)(e.attachment.uploader_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.attachment.uploader_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.attachment.uploaded_on.format("LLL")),relative:(0,q.Z)(e.attachment.uploaded_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.attachment.filetype,size:(0,be.Z)(e.attachment.size),uploader:t,uploaded_on:n},!0);return(0,o.Z)("p",{className:"post-attachment-description",dangerouslySetInnerHTML:{__html:a}})}function we(e){return function(e){return(!e.is_hidden||e.acl.can_see_hidden)&&e.attachments}(e.post)?(0,o.Z)("div",{className:"post-attachments"},void 0,(0,ge.Z)(e.post.attachments,2).map((function(e){var t=e.map((function(e){return e?e.id:0})).join("_");return(0,o.Z)(Re,{row:e},t)}))):null}function Re(e){return(0,o.Z)("div",{className:"row"},void 0,e.row.map((function(e){return(0,o.Z)(ye,{attachment:e},e?e.id:0)})))}var Ce,Ee,Se,Le,Pe=n(69092);function Oe(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?v().createElement(Be,e):e.post.content?v().createElement(Te,e):v().createElement(Ae,e)}function Te(e){return(0,o.Z)(me,{className:"post-body",post:e.post},void 0,(0,o.Z)(Pe.Z,{markup:e.post.content}))}function Be(e){var t;t=e.post.hidden_by?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.post.url.hidden_by),user:(0,q.Z)(e.post.hidden_by_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.post.hidden_by_name)},!0);var n=interpolate('<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.post.hidden_on.format("LLL")),relative:(0,q.Z)(e.post.hidden_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:n},!0);return(0,o.Z)(me,{className:"post-body post-body-hidden",post:e.post},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("This post is hidden. You cannot see its contents.")),(0,o.Z)("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:a}}))}function Ae(e){return(0,o.Z)(me,{className:"post-body post-body-invalid",post:e.post},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("This post's contents cannot be displayed.")),(0,o.Z)("p",{className:"text-muted"},void 0,gettext("This error is caused by invalid post content manipulation.")))}function Ie(e){var t=e.post,n=e.thread,a=e.user;if(!Ue(t)||t.id!==n.best_answer)return null;var s;return s=a.id&&n.best_answer_marked_by===a.id?interpolate(gettext("Marked as best answer by you %(marked_on)s."),{marked_on:n.best_answer_marked_on.fromNow()},!0):interpolate(gettext("Marked as best answer by %(marked_by)s %(marked_on)s."),{marked_by:n.best_answer_marked_by_name,marked_on:n.best_answer_marked_on.fromNow()},!0),(0,o.Z)("div",{className:"post-status-message post-status-best-answer"},void 0,Ce||(Ce=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),(0,o.Z)("p",{},void 0,s))}function je(e){return Ue(e.post)&&e.post.is_hidden?(0,o.Z)("div",{className:"post-status-message post-status-hidden"},void 0,Ee||(Ee=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),(0,o.Z)("p",{},void 0,gettext("This post is hidden. Only users with permission may see its contents."))):null}function De(e){return Ue(e.post)&&e.post.is_unapproved?(0,o.Z)("div",{className:"post-status-message post-status-unapproved"},void 0,Se||(Se=(0,o.Z)("span",{className:"material-icon"},void 0,"remove_circle_outline")),(0,o.Z)("p",{},void 0,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function Me(e){return Ue(e.post)&&e.post.is_protected?(0,o.Z)("div",{className:"post-status-message post-status-protected visible-xs-block"},void 0,Le||(Le=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),(0,o.Z)("p",{},void 0,gettext("This post is protected. Only moderators may change it."))):null}function Ue(e){return!e.is_hidden||e.acl.can_see_hidden}function ze(e){x.Z.dispatch($.r$(e.post,{is_unapproved:!1})),Ge(e,[{op:"replace",path:"is-unapproved",value:!1}],{is_unapproved:e.post.is_unapproved})}function He(e){x.Z.dispatch($.r$(e.post,{is_protected:!0})),Ge(e,[{op:"replace",path:"is-protected",value:!0}],{is_protected:e.post.is_protected})}function Fe(e){x.Z.dispatch($.r$(e.post,{is_protected:!1})),Ge(e,[{op:"replace",path:"is-protected",value:!1}],{is_protected:e.post.is_protected})}function qe(e){x.Z.dispatch($.r$(e.post,{is_hidden:!0,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.url})})),Ge(e,[{op:"replace",path:"is-hidden",value:!0}],{is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url})}function Ye(e){x.Z.dispatch($.r$(e.post,{is_hidden:!1})),Ge(e,[{op:"replace",path:"is-hidden",value:!1}],{is_hidden:e.post.is_hidden})}function Ve(e){var t=e.post.last_likes||[],n=[e.user].concat(t),a=n.length>3?n.slice(0,-1):n;x.Z.dispatch($.r$(e.post,{is_liked:!0,likes:e.post.likes+1,last_likes:a})),Ge(e,[{op:"replace",path:"is-liked",value:!0}],{is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes})}function $e(e){x.Z.dispatch($.r$(e.post,{is_liked:!1,likes:e.post.likes-1,last_likes:e.post.last_likes.filter((function(t){return!t.id||t.id!==e.user.id}))}));var t={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};Ge(e,[{op:"replace",path:"is-liked",value:!1}],t)}function Ge(e,t,n){_.Z.patch(e.post.api.index,t).then((function(t){x.Z.dispatch($.r$(e.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.post,n))}))}function We(e){window.confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"))&&(x.Z.dispatch($.r$(e.post,{isDeleted:!0})),_.Z.delete(e.post.api.index).then((function(){k.Z.success(gettext("Post has been deleted."))}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),x.Z.dispatch($.r$(e.post,{isDeleted:!1}))})))}function Ke(e){var t=e.post,n=e.user;x.Z.dispatch(y.Vx({best_answer:t.id,best_answer_is_protected:t.is_protected,best_answer_marked_on:V()(),best_answer_marked_by:n.id,best_answer_marked_by_name:n.username,best_answer_marked_by_slug:n.slug})),Qe(e,[{op:"replace",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],{best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug})}function Je(e){var t=e.post;x.Z.dispatch(y.Vx({best_answer:null,best_answer_is_protected:!1,best_answer_marked_on:null,best_answer_marked_by:null,best_answer_marked_by_name:null,best_answer_marked_by_slug:null})),Qe(e,[{op:"remove",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],{best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug})}function Qe(e,t,n){_.Z.patch(e.thread.api.index,t).then((function(e){e.best_answer_marked_on&&(e.best_answer_marked_on=V()(e.best_answer_marked_on)),x.Z.dispatch(y.Vx(e))}),(function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e),x.Z.dispatch(y.Vx(n))}))}var Xe,et,tt,nt=n(30337),at=n(3784);var st=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=a.call(this,e)).state={isReady:!1,error:null,likes:[]},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(this.props.post.api.likes).then((function(t){e.setState({isReady:!0,likes:t.map(it)})}),(function(t){e.setState({isReady:!0,error:t.detail})}))}},{key:"render",value:function(){return this.state.error?(0,o.Z)(ot,{className:"modal-message"},void 0,(0,o.Z)(nt.Z,{message:this.state.error})):this.state.isReady?this.state.likes.length?(0,o.Z)(ot,{className:"modal-sm",likes:this.state.likes},void 0,(0,o.Z)(rt,{likes:this.state.likes})):(0,o.Z)(ot,{className:"modal-message"},void 0,(0,o.Z)(nt.Z,{message:gettext("No users have liked this post.")})):Xe||(Xe=(0,o.Z)(ot,{className:"modal-sm"},void 0,(0,o.Z)(at.Z,{})))}}]),s}(v().Component);function it(e){return Object.assign({},e,{liked_on:V()(e.liked_on)})}function ot(e){var t=e.className,n=e.children,a=e.likes,s=gettext("Post Likes");if(a){var i=a.length,r=ngettext("%(likes)s like","%(likes)s likes",i);s=interpolate(r,{likes:i},!0)}return(0,o.Z)("div",{className:"modal-dialog "+(t||""),role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,et||(et=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,s)),n))}function rt(e){return(0,o.Z)("div",{className:"modal-body modal-post-likers"},void 0,(0,o.Z)("ul",{className:"media-list"},void 0,e.likes.map((function(e){return v().createElement(lt,(0,m.Z)({key:e.id},e))}))))}function lt(e){if(e.url){var t={id:e.liker_id,avatars:e.avatars};return(0,o.Z)("li",{className:"media"},void 0,(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("a",{className:"user-avatar",href:e.url},void 0,(0,o.Z)(A.ZP,{size:"50",user:t}))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("a",{className:"item-title",href:e.url},void 0,e.username)," ",(0,o.Z)(ct,{likedOn:e.liked_on})))}return(0,o.Z)("li",{className:"media"},void 0,tt||(tt=(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("span",{className:"user-avatar"},void 0,(0,o.Z)(A.ZP,{size:"50"})))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("strong",{},void 0,e.username)," ",(0,o.Z)(ct,{likedOn:e.liked_on})))}function ct(e){return(0,o.Z)("span",{className:"text-muted",title:e.likedOn.format("LLL")},void 0,e.likedOn.fromNow())}var ut,dt,pt,ht,ft=n(27950);function vt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function mt(e){return function(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes&&(e.last_likes||[]).length||e.acl.can_like)}(e.post)?(0,o.Z)("div",{className:"post-footer"},void 0,v().createElement(Zt,e),v().createElement(gt,e),v().createElement(bt,e),v().createElement(yt,(0,m.Z)({lastLikes:e.post.last_likes,likes:e.post.likes},e)),v().createElement(_t,(0,m.Z)({likes:e.post.likes},e)),v().createElement(wt,e),v().createElement(Rt,e)):null}var Zt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("button",{className:"hidden-xs btn btn-default btn-sm pull-left",disabled:this.props.post.isBusy||t.id===n.best_answer,onClick:this.onClick,type:"button"},void 0,ut||(ut=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Best answer")):null}}]),n}(v().Component),gt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("button",{className:"visible-xs-inline-block btn btn-default btn-sm pull-left",disabled:this.props.post.isBusy||t.id===n.best_answer,onClick:this.onClick,type:"button"},void 0,dt||(dt=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box"))):null}}]),n}(v().Component),bt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.post.is_liked?$e(e.props):Ve(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){if(!this.props.post.acl.can_like)return null;var e="btn btn-default btn-sm pull-left";return this.props.post.is_liked&&(e="btn btn-success btn-sm pull-left"),(0,o.Z)("button",{className:e,disabled:this.props.post.isBusy,onClick:this.onClick,type:"button"},void 0,this.props.post.is_liked?gettext("Liked"):gettext("Like"))}}]),n}(v().Component),yt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(st,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?(0,o.Z)("button",{className:"btn btn-link btn-sm pull-left hidden-xs",onClick:this.onClick,type:"button"},void 0,Nt(this.props.likes,this.props.lastLikes)):(0,o.Z)("p",{className:"pull-left hidden-xs"},void 0,Nt(this.props.likes,this.props.lastLikes)):null}}]),n}(v().Component),_t=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?(0,o.Z)("button",{className:"btn btn-link btn-sm likes-compact pull-left visible-xs-block",onClick:this.onClick,type:"button"},void 0,pt||(pt=(0,o.Z)("span",{className:"material-icon"},void 0,"favorite")),this.props.likes):(0,o.Z)("p",{className:"likes-compact pull-left visible-xs-block"},void 0,ht||(ht=(0,o.Z)("span",{className:"material-icon"},void 0,"favorite")),this.props.likes):null}}]),n}(yt);function Nt(e,t){var n=t.slice(0,3).map((function(e){return e.username}));if(1==n.length)return interpolate(gettext("%(user)s likes this."),{user:n[0]},!0);var a=e-n.length,s=n.slice(0,-1).join(", "),i=n.slice(-1)[0],o=interpolate(gettext("%(users)s and %(last_user)s"),{users:s,last_user:i},!0);if(0===a)return interpolate(gettext("%(users)s like this."),{users:o},!0);var r=ngettext("%(users)s and %(likes)s other user like this.","%(users)s and %(likes)s other users like this.",a);return interpolate(r,{users:n.join(", "),likes:a},!0)}var kt,xt,wt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"REPLY",config:e.props.thread.api.editor,submit:e.props.thread.api.posts.index,context:{reply:e.props.post.id}})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_reply?(0,o.Z)("button",{className:"btn btn-primary btn-sm pull-right",type:"button",onClick:this.onClick},void 0,gettext("Reply")):null}}]),n}(v().Component),Rt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"EDIT",config:e.props.post.api.editor,submit:e.props.post.api.index})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_edit?(0,o.Z)("button",{className:"hidden-xs btn btn-default btn-sm pull-right",type:"button",onClick:this.onClick},void 0,gettext("Edit")):null}}]),n}(v().Component),Ct=n(82211);var Et=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x.Z.dispatch($.r$(this.props.post,{isDeleted:!0})),N.Z.hide(),k.Z.success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail):k.Z.apiError(e)}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,kt||(kt=(0,o.Z)(St,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to move post to")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-primary",loading:this.state.isLoading},void 0,gettext("Move post"))))))}}]),s}(Z.Z);function St(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,xt||(xt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move post")))}function Lt(e){return(0,o.Z)("div",{className:"modal-body post-changelog-diff"},void 0,(0,o.Z)("ul",{className:"list-unstyled"},void 0,e.diff.map((function(e,t){return(0,o.Z)(Pt,{item:e},t)}))))}function Pt(e){return"?"===e.item[0]?null:(0,o.Z)("li",{className:(t=e.item,n="diff-item","-"===t[0]?n+=" diff-item-sub":"+"===t[0]&&(n+=" diff-item-add"),n)},void 0,e.item.substr(2));var t,n}var Ot,Tt,Bt,At=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.revertEdit(e.props.edit.id)})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.canRevert?(0,o.Z)("div",{className:"modal-footer visible-xs-block"},void 0,(0,o.Z)(Ct.Z,{className:"btn-default btn-sm btn-block",disabled:this.props.disabled,onClick:this.onClick,title:gettext("Revert post to state from before this edit.")},void 0,gettext("Revert"))):null}}]),s}(v().Component);var It,jt,Dt=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"goLast",(function(){e.props.goToEdit()})),(0,h.Z)((0,c.Z)(e),"goForward",(function(){e.props.goToEdit(e.props.edit.next)})),(0,h.Z)((0,c.Z)(e),"goBack",(function(){e.props.goToEdit(e.props.edit.previous)})),(0,h.Z)((0,c.Z)(e),"revertEdit",(function(){e.props.revertEdit(e.props.edit.id)})),e}return(0,l.Z)(s,[{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-toolbar post-changelog-toolbar"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-12 col-sm-4"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(Mt,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goBack})),(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(Ut,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goForward})),(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(zt,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goLast})))),(0,o.Z)("div",{className:"col-xs-12 col-sm-5 xs-margin-top-half post-change-label"},void 0,(0,o.Z)(Ft,{edit:this.props.edit})),(0,o.Z)(Ht,{canRevert:this.props.canRevert,disabled:this.props.disabled,onClick:this.revertEdit})))}}]),s}(v().Component);function Mt(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.previous,onClick:e.onClick,title:gettext("See previous change")},void 0,Ot||(Ot=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left")))}function Ut(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See next change")},void 0,Tt||(Tt=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right")))}function zt(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},void 0,Bt||(Bt=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page")))}function Ht(e){return e.canRevert?(0,o.Z)("div",{className:"col-sm-3 hidden-xs"},void 0,(0,o.Z)(Ct.Z,{className:"btn-default btn-sm btn-block",disabled:e.disabled,onClick:e.onClick,title:gettext("Revert post to state from before this edit.")},void 0,gettext("Revert"))):null}function Ft(e){var t;t=e.edit.url.editor?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.edit.url.editor),user:(0,q.Z)(e.edit.editor_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.edit.editor_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.edit.edited_on.format("LLL")),relative:(0,q.Z)(e.edit.edited_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("By %(edited_by)s %(edited_on)s.")),{edited_by:t,edited_on:n},!0);return(0,o.Z)("p",{dangerouslySetInnerHTML:{__html:a}})}function qt(e){return Object.assign({},e,{edited_on:V()(e.edited_on)})}var Yt=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"goToEdit",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;t.setState({isBusy:!0});var n=t.props.post.api.edits;null!==e&&(n+="?edit="+e),_.Z.get(n).then((function(e){t.setState({isReady:!0,isBusy:!1,edit:qt(e)})}),(function(e){t.setState({isReady:!0,isBusy:!1,error:e.detail})}))})),(0,h.Z)((0,c.Z)(t),"revertEdit",(function(e){if(!t.state.isBusy&&window.confirm(gettext("Are you sure you with to revert this post to the state from before this edit?"))){t.setState({isBusy:!0});var n=t.props.post.api.edits+"?edit="+e;_.Z.post(n).then((function(e){var t=$.ZB(e);x.Z.dispatch($.r$(e,t)),k.Z.success(gettext("Post has been reverted to previous state.")),N.Z.hide()}),(function(e){k.Z.apiError(e),t.setState({isBusy:!1})}))}})),t.state={isReady:!1,isBusy:!0,canRevert:e.post.acl.can_edit,error:null,edit:null},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){this.goToEdit()}},{key:"render",value:function(){return this.state.error?(0,o.Z)(Vt,{className:"modal-dialog modal-message"},void 0,(0,o.Z)(nt.Z,{message:this.state.error})):this.state.isReady?(0,o.Z)(Vt,{},void 0,(0,o.Z)(Dt,{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,goToEdit:this.goToEdit,revertEdit:this.revertEdit}),(0,o.Z)(Lt,{diff:this.state.edit.diff}),(0,o.Z)(At,{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,revertEdit:this.revertEdit})):It||(It=(0,o.Z)(Vt,{},void 0,(0,o.Z)(at.Z,{})))}}]),s}(v().Component);function Vt(e){return(0,o.Z)("div",{className:e.className||"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,jt||(jt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Post edits history"))),e.children))}var $t,Gt,Wt,Kt,Jt,Qt,Xt=n(57026),en=n(60471),tn=n(55210);function nn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function an(e){return v().createElement(gn,(0,m.Z)({},e,{Form:bn}))}var sn,on,rn,ln,cn,un,dn,pn,hn,fn,vn,mn,Zn,gn=function(e){(0,u.Z)(n,e);var t=nn(n);function n(e){var a;return(0,r.Z)(this,n),(a=t.call(this,e)).state={isLoaded:!1,isError:!1,categories:[]},a}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(misago.get("THREAD_EDITOR_API")).then((function(t){var n=t.map((function(e){return Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id,post:e.post})}));e.setState({isLoaded:!0,categories:n})}),(function(t){e.setState({isError:t.detail})}))}},{key:"render",value:function(){return this.state.isError?(0,o.Z)(_n,{message:this.state.isError}):this.state.isLoaded?v().createElement(bn,(0,m.Z)({},this.props,{categories:this.state.categories})):$t||($t=(0,o.Z)(yn,{}))}}]),n}(v().Component),bn=function(e){(0,u.Z)(n,e);var t=nn(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this,e),(0,h.Z)((0,c.Z)(a),"onCategoryChange",(function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)})),a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[tn.C1()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach((function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})})),a}return(0,l.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(k.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x.Z.dispatch($.r$(this.props.post,{isDeleted:!0})),N.Z.hide(),k.Z.success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),k.Z.error(gettext("Form contains errors."))):k.Z.apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,o.Z)(g.Z,{label:gettext("Thread weight"),for:"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,o.Z)(g.Z,{label:gettext("Hide thread"),for:"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,o.Z)(g.Z,{label:gettext("Close thread"),for:"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return(0,o.Z)(Nn,{className:"modal-dialog"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{label:gettext("Thread title"),for:"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},void 0,(0,o.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),Gt||(Gt=(0,o.Z)("div",{className:"clearfix"})),(0,o.Z)(g.Z,{label:gettext("Category"),for:"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},void 0,(0,o.Z)(Xt.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),Wt||(Wt=(0,o.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)(Ct.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Split post")))))}}]),n}(Z.Z);function yn(){return Kt||(Kt=(0,o.Z)(Nn,{className:"modal-dialog"},void 0,(0,o.Z)(at.Z,{})))}function _n(e){return(0,o.Z)(Nn,{className:"modal-dialog modal-message"},void 0,Jt||(Jt=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move this post at the moment.")),(0,o.Z)("p",{},void 0,e.message)))}function Nn(e){return(0,o.Z)("div",{className:e.className,role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Qt||(Qt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Split post into new thread"))),e.children))}function kn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function xn(e){return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,v().createElement(Rn,e),v().createElement(Cn,e),v().createElement(En,e),v().createElement(Sn,e),v().createElement(Ln,e),v().createElement(Pn,e),v().createElement(On,e),v().createElement(Tn,e),v().createElement(Bn,e),v().createElement(An,e),v().createElement(In,e),v().createElement(jn,e),v().createElement(Dn,e))}var wn,Rn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){var t=window.location.protocol+"//";t+=window.location.host,t+=e.props.post.url.index,prompt(gettext("Permament link to this post:"),t)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,sn||(sn=(0,o.Z)("span",{className:"material-icon"},void 0,"link")),gettext("Permament link")))}}]),n}(v().Component),Cn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"EDIT",config:e.props.post.api.editor,submit:e.props.post.api.index})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_edit?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,on||(on=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),gettext("Edit"))):null}}]),n}(v().Component),En=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?t.id===n.best_answer||n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,rn||(rn=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Mark as best answer"))):null}}]),n}(v().Component),Sn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Je(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id!==n.best_answer?null:n.acl.can_unmark_best_answer?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,ln||(ln=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box_outline_blank")),gettext("Unmark best answer"))):null}}]),n}(v().Component),Ln=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(Yt,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits);return interpolate(n,{edits:this.props.post.edits},!0),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,cn||(cn=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),gettext("Changes history")))}}]),n}(v().Component),Pn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ze(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,un||(un=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))):null}}]),n}(v().Component),On=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(Et,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_move?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,dn||(dn=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))):null}}]),n}(v().Component),Tn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(an,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_move?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,pn||(pn=(0,o.Z)("span",{className:"material-icon"},void 0,"call_split")),gettext("Split"))):null}}]),n}(v().Component),Bn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){He(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_protect?this.props.post.is_protected?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,hn||(hn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Protect"))):null}}]),n}(v().Component),An=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Fe(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,fn||(fn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Remove protection"))):null}}]),n}(v().Component),In=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){qe(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id===n.best_answer?null:t.acl.can_hide?t.is_hidden?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,vn||(vn=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))):null}}]),n}(v().Component),jn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ye(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,mn||(mn=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))):null}}]),n}(v().Component),Dn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){We(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id===n.best_answer?null:t.acl.can_delete?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,Zn||(Zn=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))):null}}]),n}(v().Component);function Mn(e){return(0,o.Z)("div",{className:"pull-right dropdown"},void 0,wn||(wn=(0,o.Z)("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"expand_more"))),v().createElement(xn,e))}var Un=n(21981);var zn,Hn=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.post.isSelected?x.Z.dispatch(Un._H(e.props.post)):x.Z.dispatch(Un.Ys(e.props.post))})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||(e=this.props.post.acl).can_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move?(0,o.Z)("div",{className:"pull-right"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null;var e}}]),s}(v().Component),Fn=n(24678);function qn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function Yn(e){return(0,o.Z)("div",{className:"post-heading"},void 0,v().createElement(Vn,e),v().createElement($n,e),v().createElement(Gn,e),v().createElement(Wn,e),v().createElement(Jn,e),v().createElement(Qn,e),v().createElement(Xn,e),v().createElement(Hn,e),v().createElement(Mn,e))}function Vn(e){return e.post.is_read?null:(0,o.Z)("span",{className:"label label-unread hidden-xs"},void 0,gettext("New post"))}function $n(e){return e.post.is_read?null:(0,o.Z)("span",{className:"label label-unread visible-xs-inline-block"},void 0,gettext("New"))}function Gn(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0);return(0,o.Z)("a",{href:e.post.url.index,className:"btn btn-link posted-on hidden-xs",title:t},void 0,e.post.posted_on.fromNow())}function Wn(e){return(0,o.Z)("a",{href:e.post.url.index,className:"btn btn-link posted-on visible-xs-inline-block"},void 0,e.post.posted_on.fromNow(!0))}var Kn,Jn=function(e){(0,u.Z)(n,e);var t=qn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(Yt,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits),a=interpolate(n,{edits:this.props.post.edits},!0),s=ngettext("edited %(edits)s time","edited %(edits)s times",this.props.post.edits);return(0,o.Z)("button",{className:"btn btn-link btn-see-edits hidden-xs",onClick:this.onClick,title:a,type:"button"},void 0,interpolate(s,{edits:this.props.post.edits},!0))}}]),n}(v().Component),Qn=function(e){(0,u.Z)(n,e);var t=qn(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("%(edits)s edit","%(edits)s edits",this.props.post.edits);return(0,o.Z)("button",{className:"btn btn-link btn-see-edits visible-xs-inline-block",onClick:this.onClick,type:"button"},void 0,interpolate(n,{edits:this.props.post.edits},!0))}}]),n}(Jn);function Xn(e){var t=e.post.poster&&e.post.poster.id===e.user.id,n=e.post.acl.can_protect;return e.user.id&&e.post.is_protected&&(t||n)?(0,o.Z)("span",{className:"label label-protected hidden-xs",title:gettext("This post is protected and may not be edited.")},void 0,zn||(zn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("protected")):null}function ea(e){var t=e.title,n=e.rank;return n.is_tab||!!t||!!n.title}function ta(e){var t=e.poster,n=ngettext("%(posts)s post","%(posts)s posts",t.posts),a="user-postcount";return ea(t)&&(a+=" hidden-xs hidden-sm"),(0,o.Z)("span",{className:a},void 0,interpolate(n,{posts:t.posts},!0))}function na(e){var t=e.rank,n=e.title||t.title;if(!n&&t.is_tab&&(n=t.name),!n)return null;var a="user-title";return t.css_class&&(a+=" user-title-"+t.css_class),t.is_tab?(0,o.Z)("div",{className:a},void 0,(0,o.Z)("a",{href:t.url},void 0,n)):(0,o.Z)("div",{className:a},void 0,n)}function aa(e){var t=e.post,n=e.thread;return(0,o.Z)("div",{className:"col-xs-12 col-md-3 post-side post-side-anonymous"},void 0,(0,o.Z)(Hn,{post:t,thread:n}),(0,o.Z)(Mn,{post:t,thread:n}),(0,o.Z)("div",{className:"media"},void 0,Kn||(Kn=(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("span",{},void 0,(0,o.Z)(A.ZP,{className:"poster-avatar",size:100})))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("span",{className:"media-heading item-title"},void 0,t.poster_name),(0,o.Z)("span",{className:"user-title user-title-anonymous"},void 0,gettext("Removed user")))))}function sa(e){var t=e.poster,n="hidden-xs";return ea(t)&&(n+=" hidden-sm"),(0,o.Z)("span",{className:n},void 0,(0,o.Z)(Fn.ZP,{status:t.status},void 0,(0,o.Z)(Fn.pg,{status:t.status,user:t})))}function ia(e){var t=e.post,n=e.thread,a=t.poster;return(0,o.Z)("div",{className:"col-xs-12 col-md-3 post-side post-side-registered"},void 0,(0,o.Z)(Hn,{post:t,thread:n}),(0,o.Z)(Mn,{post:t,thread:n}),(0,o.Z)("div",{className:"media"},void 0,(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("a",{href:a.url},void 0,(0,o.Z)(A.ZP,{className:"poster-avatar",size:100,user:a}))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("div",{className:"media-heading"},void 0,(0,o.Z)("a",{className:"item-title",href:a.url},void 0,a.username),(0,o.Z)(Fn.ZP,{status:a.status},void 0,(0,o.Z)(Fn.Jj,{status:a.status}))),(0,o.Z)(na,{rank:a.rank,title:a.title}),(0,o.Z)(sa,{poster:a}),(0,o.Z)(ta,{poster:a}))))}function oa(e){return e.post.poster?v().createElement(ia,e):v().createElement(aa,e)}function ra(e){var t="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.poster&&e.post.poster.rank.css_class&&(t+=" post-"+e.post.poster.rank.css_class),e.post.is_read||(t+=" post-new"),(0,o.Z)("li",{id:"post-"+e.post.id,className:t},void 0,(0,o.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,o.Z)("div",{className:"panel-body"},void 0,(0,o.Z)("div",{className:"row"},void 0,v().createElement(oa,e),(0,o.Z)("div",{className:"col-xs-12 col-md-9"},void 0,v().createElement(Yn,e),v().createElement(Ie,e),v().createElement(De,e),v().createElement(Me,e),v().createElement(je,e),v().createElement(Oe,e),v().createElement(we,e),v().createElement(mt,e))))))}var la,ca,ua,da=n(44039);function pa(e){return(0,o.Z)("li",{className:"post"},void 0,(0,o.Z)("div",{className:"post-border"},void 0,la||(la=(0,o.Z)("div",{className:"post-avatar"},void 0,(0,o.Z)(A.ZP,{size:"100"}))),(0,o.Z)("div",{className:"post-body"},void 0,(0,o.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,o.Z)("div",{className:"panel-heading post-heading"},void 0,(0,o.Z)("span",{className:"ui-preview-text",style:{width:da.e(30,100)+"px"}},void 0," "),(0,o.Z)("span",{className:"ui-preview-text",style:{width:da.e(30,100)+"px"}},void 0," ")),(0,o.Z)("div",{className:"panel-body"},void 0,(0,o.Z)("article",{className:"misago-markup"},void 0,(0,o.Z)("p",{className:"ui-preview-text",style:{width:da.e(50,100)+"%"}},void 0," "),(0,o.Z)("p",{className:"ui-preview-text",style:{width:da.e(50,100)+"%"}},void 0," "),(0,o.Z)("p",{className:"ui-preview-text",style:{width:da.e(50,100)+"%"}},void 0," ")))))))}function ha(e){return e.posts.isLoaded?(0,o.Z)("ul",{className:"posts-list ui-ready"},void 0,e.posts.results.map((function(t){return v().createElement(fa,(0,m.Z)({key:t.id,post:t},e))}))):ca||(ca=(0,o.Z)("ul",{className:"posts-list ui-preview"},void 0,(0,o.Z)(pa,{})))}function fa(e){return e.post.is_event?v().createElement(Ze,e):v().createElement(ra,e)}function va(e){return(0,o.Z)("div",{className:"page-breadcrumbs"},void 0,(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("ol",{className:"breadcrumb hidden-xs"},void 0,e.path.map((function(e){return(0,o.Z)(ma,{node:e},e.id)}))),v().createElement(Za,e)))}function ma(e){return(0,o.Z)("li",{},void 0,(0,o.Z)("a",{href:e.node.url.index},void 0,e.node.name))}function Za(e){var t=e.path[e.path.length-1];return(0,o.Z)("a",{href:t.url.index,className:"go-back-sm visible-xs-block"},void 0,ua||(ua=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left")),t.name)}var ga,ba,ya=n(52753);var _a,Na,ka,xa,wa,Ra,Ca=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"handleSuccess",(function(e){t.handleSuccessUnmounted(e),t.setState({isLoading:!0})})),(0,h.Z)((0,c.Z)(t),"handleSuccessUnmounted",(function(e){k.Z.success(gettext("Thread has been merged with other one.")),window.location=e.url})),(0,h.Z)((0,c.Z)(t),"handleError",(function(e){x.Z.dispatch(y.Ar()),400===e.status?e.best_answers||e.polls?N.Z.show((0,o.Z)(ya.ZP,{api:t.props.thread.api.merge,bestAnswers:e.best_answers,data:{other_thread:t.state.url},polls:e.polls,onError:t.handleError,onSuccess:t.handleSuccessUnmounted})):e.best_answer?k.Z.error(e.best_answer[0]):e.poll?k.Z.error(e.poll[0]):k.Z.error(e.detail):k.Z.apiError(e)})),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return x.Z.dispatch(y.n6()),_.Z.post(this.props.thread.api.merge,{other_thread:this.state.url})}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,ga||(ga=(0,o.Z)(Ea,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},void 0,gettext("Merge thread"))))))}}]),s}(Z.Z);function Ea(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,ba||(ba=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Merge thread")))}var Sa,La,Pa,Oa,Ta,Ba,Aa,Ia,ja,Da,Ma,Ua=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onCategoryChange",(function(e){t.changeValue("category",e.target.value)})),t.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(S.Z.get("THREAD_EDITOR_API")).then((function(t){var n=null,a=t.map((function(e){return!1===e.post||n||(n=e.id),Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id})}));e.setState({isReady:!0,category:n,categories:a})}),(function(t){e.setState({isError:t.detail})}))}},{key:"send",value:function(){return x.Z.dispatch(y.n6()),_.Z.patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){_.Z.get(this.props.thread.api.posts.index,{page:this.props.posts.page}).then((function(e){x.Z.dispatch(y.gx(e)),x.Z.dispatch(Un.zD(e.post_set)),x.Z.dispatch(y.Ar()),k.Z.success(gettext("Thread has been moved.")),N.Z.hide()}),(function(e){x.Z.dispatch(y.Ar()),k.Z.apiError(e)}))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,_a||(_a=(0,o.Z)(za,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_category",label:gettext("New category")},void 0,(0,o.Z)(Xt.Z,{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},void 0,gettext("Move thread")))))):this.state.isError?(0,o.Z)(Fa,{message:this.state.isError}):Na||(Na=(0,o.Z)(Ha,{}))}}]),s}(Z.Z);function za(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,ka||(ka=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move thread")))}function Ha(e){return xa||(xa=(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)(za,{}),(0,o.Z)(at.Z,{}))))}function Fa(e){return(0,o.Z)("div",{className:"modal-dialog modal-message",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,wa||(wa=(0,o.Z)(za,{})),Ra||(Ra=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move this thread at the moment.")),(0,o.Z)("p",{},void 0,e.message),(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok")))))}var qa,Ya,Va,$a,Ga,Wa,Ka,Ja=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"callApi",(function(t,n){x.Z.dispatch(y.n6()),t.push({op:"add",path:"acl",value:!0}),_.Z.patch(e.props.thread.api.index,t).then((function(e){x.Z.dispatch(y.Vx(e)),x.Z.dispatch(y.Ar()),k.Z.success(n)}),(function(e){x.Z.dispatch(y.Ar()),400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)}))})),(0,h.Z)((0,c.Z)(e),"pinGlobally",(function(){e.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))})),(0,h.Z)((0,c.Z)(e),"pinLocally",(function(){e.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))})),(0,h.Z)((0,c.Z)(e),"unpin",(function(){e.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))})),(0,h.Z)((0,c.Z)(e),"approve",(function(){e.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))})),(0,h.Z)((0,c.Z)(e),"open",(function(){e.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))})),(0,h.Z)((0,c.Z)(e),"close",(function(){e.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))})),(0,h.Z)((0,c.Z)(e),"unhide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))})),(0,h.Z)((0,c.Z)(e),"hide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))})),(0,h.Z)((0,c.Z)(e),"move",(function(){N.Z.show((0,o.Z)(Ua,{posts:e.props.posts,thread:e.props.thread}))})),(0,h.Z)((0,c.Z)(e),"merge",(function(){N.Z.show((0,o.Z)(Ca,{thread:e.props.thread}))})),(0,h.Z)((0,c.Z)(e),"delete",(function(){window.confirm(gettext("Are you sure you want to delete this thread?"))&&(x.Z.dispatch(y.n6()),_.Z.delete(e.props.thread.api.index).then((function(t){k.Z.success(gettext("Thread has been deleted.")),window.location=e.props.thread.category.url.index}),(function(e){x.Z.dispatch(y.Ar()),k.Z.apiError(e)})))})),e}return(0,l.Z)(s,[{key:"getPinGloballyButton",value:function(){return 2===this.props.thread.weight?null:this.props.thread.acl.can_pin_globally?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},void 0,Sa||(Sa=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark")),gettext("Pin globally"))):null}},{key:"getPinLocallyButton",value:function(){return 1===this.props.thread.weight?null:this.props.thread.acl.can_pin?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},void 0,La||(La=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark_border")),gettext("Pin locally"))):null}},{key:"getUnpinButton",value:function(){return 0===this.props.thread.weight?null:this.props.thread.acl.can_pin?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},void 0,Pa||(Pa=(0,o.Z)("span",{className:"material-icon"},void 0,"panorama_fish_eye")),gettext("Unpin"))):null}},{key:"getMoveButton",value:function(){return this.props.thread.acl.can_move?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.move,type:"button"},void 0,Oa||(Oa=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))):null}},{key:"getMergeButton",value:function(){return this.props.thread.acl.can_merge?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.merge,type:"button"},void 0,Ta||(Ta=(0,o.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.approve,type:"button"},void 0,Ba||(Ba=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))):null}},{key:"getOpenButton",value:function(){return this.props.thread.is_closed&&this.props.thread.acl.can_close?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.open,type:"button"},void 0,Aa||(Aa=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Open"))):null}},{key:"getCloseButton",value:function(){return this.props.thread.is_closed?null:this.props.thread.acl.can_close?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.close,type:"button"},void 0,Ia||(Ia=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Close"))):null}},{key:"getUnhideButton",value:function(){return this.props.thread.is_hidden&&this.props.thread.acl.can_unhide?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},void 0,ja||(ja=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))):null}},{key:"getHideButton",value:function(){return this.props.thread.is_hidden?null:this.props.thread.acl.can_hide?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.hide,type:"button"},void 0,Da||(Da=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))):null}},{key:"getDeleteButton",value:function(){return this.props.thread.acl.can_delete?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.delete,type:"button"},void 0,Ma||(Ma=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))):null}},{key:"render",value:function(){return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),s}(v().Component);function Qa(e){return 2==e.thread.weight?(0,o.Z)("li",{className:"thread-pinned-globally"},void 0,qa||(qa=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Pinned globally"))):1==e.thread.weight?(0,o.Z)("li",{className:"thread-pinned-locally"},void 0,Ya||(Ya=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark_border")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Pinned locally"))):null}function Xa(e){return e.thread.is_unapproved?(0,o.Z)("li",{className:"thread-unapproved"},void 0,Va||(Va=(0,o.Z)("span",{className:"material-icon"},void 0,"remove_circle")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Unapproved"))):e.thread.has_unapproved_posts?(0,o.Z)("li",{className:"thread-unapproved-posts"},void 0,$a||($a=(0,o.Z)("span",{className:"material-icon"},void 0,"remove_circle_outline")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Unapproved posts"))):null}function es(e){return e.thread.is_hidden?(0,o.Z)("li",{className:"thread-hidden"},void 0,Ga||(Ga=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Hidden"))):null}function ts(e){return e.thread.is_closed?(0,o.Z)("li",{className:"thread-closed"},void 0,Wa||(Wa=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),(0,o.Z)("span",{className:"icon-legend"},void 0,gettext("Closed"))):null}function ns(e){var t=ngettext("%(replies)s reply","%(replies)s replies",e.thread.replies),n=interpolate(t,{replies:e.thread.replies},!0);return(0,o.Z)("li",{className:"thread-replies"},void 0,Ka||(Ka=(0,o.Z)("span",{className:"material-icon"},void 0,"forum")),(0,o.Z)("span",{className:"icon-legend"},void 0,n))}function as(e){var t;t=e.thread.url.last_poster?interpolate('<a href="%(url)s" class="poster-title">%(user)s</a>',{url:(0,q.Z)(e.thread.url.last_poster),user:(0,q.Z)(e.thread.last_poster_name)},!0):interpolate('<span class="poster-title">%(user)s</span>',{user:(0,q.Z)(e.thread.last_poster_name)},!0);var n=interpolate('<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.thread.last_post_on.format("LLL")),relative:(0,q.Z)(e.thread.last_post_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("last reply by %(user)s %(date)s")),{date:n,user:t},!0);return(0,o.Z)("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:a}})}function ss(e){return(0,o.Z)("div",{className:"header-stats"},void 0,(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("ul",{className:"list-inline"},void 0,(0,o.Z)(Qa,{thread:e.thread}),(0,o.Z)(Xa,{thread:e.thread}),(0,o.Z)(es,{thread:e.thread}),(0,o.Z)(ts,{thread:e.thread}),(0,o.Z)(ns,{thread:e.thread}),(0,o.Z)(as,{thread:e.thread}))))}var is,os,rs=n(12891);var ls=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onChange",(function(e){t.changeValue("title",e.target.value)})),(0,h.Z)((0,c.Z)(t),"onEdit",(function(){t.setState({isEditing:!0})})),(0,h.Z)((0,c.Z)(t),"onCancel",(function(){t.setState({title:t.props.thread.title,isEditing:!1})})),t.state={isEditing:!1,isLoading:!1,title:e.thread.title,validators:{title:(0,rs.jn)()},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){if(!this.state.title.trim().length)return k.Z.error(gettext("You have to enter thread title.")),!1;var e=this.validate();return!e.title||(k.Z.error(e.title[0]),!1)}},{key:"send",value:function(){return _.Z.patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"handleSuccess",value:function(e){x.Z.dispatch(y.Vx(e)),this.setState({isEditing:!1})}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)}},{key:"render",value:function(){var e=this.props,t=e.thread,n=e.user,a=!!n.id&&function(e){return!!(e.acl.can_approve&&e.is_unapproved||e.acl.can_close||e.acl.can_delete||e.acl.can_hide||e.acl.can_move||e.acl.can_merge||e.acl.can_pin||e.acl.can_pin_globally&&2!==e.weight||e.acl.can_unhide&&e.is_hidden)}(t);return this.state.isEditing?(0,o.Z)("div",{className:"page-header"},void 0,(0,o.Z)(va,{path:t.path}),(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("div",{className:"row xs-margin-top title-edit-form"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"col-sm-6 col-md-6"},void 0,(0,o.Z)("input",{className:"form-control",type:"text",value:this.state.title,onChange:this.onChange})),(0,o.Z)("div",{className:"col-sm-6 col-md-4"},void 0,(0,o.Z)("div",{className:"row xs-margin-top-half sm-margin-top-no md-margin-top-no"},void 0,(0,o.Z)("div",{className:"col-xs-6"},void 0,(0,o.Z)("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.state.isLoading,title:gettext("Change title")},void 0,gettext("Save changes"))),(0,o.Z)("div",{className:"col-xs-6"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-block btn-outline",disabled:this.state.isLoading,onClick:this.onCancel,title:gettext("Cancel"),type:"button"},void 0,gettext("Cancel")))))))),(0,o.Z)(ss,{thread:t})):n.id&&t.acl.can_edit?(0,o.Z)("div",{className:"page-header"},void 0,(0,o.Z)(va,{path:t.path}),(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:a?"col-sm-9 col-md-8":"col-sm-10 col-md-10"},void 0,(0,o.Z)("h1",{},void 0,t.title)),(0,o.Z)("div",{className:a?"col-sm-3 col-md-4":"col-sm-3 col-md-2"},void 0,(0,o.Z)("div",{className:"row xs-margin-top md-margin-top-no"},void 0,(0,o.Z)("div",{className:a?"col-xs-6":"col-xs-12"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onEdit,title:gettext("Edit title"),type:"button"},void 0,is||(is=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),(0,o.Z)("span",{className:"hidden-sm"},void 0,gettext("Edit")))),a&&v().createElement(cs,this.props))))),(0,o.Z)(ss,{thread:t})):a?(0,o.Z)("div",{className:"page-header"},void 0,(0,o.Z)(va,{path:t.path}),(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-sm-9 col-md-10"},void 0,(0,o.Z)("h1",{},void 0,t.title)),(0,o.Z)("div",{className:"col-sm-3 col-md-2"},void 0,(0,o.Z)("div",{className:"row xs-margin-top md-margin-top-no"},void 0,v().createElement(cs,(0,m.Z)({isSingle:!0},this.props)))))),(0,o.Z)(ss,{thread:t})):(0,o.Z)("div",{className:"page-header"},void 0,(0,o.Z)(va,{path:t.path}),(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)("h1",{},void 0,t.title)),(0,o.Z)(ss,{thread:t}))}}]),s}(Z.Z);function cs(e){return(0,o.Z)("div",{className:e.isSingle?"col-xs-12":"col-xs-6"},void 0,(0,o.Z)("div",{className:"btn-group btn-group-justified"},void 0,(0,o.Z)("div",{className:"btn-group"},void 0,(0,o.Z)("button",{"aria-expanded":"false","aria-haspopup":"true",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown",disabled:e.thread.isBusy,type:"button"},void 0,os||(os=(0,o.Z)("span",{className:"material-icon"},void 0,"settings")),(0,o.Z)("span",{className:e.isSingle?"":"hidden-sm"},void 0,gettext("Moderation"))),(0,o.Z)(Ja,{posts:e.posts,thread:e.thread,user:e.user}))))}var us,ds,ps,hs,fs,vs,ms,Zs,gs,bs,ys,_s=n(59752),Ns=n(55547),ks=n(53328),xs=n(92490),ws=n(69987),Rs=function(e){var t=e.baseUrl,n=e.posts;return(0,o.Z)("div",{className:"misago-pagination"},void 0,n.isLoaded&&n.first?(0,o.Z)(ws.rU,{className:"btn btn-default btn-outline btn-icon",to:t,title:gettext("Go to first page")},void 0,us||(us=(0,o.Z)("span",{className:"material-icon"},void 0,"first_page"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to first page"),type:"button",disabled:!0},void 0,ds||(ds=(0,o.Z)("span",{className:"material-icon"},void 0,"first_page"))),n.isLoaded&&n.previous?(0,o.Z)(ws.rU,{className:"btn btn-default btn-outline btn-icon",to:t+(n.previous>1?n.previous+"/":""),title:gettext("Go to previous page")},void 0,ps||(ps=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to previous page"),type:"button",disabled:!0},void 0,hs||(hs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left"))),n.isLoaded&&n.next?(0,o.Z)(ws.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.next+"/",title:gettext("Go to next page")},void 0,fs||(fs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to next page"),type:"button",disabled:!0},void 0,vs||(vs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right"))),n.isLoaded&&n.last?(0,o.Z)(ws.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.last+"/",title:gettext("Go to last page")},void 0,ms||(ms=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to last page"),type:"button",disabled:!0},void 0,Zs||(Zs=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page"))))},Cs=function(e){var t=e.posts;return t.more?(0,o.Z)("p",{},void 0,interpolate(ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",t.more),{more:t.more},!0)):(0,o.Z)("p",{},void 0,gettext("There are no more posts in this thread."))};function Es(e){var t=e.errors,n=e.posts;return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,gs||(gs=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Moderation"))),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("One or more posts could not be changed:")),(0,o.Z)("ul",{className:"list-unstyled list-errored-items"},void 0,t.map((function(e){return(0,o.Z)(Ss,{errors:e.detail,post:n[e.id]},e.id)}))))))}function Ss(e){var t=e.errors,n=e.post,a=interpolate(gettext("%(username)s on %(posted_on)s"),{posted_on:n.posted_on.format("LL, LT"),username:n.poster_name},!0);return(0,o.Z)("li",{},void 0,(0,o.Z)("h5",{},void 0,a,":"),t.map((function(e,t){return(0,o.Z)("p",{},t,e)})))}function Ls(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_unapproved:!1}})),a=t.map((function(e){return{id:e.id,is_unapproved:e.is_unapproved}}));As(e,[{op:"replace",path:"is-unapproved",value:!1}],n,a)}function Ps(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_protected:!0}})),a=t.map((function(e){return{id:e.id,is_protected:e.is_protected}}));As(e,[{op:"replace",path:"is-protected",value:!0}],n,a)}function Os(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_protected:!1}})),a=t.map((function(e){return{id:e.id,is_protected:e.is_protected}}));As(e,[{op:"replace",path:"is-protected",value:!1}],n,a)}function Ts(e){var t=e.selection,n=t.map((function(t){return{id:t.id,is_hidden:!0,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}})),a=t.map((function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}}));As(e,[{op:"replace",path:"is-hidden",value:!0}],n,a)}function Bs(e){var t=e.selection,n=t.map((function(t){return{id:t.id,is_hidden:!1,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}})),a=t.map((function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}}));As(e,[{op:"replace",path:"is-hidden",value:!1}],n,a)}function As(e,t,n,a){var s=e.selection,i=e.thread;n.forEach((function(e){$.r$(e,e)})),x.Z.dispatch(Un.kR());var r={ops:t,ids:s.map((function(e){return e.id}))};_.Z.patch(i.api.posts.index,r).then((function(e){e.forEach((function(e){x.Z.dispatch($.r$(e,e))}))}),(function(e){if(400!==e.status)return a.forEach((function(e){x.Z.dispatch($.r$(e,e))})),k.Z.apiError(e);var t=[],n=[];e.forEach((function(e){e.detail?(t.push(e),n.push(e.id)):x.Z.dispatch($.r$(e,e)),a.forEach((function(e){-1!==n.indexOf(e)&&x.Z.dispatch($.r$(e,e))}))}));var i={};s.forEach((function(e){i[e.id]=e})),N.Z.show((0,o.Z)(Es,{errors:t,posts:i}))}))}function Is(e){window.confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"))&&(e.selection.slice(1).map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),_.Z.post(e.thread.api.posts.merge,{posts:e.selection.map((function(e){return e.id}))}).then((function(e){x.Z.dispatch($.r$(e,$.ZB(e)))}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),e.selection.slice(1).map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!1}))}))})),x.Z.dispatch(Un.kR()))}function js(e){if(window.confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"))){e.selection.map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))}));var t=e.selection.map((function(e){return e.id}));_.Z.delete(e.thread.api.posts.index,t).then((function(){}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),e.selection.map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!1}))}))})),x.Z.dispatch(Un.kR())}}var Ds,Ms,Us,zs,Hs,Fs,qs=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:this.props.selection.map((function(e){return e.id}))})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),N.Z.hide(),k.Z.success(gettext("Selected posts were moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail):k.Z.apiError(e)}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,bs||(bs=(0,o.Z)(Ys,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to move posts to")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",loading:this.state.isLoading},void 0,gettext("Move posts"))))))}}]),s}(Z.Z);function Ys(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,ys||(ys=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move posts")))}function Vs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function $s(e){return v().createElement(ai,(0,m.Z)({},e,{Form:si}))}var Gs,Ws,Ks,Js,Qs,Xs,ei,ti,ni,ai=function(e){(0,u.Z)(n,e);var t=Vs(n);function n(e){var a;return(0,r.Z)(this,n),(a=t.call(this,e)).state={isLoaded:!1,isError:!1,categories:[]},a}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(misago.get("THREAD_EDITOR_API")).then((function(t){var n=t.map((function(e){return Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id,post:e.post})}));e.setState({isLoaded:!0,categories:n})}),(function(t){e.setState({isError:t.detail})}))}},{key:"render",value:function(){return this.state.isError?(0,o.Z)(oi,{message:this.state.isError}):this.state.isLoaded?v().createElement(si,(0,m.Z)({},this.props,{categories:this.state.categories})):Ds||(Ds=(0,o.Z)(ii,{}))}}]),n}(v().Component),si=function(e){(0,u.Z)(n,e);var t=Vs(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this,e),(0,h.Z)((0,c.Z)(a),"onCategoryChange",(function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)})),a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[tn.C1()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach((function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})})),a}return(0,l.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(k.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:this.props.selection.map((function(e){return e.id}))})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),N.Z.hide(),k.Z.success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),k.Z.error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?N.Z.show((0,o.Z)(Es,{errors:e})):k.Z.apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,o.Z)(g.Z,{label:gettext("Thread weight"),for:"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,o.Z)(g.Z,{label:gettext("Hide thread"),for:"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,o.Z)(g.Z,{label:gettext("Close thread"),for:"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return(0,o.Z)(ri,{className:"modal-dialog"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{label:gettext("Thread title"),for:"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},void 0,(0,o.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),Ms||(Ms=(0,o.Z)("div",{className:"clearfix"})),(0,o.Z)(g.Z,{label:gettext("Category"),for:"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},void 0,(0,o.Z)(Xt.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),Us||(Us=(0,o.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)(Ct.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Split posts")))))}}]),n}(Z.Z);function ii(){return zs||(zs=(0,o.Z)(ri,{className:"modal-dialog"},void 0,(0,o.Z)(at.Z,{})))}function oi(e){return(0,o.Z)(ri,{className:"modal-dialog modal-message"},void 0,Hs||(Hs=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move selected posts at the moment.")),(0,o.Z)("p",{},void 0,e.message),(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}function ri(e){return(0,o.Z)("div",{className:e.className,role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Fs||(Fs=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Split posts into new thread"))),e.children))}function li(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function ci(e){return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,v().createElement(vi,e),v().createElement(mi,e),v().createElement(Zi,e),v().createElement(gi,e),v().createElement(bi,e),v().createElement(yi,e),v().createElement(Ni,e),v().createElement(_i,e),v().createElement(ki,e))}var ui,di,pi,hi,fi,vi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ls(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_approve&&e.is_unapproved}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Gs||(Gs=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))):null}}]),n}(v().Component),mi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Is(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.length>1&&this.props.selection.find((function(e){return e.acl.can_merge}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Ws||(Ws=(0,o.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge"))):null}}]),n}(v().Component),Zi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(qs,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_move}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Ks||(Ks=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))):null}}]),n}(v().Component),gi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement($s,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_move}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Js||(Js=(0,o.Z)("span",{className:"material-icon"},void 0,"call_split")),gettext("Split"))):null}}]),n}(v().Component),bi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ps(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return!e.is_protected&&e.acl.can_protect}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Qs||(Qs=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Protect"))):null}}]),n}(v().Component),yi=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Os(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.is_protected&&e.acl.can_protect}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,Xs||(Xs=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Unprotect"))):null}}]),n}(v().Component),_i=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ts(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_hide&&!e.is_hidden}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ei||(ei=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))):null}}]),n}(v().Component),Ni=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Bs(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_unhide&&e.is_hidden}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ti||(ti=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))):null}}]),n}(v().Component),ki=function(e){(0,u.Z)(n,e);var t=li(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){js(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_delete}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ni||(ni=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))):null}}]),n}(v().Component),xi=function(e){var t=e.thread,n=e.user,a=e.selection,s=e.dropup;return(0,o.Z)("div",{className:s?"dropup":"dropdown"},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Posts options"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:0===a.length},void 0,ui||(ui=(0,o.Z)("span",{className:"material-icon"},void 0,"settings"))),(0,o.Z)(ci,{thread:t,user:n,selection:a}))},wi=function(e){var t=e.onClick;return(0,o.Z)("button",{className:"btn btn-primary btn-outline btn-block",type:"button",onClick:t},void 0,di||(di=(0,o.Z)("span",{className:"material-icon"},void 0,"chat")),gettext("Reply"))},Ri=n(94184),Ci=n.n(Ri);function Ei(e,t,n){var a={subscription:e.subscription};x.Z.dispatch(y.Vx({subscription:t})),_.Z.patch(e.api.index,[{op:"replace",path:"subscription",value:n}]).then((function(e){x.Z.dispatch(y.Vx(e))}),(function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e),x.Z.dispatch(y.Vx(a))}))}var Si,Li,Pi,Oi,Ti,Bi,Ai,Ii,ji=function(e){var t,n=e.stickToBottom,a=e.thread;return(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-outline btn-block","aria-expanded":"true","aria-haspopup":"true","data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,!0===(t=a.subscription)?"star":!1===t?"star_half":"star_border"),function(e){return!0===e?gettext("E-mail"):!1===e?gettext("Enabled"):gettext("Disabled")}(a.subscription)),(0,o.Z)("ul",{className:Ci()("dropdown-menu dropdown-menu-right",{"stick-to-bottom":n})},void 0,(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){null!==e.subscription&&Ei(e,null,"unsubscribe")}(a)}},void 0,pi||(pi=(0,o.Z)("span",{className:"material-icon"},void 0,"star_border")),gettext("Unsubscribe"))),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){!1!==e.subscription&&Ei(e,!1,"notify")}(a)}},void 0,hi||(hi=(0,o.Z)("span",{className:"material-icon"},void 0,"star_half")),gettext("Subscribe"))),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){!0!==e.subscription&&Ei(e,!0,"email")}(a)}},void 0,fi||(fi=(0,o.Z)("span",{className:"material-icon"},void 0,"star")),gettext("Subscribe with e-mail")))))},Di=function(e){var t=e.thread,n=e.posts,a=e.user,s=e.selection,i=e.moderation,r=e.onReply;return(0,o.Z)(xs.o8,{},void 0,(0,o.Z)(xs.Z2,{},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(Rs,{baseUrl:t.url.index,posts:n})),(0,o.Z)(xs.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(xi,{thread:t,user:a,selection:s,dropup:!0}))),(0,o.Z)(xs.Z2,{className:"hidden-xs hidden-sm",auto:!0},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(Cs,{posts:n}))),Si||(Si=(0,o.Z)(xs.tw,{className:"hidden-md hidden-lg"})),a.is_authenticated&&(0,o.Z)(xs.Z2,{},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(ji,{thread:t})),t.acl.can_reply&&(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(wi,{onClick:r})),i.enabled&&(0,o.Z)(xs.Eg,{className:"hidden-xs",shrink:!0},void 0,(0,o.Z)(xi,{thread:t,user:a,selection:s,dropup:!0}))))},Mi=function(e){var t=e.compact,n=e.onClick;return(0,o.Z)("button",{className:Ci()("btn btn-default btn-outline",{"btn-block":!t,"btn-icon":t}),type:"button",title:t?gettext("Add poll"):null,onClick:n},void 0,Li||(Li=(0,o.Z)("span",{className:"material-icon"},void 0,"poll")),!t&&gettext("Add poll"))},Ui=function(e){var t=e.user,n=e.thread;return(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Shortcuts"),"aria-expanded":"true","aria-haspopup":"true","data-toggle":"dropdown",type:"button"},void 0,Pi||(Pi=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark"))),(0,o.Z)("ul",{className:"dropdown-menu"},void 0,t.is_authenticated&&n.is_new&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.new_post},void 0,Oi||(Oi=(0,o.Z)("span",{className:"material-icon"},void 0,"comment")),gettext("Go to new post"))),n.best_answer&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.best_answer},void 0,Ti||(Ti=(0,o.Z)("span",{className:"material-icon"},void 0,"check_circle")),gettext("Go to best answer"))),n.has_unapproved_posts&&n.acl.can_approve&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.unapproved_post},void 0,Bi||(Bi=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Go to unapproved post"))),(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.last_post},void 0,Ai||(Ai=(0,o.Z)("span",{className:"material-icon"},void 0,"reply")),gettext("Go to last post")))))},zi=function(e){var t=e.thread,n=e.posts,a=e.user,s=e.selection,i=e.moderation,r=e.onPoll,l=e.onReply;return(0,o.Z)(xs.o8,{},void 0,(0,o.Z)(xs.Z2,{className:"hidden-xs"},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(Ui,{thread:t,user:a})),(0,o.Z)(xs.Eg,{className:"hidden-xs hidden-sm"},void 0,(0,o.Z)(Rs,{baseUrl:t.url.index,posts:n}))),Ii||(Ii=(0,o.Z)(xs.tw,{})),a.is_authenticated&&(0,o.Z)(xs.Z2,{},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(ji,{thread:t}))),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(xs.Z2,{className:"hidden-xs"},void 0,(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(Mi,{onClick:r}))),t.acl.can_reply?(0,o.Z)(xs.Z2,{},void 0,(0,o.Z)(xs.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Ui,{thread:t,user:a})),(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(wi,{onClick:l})),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(xs.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Mi,{onClick:r,compact:!0})),i.enabled&&(0,o.Z)(xs.Eg,{className:"hidden-xs",shrink:!0},void 0,(0,o.Z)(xi,{thread:t,user:a,selection:s}))):(0,o.Z)(xs.Z2,{},void 0,(0,o.Z)(xs.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Ui,{thread:t,user:a})),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(xs.Eg,{},void 0,(0,o.Z)(Mi,{onClick:r})),i.enabled&&(0,o.Z)(xs.Eg,{shrink:!0},void 0,(0,o.Z)(xi,{thread:t,user:a,selection:s}))))};var Hi=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"update",(function(t){x.Z.dispatch(y.gx(t)),x.Z.dispatch(Un.zD(t.post_set)),t.participants&&x.Z.dispatch(b.gx(t.participants)),t.poll&&x.Z.dispatch(_s.gx(t.poll)),e.setPageTitle()})),(0,h.Z)((0,c.Z)(e),"openPollForm",(function(){ft.Z.open({mode:"POLL",submit:e.props.thread.api.poll,thread:e.props.thread,poll:null})})),(0,h.Z)((0,c.Z)(e),"openReplyForm",(function(){ft.Z.open({mode:"REPLY",config:e.props.thread.api.editor,submit:e.props.thread.api.posts.index})})),e}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){return!!this.props.posts.isLoaded&&1*(this.props.params.page||1)!=this.props.posts.page}},{key:"fetchData",value:function(){var e=this;x.Z.dispatch(Un.Rz()),_.Z.get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then((function(t){e.update(t)}),(function(e){k.Z.apiError(e)}))}},{key:"startPollingApi",value:function(){Ns.Z.start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){Ns.Z.stop("thread-posts")}},{key:"setPageTitle",value:function(){ks.Z.set({title:this.props.thread.title,parent:this.props.thread.category.name,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){var e="page page-thread";this.props.thread.category.css_class&&(e+=" page-thread-"+this.props.thread.category.css_class);var t=Fi(this.props.posts.results,this.props.user),n=this.props.posts.results.filter((function(e){return e.isSelected}));return(0,o.Z)("div",{className:e},void 0,(0,o.Z)("div",{className:"page-header-bg"},void 0,v().createElement(ls,this.props)),(0,o.Z)("div",{className:"container"},void 0,(0,o.Z)(zi,{thread:this.props.thread,posts:this.props.posts,user:this.props.user,selection:n,moderation:t,onPoll:this.openPollForm,onReply:this.openReplyForm}),(0,o.Z)(z.n,{poll:this.props.poll,thread:this.props.thread,user:this.props.user}),(0,o.Z)(M,{participants:this.props.participants,thread:this.props.thread,user:this.props.user}),v().createElement(ha,this.props),(0,o.Z)(Di,{thread:this.props.thread,posts:this.props.posts,user:this.props.user,selection:n,moderation:t,onReply:this.openReplyForm})))}}]),s}(v().Component),Fi=function(e,t){var n={enabled:!1,approve:!1,move:!1,merge:!1,protect:!1,hide:!1,delete:!1};return t.is_authenticated?(e.forEach((function(e){e.is_event||(e.acl.can_approve&&e.is_unapproved&&(n.approve=!0),e.acl.can_move&&(n.move=!0),e.acl.can_merge&&(n.merge=!0),(e.acl.can_protect||e.acl.can_unprotect)&&(n.protect=!0),(e.acl.can_hide||e.acl.can_unhide)&&(n.hide=!0),e.acl.can_delete&&(n.delete=!0),(n.approve||n.move||n.merge||n.protect||n.hide||n.delete)&&(n.enabled=!0))})),n):n};function qi(e){return{participants:e.participants,poll:e.poll,posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}var Yi=n(39633);S.Z.addInitializer({name:"component:thread",initializer:function(e){var t,n;e.has("THREAD")&&e.has("POSTS")&&(0,Yi.Z)({paths:(t=S.Z.get("THREAD"),n=t.url.index.replace(t.slug+"-"+t.pk,":slug"),[{path:n,component:(0,i.$j)(qi)(Hi)},{path:n+":page/",component:(0,i.$j)(qi)(Hi)}])})},after:"store"})},5463:function(e,t,n){"use strict";var a=n(37424),s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(57588),h=n.n(p),f=n(82211);function v(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function m(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:v(e,t)}function Z(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:v(e,t)}var g,b,y=n(77942),_=n(27950),N=n(92490),k=n(69987),x=function(e){var t=e.allItems,n=e.parentUrl,a=e.category,i=e.categories,o=e.list;return(0,s.Z)("div",{className:"dropdown threads-category-picker"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block text-ellipsis","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,a&&(0,s.Z)("span",{className:"material-icon",style:{color:a.color||"inherit"}},void 0,"label"),a&&a.short_name&&(0,s.Z)("span",{className:a.short_name&&"hidden-md hidden-lg"},void 0,a.short_name),a?(0,s.Z)("span",{className:a.short_name&&"hidden-xs hidden-sm"},void 0,a.name):t),(0,s.Z)("ul",{className:"dropdown-menu"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)(k.rU,{to:n+o.path},void 0,t)),g||(g=(0,s.Z)("li",{role:"separator",className:"divider"})),i.map((function(e){return(0,s.Z)("li",{},e.id,(0,s.Z)(k.rU,{to:e.url.index+o.path},void 0,(0,s.Z)("span",{className:"material-icon",style:{color:e.color||"inherit"}},void 0,"label"),e.name))}))))},w=function(e){var t=e.baseUrl,n=e.list,a=e.lists;return(0,s.Z)("div",{className:"dropdown threads-list-picker"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,n.longName),(0,s.Z)("ul",{className:"dropdown-menu stick-to-bottom"},void 0,a.map((function(e){return(0,s.Z)("li",{},e.type,(0,s.Z)(k.rU,{to:t+e.path},void 0,e.longName))}))))};var R=function(e){(0,l.Z)(r,e);var t,n,a=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function r(){return(0,i.Z)(this,r),a.apply(this,arguments)}return(0,o.Z)(r,[{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,b||(b=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Threads moderation"))),(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("One or more threads could not be deleted:")),(0,s.Z)("ul",{className:"list-unstyled list-errored-items"},void 0,this.props.errors.map((function(e){return(0,s.Z)(C,{errors:e.errors,thread:e.thread},e.thread.id)}))))))}}]),r}(h().Component);function C(e){var t=e.errors,n=e.thread;return(0,s.Z)("li",{},void 0,(0,s.Z)("h5",{},void 0,n.title),t.map((function(e,t){return(0,s.Z)("p",{},void 0,e)})))}var E,S,L,P,O=n(43345),T=n(96359),B=n(57026),A=n(60471),I=n(32233),j=n(61340),D=n(77751),M=n(52753),U=n(78657),z=n(59801),H=n(53904),F=n(90287),q=n(55210);var Y,V,$=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;for(var n in(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"getFormdata",(function(){return{threads:t.props.threads.map((function(e){return e.id})),title:t.state.title,category:t.state.category,weight:t.state.weight,is_hidden:t.state.is_hidden,is_closed:t.state.is_closed}})),(0,d.Z)((0,r.Z)(t),"handleSuccess",(function(e){t.props.threads.forEach((function(e){t.props.freezeThread(e.id),t.props.deleteThread(e)})),F.Z.dispatch(D.YP()),t.props.addThreads([e]),F.Z.dispatch((0,j.V8)(t.props.route.category,t.props.categoriesMap)),z.Z.hide()})),(0,d.Z)((0,r.Z)(t),"handleError",(function(e){400===e.status?e.best_answers||e.polls?z.Z.show((0,s.Z)(M.ZP,{api:I.Z.get("MERGE_THREADS_API"),bestAnswers:e.best_answers,data:t.getFormdata(),polls:e.polls,onError:t.handleError,onSuccess:t.handleSuccess})):(t.setState({errors:Object.assign({},t.state.errors,e)}),H.Z.error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?z.Z.show((0,s.Z)(R,{errors:e})):e.best_answer?H.Z.error(e.best_answer[0]):e.poll?H.Z.error(e.poll[0]):H.Z.apiError(e)})),(0,d.Z)((0,r.Z)(t),"onCategoryChange",(function(e){var n=e.target.value,a={category:n};t.acl[n].can_pin_threads<a.weight&&(a.weight=0),t.acl[n].can_hide_threads||(a.is_hidden=0),t.acl[n].can_close_threads||(a.is_closed=!1),t.setState(a)})),t.state={isLoading:!1,title:"",category:null,weight:0,is_hidden:0,is_closed:!1,validators:{title:[q.C1()]},errors:{}},t.acl={},e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var o=e.user.acl.categories[n];t.acl[o.id]=o}return t.categoryChoices=[],e.categories.forEach((function(e){if(e.level>0){var n=t.acl[e.id],a=!n.can_start_threads||e.is_closed&&!n.can_close_threads;t.categoryChoices.push({value:e.id,disabled:a,level:e.level-1,label:e.name}),a||t.state.category||(t.state.category=e.id)}})),t.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],t.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],t}return(0,o.Z)(p,[{key:"clean",value:function(){return!!this.isValid()||(H.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return U.Z.post(I.Z.get("MERGE_THREADS_API"),this.getFormdata())}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,s.Z)(T.Z,{label:gettext("Thread weight"),for:"id_weight"},void 0,(0,s.Z)(A.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,s.Z)(T.Z,{label:gettext("Hide thread"),for:"id_is_hidden"},void 0,(0,s.Z)(A.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,s.Z)(T.Z,{label:gettext("Close thread"),for:"id_is_closed"},void 0,(0,s.Z)(A.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(T.Z,{label:gettext("Thread title"),for:"id_title",validation:this.state.errors.title},void 0,(0,s.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),E||(E=(0,s.Z)("div",{className:"clearfix"})),(0,s.Z)(T.Z,{label:gettext("Category"),for:"id_category",validation:this.state.errors.category},void 0,(0,s.Z)(B.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),S||(S=(0,s.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)(f.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return(0,s.Z)("div",{className:"modal-body"},void 0,L||(L=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"message-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("You can't move threads because there are no categories you are allowed to move them to.")),(0,s.Z)("p",{},void 0,gettext("You need permission to start threads in category to be able to merge threads to it.")),(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"render",value:function(){return(0,s.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,P||(P=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),p}(O.Z);var G,W,K,J,Q,X,ee,te,ne,ae,se,ie,oe,re,le=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"handleSubmit",(function(e){e.preventDefault(),z.Z.hide(),t.props.callApi([{op:"replace",path:"category",value:t.state.category},{op:"replace",path:"flatten-categories",value:null},{op:"add",path:"acl",value:!0}],gettext("Selected threads were moved."),(function(){F.Z.dispatch((0,j.V8)(t.props.route.category,t.props.categoriesMap));var e=F.Z.getState(),n=e.threads.map((function(e){return e.id}));F.Z.dispatch(D.$6(e.selection.filter((function(e){return-1!==n.indexOf(e)}))))}))})),t.state={category:null};var n={};for(var s in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(s)){var o=e.user.acl.categories[s];n[o.id]=o}return t.categoryChoices=[],e.categories.forEach((function(e){if(e.level>0){var a=n[e.id],s=!a.can_start_threads||e.is_closed&&!a.can_close_threads;t.categoryChoices.push({value:e.id,disabled:s,level:e.level-1,label:e.name}),s||t.state.category||(t.state.category=e.id)}})),t}return(0,o.Z)(p,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(T.Z,{label:gettext("New category"),for:"id_new_category"},void 0,(0,s.Z)(B.Z,{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)("button",{className:"btn btn-primary"},void 0,gettext("Move threads"))))}},{key:"renderCantMoveMessage",value:function(){return(0,s.Z)("div",{className:"modal-body"},void 0,Y||(Y=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"message-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("You can't move threads because there are no categories you are allowed to move them to.")),(0,s.Z)("p",{},void 0,gettext("You need permission to start threads in category to be able to move threads to it.")),(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}},{key:"render",value:function(){return(0,s.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,V||(V=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),p}(O.Z);var ce,ue,de,pe=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(){var e;(0,i.Z)(this,p);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n)),(0,d.Z)((0,r.Z)(e),"callApi",(function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e.props.threads.forEach((function(t){e.props.freezeThread(t.id)}));var i=e.props.threads.map((function(e){return e.id}));t.push({op:"add",path:"acl",value:!0}),U.Z.patch(e.props.api,{ids:i,ops:t}).then((function(t){e.props.threads.forEach((function(t){e.props.freezeThread(t.id)})),t.forEach((function(t){e.props.updateThread(t)})),H.Z.success(n),a&&a()}),(function(t){if(e.props.threads.forEach((function(t){e.props.freezeThread(t.id)})),400!==t.status)return H.Z.apiError(t);var n=[],a={};e.props.threads.forEach((function(e){a[e.id]=e})),t.forEach((function(e){var t=e.id,s=e.detail;void 0!==a[t]&&n.push({errors:s,thread:a[t]})})),z.Z.show((0,s.Z)(R,{errors:n}))}))})),(0,d.Z)((0,r.Z)(e),"pinGlobally",(function(){e.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))})),(0,d.Z)((0,r.Z)(e),"pinLocally",(function(){e.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))})),(0,d.Z)((0,r.Z)(e),"unpin",(function(){e.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))})),(0,d.Z)((0,r.Z)(e),"approve",(function(){e.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))})),(0,d.Z)((0,r.Z)(e),"open",(function(){e.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))})),(0,d.Z)((0,r.Z)(e),"close",(function(){e.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))})),(0,d.Z)((0,r.Z)(e),"unhide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))})),(0,d.Z)((0,r.Z)(e),"hide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))})),(0,d.Z)((0,r.Z)(e),"move",(function(){z.Z.show((0,s.Z)(le,{callApi:e.callApi,categories:e.props.categories,categoriesMap:e.props.categoriesMap,route:e.props.route,user:e.props.user}))})),(0,d.Z)((0,r.Z)(e),"merge",(function(){var t=[];if(e.props.threads.forEach((function(e){e.acl.can_merge||t.append({id:e.id,title:e.title,errors:[gettext("You don't have permission to merge this thread with others.")]})})),e.props.threads.length<2)H.Z.info(gettext("You have to select at least two threads to merge."));else{if(t.length)return void z.Z.show((0,s.Z)(R,{errors:t}));z.Z.show(h().createElement($,e.props))}})),(0,d.Z)((0,r.Z)(e),"delete",(function(){if(window.confirm(gettext("Are you sure you want to delete selected threads?"))){e.props.threads.map((function(t){e.props.freezeThread(t.id)}));var t=e.props.threads.map((function(e){return e.id}));U.Z.delete(e.props.api,t).then((function(){e.props.threads.map((function(t){e.props.freezeThread(t.id),e.props.deleteThread(t)})),H.Z.success(gettext("Selected threads were deleted."))}),(function(t){if(400===t.status){var n=t.map((function(e){return e.id}));e.props.threads.map((function(t){e.props.freezeThread(t.id),-1===n.indexOf(t.id)&&e.props.deleteThread(t)})),z.Z.show((0,s.Z)(R,{errors:t}))}else H.Z.apiError(t)}))}})),e}return(0,o.Z)(p,[{key:"render",value:function(){var e=this.props,t=e.moderation,n=e.threads,a=0==this.props.selection.length;return(0,s.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",onClick:function(){return F.Z.dispatch(D.$6(n.map((function(e){return e.id}))))}},void 0,G||(G=(0,s.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Select all"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:function(){return F.Z.dispatch(D.YP())}},void 0,W||(W=(0,s.Z)("span",{className:"material-icon"},void 0,"check_box_outline_blank")),gettext("Select none"))),K||(K=(0,s.Z)("li",{role:"separator",className:"divider"})),t.can_pin_globally&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.pinGlobally},void 0,J||(J=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark")),gettext("Pin threads globally"))),t.can_pin&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.pinLocally},void 0,Q||(Q=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark_border")),gettext("Pin threads locally"))),t.can_pin&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.unpin},void 0,X||(X=(0,s.Z)("span",{className:"material-icon"},void 0,"panorama_fish_eye")),gettext("Unpin threads"))),t.can_move&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.move},void 0,ee||(ee=(0,s.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move threads"))),t.can_merge&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.merge},void 0,te||(te=(0,s.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge threads"))),t.can_approve&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.approve},void 0,ne||(ne=(0,s.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve threads"))),t.can_close&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.open},void 0,ae||(ae=(0,s.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Open threads"))),t.can_close&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.close},void 0,se||(se=(0,s.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Close threads"))),t.can_unhide&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.unhide},void 0,ie||(ie=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide threads"))),t.can_hide&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.hide},void 0,oe||(oe=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide threads"))),t.can_delete&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.delete},void 0,re||(re=(0,s.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete threads"))))}}]),p}(h().Component),he=function(e){var t=e.api,n=e.categoriesMap,a=e.categories,i=e.threads,o=e.addThreads,r=e.freezeThread,l=e.updateThread,c=e.deleteThread,u=e.selection,d=e.moderation,p=e.route,h=e.user,f=e.disabled;return(0,s.Z)("div",{className:"dropdown threads-moderation"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Moderation"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:f},void 0,ce||(ce=(0,s.Z)("span",{className:"material-icon"},void 0,"settings"))),(0,s.Z)(pe,{api:t,categories:a,categoriesMap:n,threads:i,addThreads:o,freezeThread:r,updateThread:l,deleteThread:c,selection:u,moderation:d,route:p,user:h,disabled:f}))},fe=function(e){var t=e.api,n=e.baseUrl,a=e.category,i=e.categories,o=e.categoriesMap,r=e.topCategory,l=e.topCategories,c=e.subCategory,u=e.subCategories,d=e.list,p=e.lists,h=e.threads,v=e.addThreads,m=e.startThread,Z=e.freezeThread,g=e.updateThread,b=e.deleteThread,y=e.selection,k=e.moderation,R=e.route,C=e.user,E=e.disabled;return(0,s.Z)(N.o8,{},void 0,l.length>0&&(0,s.Z)(N.Z2,{},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(x,{allItems:gettext("All categories"),parentUrl:d.path,category:r,categories:l,list:d})),r&&u.length>0&&(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(x,{allItems:gettext("All subcategories"),parentUrl:r.url.index,category:c,categories:u,list:d}))),p.length>1&&(0,s.Z)(N.Z2,{className:"hidden-xs"},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(w,{baseUrl:n,list:d,lists:p}))),ue||(ue=(0,s.Z)(N.tw,{})),!!C.id&&(0,s.Z)(N.Z2,{},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(f.Z,{className:"btn-primary btn-outline btn-block",disabled:E,onClick:function(){_.Z.open(m||{mode:"START",config:misago.get("THREAD_EDITOR_API"),submit:misago.get("THREADS_API"),category:a.id})}},void 0,de||(de=(0,s.Z)("span",{className:"material-icon"},void 0,"chat")),gettext("Start thread"))),k.allow&&(0,s.Z)(N.Eg,{shrink:!0},void 0,(0,s.Z)(he,{api:t,categories:i,categoriesMap:o,threads:h,addThreads:v,freezeThread:Z,updateThread:g,deleteThread:b,selection:y,moderation:k,route:R,user:C,disabled:E}))))};var ve,me,Ze=function(e){(0,l.Z)(r,e);var t,n,a=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function r(){return(0,i.Z)(this,r),a.apply(this,arguments)}return(0,o.Z)(r,[{key:"getCategoryDescription",value:function(){return this.props.pageLead?(0,s.Z)("div",{className:"category-description"},void 0,(0,s.Z)("div",{className:"page-lead lead"},void 0,(0,s.Z)("p",{},void 0,this.props.pageLead))):this.props.route.category.description?(0,s.Z)("div",{className:"category-description"},void 0,(0,s.Z)(y.Z,{copy:this.props.route.category.description.html})):null}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"render",value:function(){var e=this.props.root,t=this.props.route,n=t.category,a=t.categories,i=t.categoriesMap,o=ge(e,n,i);return(0,s.Z)("div",{className:"container"},void 0,this.getCategoryDescription(),(0,s.Z)(fe,{api:this.props.api,baseUrl:n.url.index,category:n,categories:a,categoriesMap:i,topCategory:o,topCategories:a.filter((function(t){return t.parent===e.id})),subCategories:o?a.filter((function(e){return e.parent===o.id})):[],subCategory:2===n.level?n:null,subcategories:this.props.subcategories,list:this.props.route.list,lists:this.props.route.lists,threads:this.props.threads,addThreads:this.props.addThreads,startThread:this.props.startThread,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,selection:this.props.selection,moderation:this.props.moderation,route:this.props.route,user:this.props.user,disabled:!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}),this.props.children)}}]),r}(h().Component),ge=function(e,t,n){return t.parent?t.parent===e.id?t:n[t.parent]:null};var be=function(e){(0,l.Z)(r,e);var t,n,a=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function r(){return(0,i.Z)(this,r),a.apply(this,arguments)}return(0,o.Z)(r,[{key:"hasGoBackButton",value:function(){return!!this.props.route.category.parent}},{key:"getGoBackButton",value:function(){if(!this.props.route.category.parent)return null;var e=this.props.categories[this.props.route.category.parent];return(0,s.Z)("div",{className:"hidden-xs col-sm-2 col-lg-1"},void 0,(0,s.Z)(k.rU,{className:"btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline",to:e.url.index+this.props.route.list.path},void 0,ve||(ve=(0,s.Z)("span",{className:"material-icon"},void 0,"keyboard_arrow_left"))))}},{key:"render",value:function(){var e="col-xs-12";return this.hasGoBackButton()&&(e+=" col-sm-10 col-lg-11 sm-align-row-buttons"),(0,s.Z)("div",{className:"page-header-bg"},void 0,(0,s.Z)("div",{className:"page-header"},void 0,(0,s.Z)("div",{className:"container"},void 0,(0,s.Z)("div",{className:"row"},void 0,this.getGoBackButton(),(0,s.Z)("div",{className:e},void 0,(0,s.Z)(ye,{categories:this.props.categories,category:this.props.route.category.parent}),(0,s.Z)("h1",{},void 0,this.props.title))))))}}]),r}(h().Component);function ye(e){var t=e.categories,n=e.category;if(!n)return null;var a=t[n];return(0,s.Z)(k.rU,{className:"go-back-sm visible-xs-block",to:a.url.index},void 0,me||(me=(0,s.Z)("span",{className:"material-icon"},void 0,"chevron_left")),a.parent?a.name:gettext("Threads"))}function _e(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach((function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.is_hidden&&e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide})),t}var Ne,ke,xe,we,Re,Ce,Ee,Se,Le,Pe,Oe,Te,Be=function(e){var t=e.category,n=e.list,a=e.message;return"all"===n.type?a?(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,a),(0,s.Z)("p",{},void 0,gettext("Why not start one yourself?"))):(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,t.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),(0,s.Z)("p",{},void 0,gettext("Why not start one yourself?"))):(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("No threads matching specified criteria were found.")))},Ae=function(e){var t=e.thread;return(0,s.Z)("a",{href:t.url.last_post,className:"threads-list-item-last-activity",title:interpolate(gettext("Last activity: %(timestamp)s"),{timestamp:t.last_post_on.format("LLL")},!0)},void 0,t.last_post_on.fromNow(!0))},Ie=function(e){var t="threads-list-item-category threads-list-category-label";return e.color&&(t+=" threads-list-category-label-color"),t},je=function(e){var t=e.parent,n=e.category;return(0,s.Z)("span",{},void 0,t&&(0,s.Z)("a",{href:t.url.index,className:Ie(t)+" threads-list-item-parent-category",style:t.color?{"--label-color":t.color}:null,title:t.short_name?t.name:null},void 0,t.short_name||t.name),(0,s.Z)("a",{href:n.url.index,className:Ie(n),style:n.color?{"--label-color":n.color}:null,title:n.short_name?n.name:null},void 0,n.short_name||n.name))},De=function(e){var t=e.checked,n=e.disabled,a=e.thread;return(0,s.Z)("button",{className:"btn btn-default btn-icon",type:"button",disabled:n,onClick:function(){return F.Z.dispatch(D.wc(a.id))}},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,t?"check_box":"check_box_outline_blank"))},Me=function(e){var t=e.thread;return(0,s.Z)("ul",{className:"threads-list-item-flags"},void 0,2==t.weight&&(0,s.Z)("li",{className:"threads-list-item-flag-pinned-globally",title:gettext("Pinned globally")},void 0,Ne||(Ne=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark"))),1==t.weight&&(0,s.Z)("li",{className:"threads-list-item-flag-pinned-locally",title:gettext("Pinned in category")},void 0,ke||(ke=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark_outline"))),t.best_answer&&(0,s.Z)("li",{className:"threads-list-item-flag-answered",title:gettext("Answered")},void 0,xe||(xe=(0,s.Z)("span",{className:"material-icon"},void 0,"check_circle"))),t.has_poll&&(0,s.Z)("li",{className:"threads-list-item-flag-poll",title:gettext("Poll")},void 0,we||(we=(0,s.Z)("span",{className:"material-icon"},void 0,"poll"))),(t.is_unapproved||t.has_unapproved_posts)&&(0,s.Z)("li",{className:"threads-list-item-flag-unapproved",title:t.is_unapproved?gettext("Awaiting approval"):gettext("Has unapproved posts")},void 0,Re||(Re=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility"))),t.is_closed&&(0,s.Z)("li",{className:"threads-list-item-flag-closed",title:gettext("Closed")},void 0,Ce||(Ce=(0,s.Z)("span",{className:"material-icon"},void 0,"lock"))),t.is_hidden&&(0,s.Z)("li",{className:"threads-list-item-flag-hidden",title:gettext("Hidden")},void 0,Ee||(Ee=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility_off"))))},Ue=function(e){var t=e.thread,n="threads-list-icon";return t.is_read||(n+=" threads-list-icon-new"),(0,s.Z)("a",{title:t.is_read?gettext("No new posts"):gettext("New posts"),href:t.is_read?t.url.last_post:t.url.new_post,className:n},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,t.is_read?"chat_bubble_outline":"chat_bubble"))},ze=n(19605),He=function(e){var t=e.thread;return t.last_poster?(0,s.Z)("a",{href:t.url.last_poster,className:"threads-list-item-last-poster",title:interpolate(gettext("Last post by: %(poster)s"),{poster:t.last_poster.username},!0)},void 0,(0,s.Z)(ze.ZP,{size:32,user:t.last_poster})):(0,s.Z)("span",{className:"threads-list-item-last-poster",title:interpolate(gettext("Last post by: %(poster)s"),{poster:t.last_poster_name},!0)},void 0,Se||(Se=(0,s.Z)(ze.ZP,{size:32})))},Fe=function(e){var t=e.thread;return(0,s.Z)("span",{className:"threads-list-item-replies",title:interpolate(ngettext("%(replies)s reply","%(replies)s replies",t.replies),{replies:t.replies},!0)},void 0,Le||(Le=(0,s.Z)("span",{className:"material-icon"},void 0,"chat_bubble_outline")),t.replies>980?Math.round(t.replies/1e3)+"K":t.replies)};var qe,Ye,Ve,$e,Ge,We,Ke,Je,Qe,Xe,et={unsubscribe:null,notify:!1,email:!0},tt=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;return(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"update",(function(e){var n=t.props.thread;t.setState({loading:!0}),F.Z.dispatch((0,j.r$)(n,{subscription:et[e]})),U.Z.patch(n.api.index,[{op:"replace",path:"subscription",value:e}]).then((function(){}),(function(e){F.Z.dispatch((0,j.r$)(n,{subscription:et[n.subscription]})),H.Z.apiError(e)})).then((function(){return t.setState({loading:!1})}))})),(0,d.Z)((0,r.Z)(t),"render",(function(){var e=t.state.loading,n=t.props,a=n.disabled,i=n.thread;return(0,s.Z)("ul",{className:"dropdown-menu dropdown-menu-right"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||null===i.subscription,onClick:function(){return t.update("unsubscribe")}},void 0,Pe||(Pe=(0,s.Z)("span",{className:"material-icon"},void 0,"star_border")),gettext("Unsubscribe"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||!1===i.subscription,onClick:function(){return t.update("notify")}},void 0,Oe||(Oe=(0,s.Z)("span",{className:"material-icon"},void 0,"star_half")),gettext("Subscribe with alert"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||!0===i.subscription,onClick:function(){return t.update("email")}},void 0,Te||(Te=(0,s.Z)("span",{className:"material-icon"},void 0,"star")),gettext("Subscribe with e-mail"))))})),t.state={loading:!1},t}return(0,o.Z)(p)}(h().Component),nt=function(e){var t,n=e.disabled,a=e.thread;return(0,s.Z)("div",{className:"dropdown"},void 0,(0,s.Z)("button",{className:"btn btn-default btn-icon",type:"button",title:(t=a.subscription,!0===t?gettext("Subscribed to e-mails"):!1===t?gettext("Subscribed to alerts"):gettext("Not subscribed")),disabled:n,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return!0===e?"star":!1===e?"star_half":"star_border"}(a.subscription))),(0,s.Z)(tt,{disabled:n,thread:a}))},at=function(e){var t=e.activeCategory,n=e.categories,a=e.showOptions,i=e.showSubscription,o=e.thread,r=e.isBusy,l=e.isSelected,c=null,u=null;t.id!==o.category&&(u=n[o.category]).parent&&u.parent!==t.id&&n[u.parent]&&!n[u.parent].special_role&&(c=n[u.parent]);var d=o.is_closed||o.is_hidden||o.is_unapproved||o.weight>0||o.best_answer||o.has_poll||o.has_unapproved_posts,p=!a||o.is_new;return(0,s.Z)("li",{className:"list-group-item threads-list-item"+(r?" threads-list-item-is-busy":"")},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,a&&(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)(Ue,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("a",{href:o.url.index,className:"threads-list-item-title"},void 0,o.title),(0,s.Z)("a",{href:p?o.url.new_post:o.url.index,className:"threads-list-item-title-sm"+(p?" threads-list-item-title-new":"")},void 0,o.title)),a&&o.moderation.length>0&&(0,s.Z)("div",{className:"threads-list-item-col-checkbox-sm"},void 0,(0,s.Z)(De,{checked:l,disabled:r,thread:o}))),(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,d&&(0,s.Z)("div",{className:"threads-list-item-col-flags"},void 0,(0,s.Z)(Me,{thread:o})),!!u&&(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(je,{parent:c,category:u})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(Fe,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)(He,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)(Ae,{thread:o})),a&&i&&(0,s.Z)("div",{className:"threads-list-item-col-subscription"},void 0,(0,s.Z)(nt,{disabled:r,thread:o})),a&&o.moderation.length>0&&(0,s.Z)("div",{className:"threads-list-item-col-checkbox"},void 0,(0,s.Z)(De,{checked:l,disabled:r,thread:o}))))},st=function(e){var t=e.width;return(0,s.Z)("span",{className:"ui-preview-text",style:{width:t+"px"}},void 0," ")},it=function(e){var t=e.showOptions;return(0,s.Z)("div",{className:"threads-list threads-list-loader"},void 0,(0,s.Z)("ul",{className:"list-group"},void 0,(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&(qe||(qe=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Ye||(Ye=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(st,{width:"90"})," ",(0,s.Z)(st,{width:"40"})," ",(0,s.Z)(st,{width:"120"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(st,{width:"90"})," ",(0,s.Z)(st,{width:"40"})," ",(0,s.Z)(st,{width:"120"}))))),Ve||(Ve=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(st,{width:"70"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(st,{width:"50"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(ze.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(st,{width:"50"})))))),(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&($e||($e=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Ge||(Ge=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(st,{width:"120"})," ",(0,s.Z)(st,{width:"30"})," ",(0,s.Z)(st,{width:"60"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(st,{width:"120"})," ",(0,s.Z)(st,{width:"30"})," ",(0,s.Z)(st,{width:"60"}))))),We||(We=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(st,{width:"55"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(st,{width:"60"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(ze.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(st,{width:"70"})))))),(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&(Ke||(Ke=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Je||(Je=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(st,{width:"40"})," ",(0,s.Z)(st,{width:"120"})," ",(0,s.Z)(st,{width:"80"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(st,{width:"40"})," ",(0,s.Z)(st,{width:"120"})," ",(0,s.Z)(st,{width:"80"}))))),Qe||(Qe=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(st,{width:"75"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(st,{width:"40"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(ze.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(st,{width:"60"}))))))))},ot=function(e){var t=e.threads,n=e.onClick;return(0,s.Z)("li",{className:"list-group-item threads-list-update-prompt"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-block threads-list-update-prompt-btn",onClick:n},void 0,Xe||(Xe=(0,s.Z)("span",{className:"material-icon"},void 0,"cached")),(0,s.Z)("span",{className:"threads-list-update-prompt-message"},void 0,interpolate(ngettext("There is %(threads)s new or updated thread. Click here to show it.","There are %(threads)s new or updated threads. Click here to show them.",t),{threads:t},!0))))},rt=function(e){var t=e.list,n=e.categories,a=e.category,i=e.threads,o=e.busyThreads,r=e.selection,l=e.isLoaded,c=e.showOptions,u=e.updatedThreads,d=e.applyUpdate,p=e.emptyMessage;return l?(0,s.Z)("div",{className:"threads-list"},void 0,i.length>0?(0,s.Z)("ul",{className:"list-group"},void 0,u>0&&(0,s.Z)(ot,{threads:u,onClick:d}),i.map((function(e){return(0,s.Z)(at,{activeCategory:a,categories:n,thread:e,showOptions:c,showSubscription:c&&"subscribed"===t.type,isBusy:o.indexOf(e.id)>=0,isSelected:r.indexOf(e.id)>=0},e.id)}))):(0,s.Z)("ul",{className:"list-group"},void 0,u>0&&(0,s.Z)(ot,{threads:u,onClick:d}),(0,s.Z)(Be,{category:a,list:t,message:p}))):(0,s.Z)(it,{showOptions:c})},lt=n(82125),ct=n(55547),ut=n(53328),dt=n(20370);var pt=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadThreads(t.getCategory(),t.state.next)})),(0,d.Z)((0,r.Z)(t),"pollResponse",(function(e){var n,a,s;t.setState({diff:Object.assign({},e,{results:(n=t.props.threads,a=e.results,s={},n.forEach((function(e){s[e.id]=e})),a.filter((function(e){return!s[e.id]||function(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}(s[e.id],e)})))})})})),(0,d.Z)((0,r.Z)(t),"addThreads",(function(e){F.Z.dispatch((0,j.R3)(e,t.getSorting()))})),(0,d.Z)((0,r.Z)(t),"applyDiff",(function(){t.addThreads(t.state.diff.results),t.setState(Object.assign({},t.state.diff,{moderation:_e(F.Z.getState().threads),diff:{results:[]}}))})),(0,d.Z)((0,r.Z)(t),"freezeThread",(function(e){t.setState((function(t){return{busyThreads:dt.ZN(t.busyThreads,e)}}))})),(0,d.Z)((0,r.Z)(t),"updateThread",(function(e){F.Z.dispatch((0,j.r$)(e,e,t.getSorting()))})),(0,d.Z)((0,r.Z)(t),"deleteThread",(function(e){F.Z.dispatch((0,j.l8)(e))})),t.state={isMounted:!0,isLoaded:!1,isBusy:!1,diff:{results:[]},moderation:[],busyThreads:[],dropdown:!1,subcategories:[],next:0};var n=t.getCategory();return I.Z.has("THREADS")?t.initWithPreloadedData(n,I.Z.get("THREADS")):t.initWithoutPreloadedData(n),t}return(0,o.Z)(p,[{key:"getCategory",value:function(){return this.props.route.category.special_role?null:this.props.route.category.id}},{key:"initWithPreloadedData",value:function(e,t){this.state=Object.assign(this.state,{moderation:_e(t.results),subcategories:t.subcategories,next:t.next}),this.startPolling(e)}},{key:"initWithoutPreloadedData",value:function(e){this.loadThreads(e)}},{key:"loadThreads",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;U.Z.get(this.props.options.api,{category:e,list:this.props.route.list.type,start:n||0},"threads").then((function(a){t.state.isMounted&&(0===n?F.Z.dispatch((0,j.ZB)(a.results)):F.Z.dispatch((0,j.R3)(a.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:_e(F.Z.getState().threads),subcategories:a.subcategories,next:a.next}),t.startPolling(e))}),(function(e){H.Z.apiError(e)}))}},{key:"startPolling",value:function(e){ct.Z.start({poll:"threads",url:this.props.options.api,data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),I.Z.has("THREADS")&&(F.Z.dispatch((0,j.ZB)(I.Z.pop("THREADS").results)),this.setState({isLoaded:!0})),F.Z.dispatch(D.YP())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,ct.Z.stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(e=this.props.route).category.level?e.category.name:I.Z.get("THREADS_ON_INDEX")?I.Z.get("SETTINGS").index_header?I.Z.get("SETTINGS").index_header:I.Z.get("SETTINGS").forum_name:gettext("Threads");var e}},{key:"setPageTitle",value:function(){var e;this.props.route.category.level||!I.Z.get("THREADS_ON_INDEX")?ut.Z.set((e=this.props.route).category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:I.Z.get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}):this.props.options.title?ut.Z.set(this.props.options.title):I.Z.get("SETTINGS").index_title?document.title=I.Z.get("SETTINGS").index_title:document.title=I.Z.get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?Z:m}},{key:"getMoreButton",value:function(){return this.state.next?(0,s.Z)("div",{className:"pager-more"},void 0,(0,s.Z)(f.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},void 0,gettext("Show more"))):null}},{key:"getClassName",value:function(){var e,t="page page-threads";return t+=" page-threads-"+this.props.route.list.type,(e=this.props).route.category.level||!I.Z.get("THREADS_ON_INDEX")||e.options.title||(t+=" page-threads-index"),this.props.route.category.css_class&&(t+=" page-threads-"+this.props.route.category.css_class),t}},{key:"render",value:function(){return(0,s.Z)("div",{className:this.getClassName()},void 0,(0,s.Z)(be,{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,startThread:this.props.options.startThread,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),(0,s.Z)(Ze,{api:this.props.options.api,root:this.props.route.categories[0],route:this.props.route,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,startThread:this.props.options.startThread,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},void 0,(0,s.Z)(rt,{category:this.props.route.category,categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,updatedThreads:this.state.diff.results.length,applyUpdate:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads,emptyMessage:this.props.options.emptyMessage}),this.getMoreButton()))}}]),p}(lt.Z);var ht=n(39633),ft="misago:private-threads";function vt(e){return e.get("CURRENT_LINK").substr(0,ft.length)===ft?{api:e.get("PRIVATE_THREADS_API"),startThread:{mode:"START_PRIVATE",submit:I.Z.get("PRIVATE_THREADS_API")},title:gettext("Private threads"),pageLead:gettext("Private threads are threads which only those that started them and those they have invited may see and participate in."),emptyMessage:gettext("You aren't participating in any private threads.")}:{api:e.get("THREADS_API")}}I.Z.addInitializer({name:"component:threads",initializer:function(e){var t,n,s,i,o;e.has("THREADS")&&e.has("CATEGORIES")&&(0,ht.Z)({paths:(t=e.get("user"),n=vt(e),s=function(e){var t=[{type:"all",path:"",name:gettext("All"),longName:gettext("All threads")}];return e.id&&(t.push({type:"my",path:"my/",name:gettext("My"),longName:gettext("My threads")}),t.push({type:"new",path:"new/",name:gettext("New"),longName:gettext("New threads")}),t.push({type:"unread",path:"unread/",name:gettext("Unread"),longName:gettext("Unread threads")}),t.push({type:"subscribed",path:"subscribed/",name:gettext("Subscribed"),longName:gettext("Subscribed threads")}),e.acl.can_see_unapproved_content_lists&&t.push({type:"unapproved",path:"unapproved/",name:gettext("Unapproved"),longName:gettext("Unapproved content")})),t}(t),i=[],o={},I.Z.get("CATEGORIES").forEach((function(e){s.forEach((function(t){var r;o[e.id]=e,i.push({path:e.url.index+t.path,component:(0,a.$j)((r=n,function(e){return{options:r,selection:e.selection,threads:e.threads,tick:e.tick.tick,user:e.auth.user}}))(pt),categories:I.Z.get("CATEGORIES"),categoriesMap:o,category:e,lists:s,list:t})}))})),i)})},after:"store"})},47806:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588),p=n.n(d),h=n(19605),f=n(97326),v=n(4942),m=n(78657),Z=n(53904);function g(e){return e.filter((function(e){return e.results.count>0})).map((function(e){return Object.assign({},e,{count:e.results.count,results:e.results.results.slice(0,5)})}))}var b=n(87462),y="HEADER",_="RESULT",N="FOOTER";function k(e){var t=e.value,n=e.onChange;return(0,i.Z)("input",{"aria-haspopup":"true","aria-expanded":"false","aria-controls":"dropdown-menu dropdown-search-results",autoComplete:"off",className:"form-control",value:t,onChange:n,placeholder:gettext("Search"),role:"combobox",type:"text"})}function x(e){var t=e.children,n=e.onChange,a=e.query;return(0,i.Z)("ul",{className:"dropdown-menu dropdown-search-results",role:"menu"},void 0,(0,i.Z)("li",{className:"form-group"},void 0,(0,i.Z)(k,{value:a,onChange:n})),t)}function w(){return(0,i.Z)("li",{className:"dropdown-search-message"},void 0,gettext("Search returned no results."))}var R,C=n(37848);function E(e){return e.message,R||(R=(0,i.Z)("li",{className:"dropdown-search-loader"},void 0,(0,i.Z)(C.Z,{})))}function S(e){var t=e.provider,n=e.query,a=t.url+"?q="+encodeURI(n),s=ngettext('See full "%(provider)s" results page with %(count)s result.','See full "%(provider)s" results page with %(count)s results.',t.count);return(0,i.Z)("li",{className:"dropdown-search-footer"},void 0,(0,i.Z)("a",{href:a},void 0,interpolate(s,{count:t.count,provider:t.name},!0)))}function L(e){var t=e.provider;return(0,i.Z)("li",{className:"dropdown-search-header"},void 0,t.name)}var P,O,T,B=n(30381),A=n.n(B),I=n(19755);function j(e){var t=e.result,n=(t.poster,t.thread),a=gettext("Posted by %(poster)s on %(posted_on)s in %(category)s.");return(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:t.url.index,className:"dropdown-search-thread"},void 0,(0,i.Z)("h5",{},void 0,n.title),(0,i.Z)("small",{className:"dropdown-search-post-content"},void 0,I(t.content).text()),(0,i.Z)("small",{className:"dropdown-search-post-footer"},void 0,interpolate(a,{category:t.category.name,posted_on:A()(t.posted_on).format("LL"),poster:t.poster_name},!0))))}function D(e){var t=e.result,n=t.rank,a=gettext("%(title)s, joined on %(joined_on)s"),s=t.title||n.title||n.name;return(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:t.url,className:"dropdown-search-user"},void 0,(0,i.Z)("div",{className:"media"},void 0,(0,i.Z)("div",{className:"media-left"},void 0,(0,i.Z)(h.ZP,{size:38,user:t})),(0,i.Z)("div",{className:"media-body"},void 0,(0,i.Z)("h5",{className:"media-heading"},void 0,t.username),(0,i.Z)("small",{},void 0,interpolate(a,{title:s,joined_on:A()(t.joined_on).format("LL")},!0))))))}function M(e){var t=e.provider,n=e.result;return"threads"===t.id?(0,i.Z)(j,{result:n}):(0,i.Z)(D,{result:n})}function U(e){var t=e.provider,n=e.result,a=e.type,s=e.query;return a===y?(0,i.Z)(L,{provider:t}):a===N?(0,i.Z)(S,{provider:t,query:s}):(0,i.Z)(M,{provider:t,result:n})}function z(e,t){for(var n=e.results.length,a=0;a<n;a++){var s=e.results[a];t.push({provider:e,result:s,type:_})}t.push({provider:e,type:N})}function H(e){var t=e.isLoading,n=e.onChange,a=e.results,s=e.query;if(!s.trim().length)return(0,i.Z)(x,{onChange:n,query:s});if(a.length){var o=function(e){var t=[];return function(e,t){for(var n=e.length,a=0;a<n;a++){var s=e[a];t.push({provider:s,type:y}),z(s,t)}}(e,t),t}(a);return(0,i.Z)(x,{onChange:n,query:s},void 0,o.map((function(e){var t=e.type,n=e.provider,a=e.result;return t===_?p().createElement(U,(0,b.Z)({key:[n.id,t,a.id].join("_")},e)):p().createElement(U,(0,b.Z)({key:[n.id,t].join("_"),query:s},e))})))}return t?(0,i.Z)(x,{onChange:n,query:s},void 0,P||(P=(0,i.Z)(E,{}))):(0,i.Z)(x,{onChange:n,query:s},void 0,O||(O=(0,i.Z)(w,{})))}var F=function(e){(0,l.Z)(d,e);var t,n,a=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function d(){var e;return(0,o.Z)(this,d),e=a.call(this),(0,v.Z)((0,f.Z)(e),"onToggle",(function(t){e.setState((function(t,n){return t.isOpen||window.setTimeout((function(){e.container.querySelector("input").focus()}),100),{isOpen:!t.isOpen}}))})),(0,v.Z)((0,f.Z)(e),"onDocumentMouseDown",(function(t){for(var n=!0,a=t.target;null!==a&&a!==document;){if(a===e.container)return void(n=!1);a=a.parentNode}n&&e.setState({isOpen:!1})})),(0,v.Z)((0,f.Z)(e),"onEscape",(function(t){"Escape"===t.key&&e.setState({isOpen:!1})})),(0,v.Z)((0,f.Z)(e),"onChange",(function(t){var n=t.target.value;e.setState({query:n}),e.loadResults(n.trim())})),e.state={isLoading:!1,isOpen:!1,query:"",results:[]},e.intervalId=null,e}return(0,r.Z)(d,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.onDocumentMouseDown),document.addEventListener("keydown",this.onEscape)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.onDocumentMouseDown),document.removeEventListener("keydown",this.onEscape)}},{key:"loadResults",value:function(e){var t=this;if(e.length){var n=300+300*Math.random();this.intervalId&&window.clearTimeout(this.intervalId),this.setState({isLoading:!0}),this.intervalId=window.setTimeout((function(){m.Z.get(s.Z.get("SEARCH_API"),{q:e}).then((function(e){t.setState({intervalId:null,isLoading:!1,results:g(e)})}),(function(e){Z.Z.apiError(e),t.setState({intervalId:null,isLoading:!1,results:[]})}))}),n)}}},{key:"render",value:function(){var e=this,t="navbar-search dropdown";return this.state.isOpen&&(t+=" open"),p().createElement("div",{className:t,ref:function(t){return e.container=t}},(0,i.Z)("a",{"aria-haspopup":"true","aria-expanded":"false",className:"navbar-icon","data-toggle":"dropdown",href:s.Z.get("SEARCH_URL"),onClick:this.onToggle},void 0,T||(T=(0,i.Z)("i",{className:"material-icon"},void 0,"search"))),(0,i.Z)(H,{isLoading:this.state.isLoading,onChange:this.onChange,results:this.state.results,query:this.state.query}))}}]),d}(p().Component),q=n(82211),Y=n(43345),V=n(96359),$=n(59940);var G,W,K,J=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],Q=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],X=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e))._score=0,t._password=null,t._inputs=[],t.state={loaded:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;$.Z.load().then((function(){e.setState({loaded:!0})}))}},{key:"getScore",value:function(e,t){var n=this,a=!1;return e!==this._password&&(a=!0),t.length!==this._inputs.length?a=!0:t.map((function(e,t){e.trim()!==n._inputs[t]&&(a=!0)})),a&&(this._score=$.Z.scorePassword(e,t),this._password=e,this._inputs=t.map((function(e){return e.trim()}))),this._score}},{key:"render",value:function(){if(!this.state.loaded)return null;var e=this.getScore(this.props.password,this.props.inputs);return(0,i.Z)("div",{className:"help-block password-strength"},void 0,(0,i.Z)("div",{className:"progress"},void 0,(0,i.Z)("div",{className:"progress-bar "+J[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},void 0,(0,i.Z)("span",{className:"sr-only"},void 0,Q[e]))),(0,i.Z)("p",{className:"text-small"},void 0,Q[e]))}}]),s}(p().Component),ee=n(26106),te=n(47235),ne=n(98274),ae=n(93825),se=n(59801),ie=n(93051),oe=n(55210);function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(Object(n),!0).forEach((function(t){(0,v.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ue,de=function(e){(0,l.Z)(n,e);var t=ce(n);function n(e){var a;(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"handlePrivacyPolicyChange",(function(e){var t=e.target.value;a.handleToggleAgreement("privacyPolicy",t)})),(0,v.Z)((0,f.Z)(a),"handleTermsOfServiceChange",(function(e){var t=e.target.value;a.handleToggleAgreement("termsOfService",t)})),(0,v.Z)((0,f.Z)(a),"handleToggleAgreement",(function(e,t){a.setState((function(n,s){if(null===n[e]){var i=le(le({},n.errors),{},(0,v.Z)({},e,null));return(0,v.Z)({errors:i},e,t)}var o=a.state.validators[e][0],r=le(le({},n.errors),{},(0,v.Z)({},e,[o(null)]));return(0,v.Z)({errors:r},e,null)}))}));var i=a.props.criteria,r=i.username,l=i.password,c=0;l.forEach((function(e){"MinimumLengthValidator"===e.name&&(c=e.min_length)}));var u={username:[oe.lG(),oe.HR(r.min_length),oe.gS(r.max_length)],email:[oe.Do()],password:[oe.Vb(c)],captcha:ae.ZP.validator()};return s.Z.get("TERMS_OF_SERVICE_ID")&&(u.termsOfService=[oe.fT()]),s.Z.get("PRIVACY_POLICY_ID")&&(u.privacyPolicy=[oe.jA()]),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",termsOfService:null,privacyPolicy:null,validators:u,errors:{}},a}return(0,r.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(Z.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return m.Z.post(s.Z.get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha,terms_of_service:this.state.termsOfService,privacy_policy:this.state.privacyPolicy})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?Z.Z.error(e.__all__[0]):Z.Z.error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,ie.Z)(e.ban),se.Z.hide()):Z.Z.apiError(e)}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-dialog modal-register",role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,G||(G=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Register"))),(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("input",{type:"type",style:{display:"none"}}),(0,i.Z)("input",{type:"password",style:{display:"none"}}),(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(te.Z,{buttonClassName:"col-xs-12 col-sm-6",buttonLabel:gettext("Join with %(site)s"),formLabel:gettext("Or create forum account:")}),(0,i.Z)(V.Z,{label:gettext("Username"),for:"id_username",validation:this.state.errors.username},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),(0,i.Z)(V.Z,{label:gettext("E-mail"),for:"id_email",validation:this.state.errors.email},void 0,(0,i.Z)("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),(0,i.Z)(V.Z,{label:gettext("Password"),for:"id_password",validation:this.state.errors.password,extra:(0,i.Z)(X,{password:this.state.password,inputs:[this.state.username,this.state.email]})},void 0,(0,i.Z)("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),ae.ZP.component({form:this}),(0,i.Z)(ee.Z,{errors:this.state.errors,privacyPolicy:this.state.privacyPolicy,termsOfService:this.state.termsOfService,onPrivacyPolicyChange:this.handlePrivacyPolicyChange,onTermsOfServiceChange:this.handleTermsOfServiceChange})),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,i.Z)(q.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Register account"))))))}}]),n}(Y.Z),pe=function(e){(0,l.Z)(n,e);var t=ce(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-dialog modal-message modal-register",role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,W||(W=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Registration complete"))),(0,i.Z)("div",{className:"modal-body"},void 0,K||(K=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,interpolate(this.getLead(),{username:this.props.username},!0)),(0,i.Z)("p",{},void 0,interpolate(this.getSubscript(),{email:this.props.email},!0)),(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))))}}]),n}(p().Component),he=function(e){(0,l.Z)(n,e);var t=ce(n);function n(e){var a;return(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"completeRegistration",(function(e){"active"===e.activation?(se.Z.hide(),ne.Z.signIn(e)):a.setState({complete:e})})),a.state={complete:!1},a}return(0,r.Z)(n,[{key:"render",value:function(){return this.state.complete?(0,i.Z)(pe,{activation:this.state.complete.activation,email:this.state.complete.email,username:this.state.complete.username}):p().createElement(de,(0,b.Z)({callback:this.completeRegistration},this.props))}}]),n}(p().Component);var fe,ve,me=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"showRegisterForm",(function(){"closed"===misago.get("SETTINGS").account_activation?Z.Z.info(gettext("New registrations are currently disabled.")):t.state.isLoaded?se.Z.show((0,i.Z)(he,{criteria:t.state.criteria})):(t.setState({isLoading:!0}),Promise.all([ae.ZP.load(),m.Z.get(misago.get("AUTH_CRITERIA_API"))]).then((function(e){t.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),se.Z.show((0,i.Z)(he,{criteria:e[1]}))}),(function(){t.setState({isLoading:!1}),Z.Z.error(gettext("Registration is currently unavailable due to an error."))})))})),t.state={isLoading:!1,isLoaded:!1,criteria:null},t}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return(0,i.Z)("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},void 0,gettext("Register"),this.state.isLoading?ue||(ue=(0,i.Z)(C.Z,{})):null)}}]),s}(p().Component),Ze=n(14467),ge=n(8621);function be(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ye,_e=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showSignInModal",value:function(){se.Z.show(Ze.Z)}},{key:"render",value:function(){return(0,i.Z)("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},void 0,(0,i.Z)("li",{className:"guest-preview"},void 0,(0,i.Z)("h4",{},void 0,gettext("You are browsing as guest.")),(0,i.Z)("p",{},void 0,gettext("Sign in or register to start and participate in discussions.")),(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-xs-6"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-sign-in btn-block",onClick:this.showSignInModal,type:"button"},void 0,gettext("Sign in"))),(0,i.Z)("div",{className:"col-xs-6"},void 0,(0,i.Z)(me,{className:"btn-primary btn-register btn-block"},void 0,gettext("Register"))))))}}]),n}(p().Component),Ne=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return(0,i.Z)("div",{className:"nav nav-guest"},void 0,(0,i.Z)("button",{className:"btn navbar-btn btn-default btn-sign-in",onClick:this.showSignInModal,type:"button"},void 0,gettext("Sign in")),(0,i.Z)(me,{className:"navbar-btn btn-primary btn-register"},void 0,gettext("Register")),fe||(fe=(0,i.Z)("div",{className:"navbar-left"},void 0,(0,i.Z)(F,{}))))}}]),n}(_e),ke=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showGuestMenu",value:function(){ge.Z.show(_e)}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",onClick:this.showGuestMenu},void 0,ve||(ve=(0,i.Z)(h.ZP,{size:"64"})))}}]),n}(p().Component);var xe,we=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"setGravatar",(function(){t.callApi("gravatar")})),(0,v.Z)((0,f.Z)(t),"setGenerated",(function(){t.callApi("generated")})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"callApi",value:function(e){var t=this;if(this.state.isLoading)return!1;this.setState({isLoading:!0}),m.Z.post(this.props.user.api.avatar,{avatar:e}).then((function(e){t.setState({isLoading:!1}),Z.Z.success(e.detail),t.props.onComplete(e)}),(function(e){400===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))}},{key:"getGravatarButton",value:function(){return this.props.options.gravatar?(0,i.Z)(q.Z,{onClick:this.setGravatar,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gravatar"},void 0,gettext("Download my Gravatar")):null}},{key:"getCropButton",value:function(){return this.props.options.crop_src?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-crop",disabled:this.state.isLoading,onClick:this.props.showCrop},void 0,gettext("Re-crop uploaded image")):null}},{key:"getUploadButton",value:function(){return this.props.options.upload?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-upload",disabled:this.state.isLoading,onClick:this.props.showUpload},void 0,gettext("Upload new image")):null}},{key:"getGalleryButton",value:function(){return this.props.options.galleries?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-gallery",disabled:this.state.isLoading,onClick:this.props.showGallery},void 0,gettext("Pick avatar from gallery")):null}},{key:"getAvatarPreview",value:function(){var e={id:this.props.user.id,avatars:this.props.options.avatars};return this.state.isLoading?(0,i.Z)("div",{className:"avatar-preview preview-loading"},void 0,(0,i.Z)(h.ZP,{size:"200",user:e}),ye||(ye=(0,i.Z)(C.Z,{}))):(0,i.Z)("div",{className:"avatar-preview"},void 0,(0,i.Z)(h.ZP,{size:"200",user:e}))}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-index"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-5"},void 0,this.getAvatarPreview()),(0,i.Z)("div",{className:"col-md-7"},void 0,this.getGravatarButton(),(0,i.Z)(q.Z,{onClick:this.setGenerated,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-generate"},void 0,gettext("Generate my individual avatar")),this.getCropButton(),this.getUploadButton(),this.getGalleryButton())))}}]),s}(p().Component),Re=n(19755);var Ce,Ee=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"cropAvatar",(function(){if(t.state.isLoading)return!1;t.setState({isLoading:!0});var e=t.props.upload?"crop_tmp":"crop_src",n=Re(".crop-form"),a=n.cropit("exportZoom"),s=n.cropit("offset");m.Z.post(t.props.user.api.avatar,{avatar:e,crop:{offset:{x:s.x*a,y:s.y*a},zoom:n.cropit("zoom")*a}}).then((function(e){t.props.onComplete(e),Z.Z.success(e.detail)}),(function(e){400===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))})),t.state={isLoading:!1,deviceRatio:1},t}return(0,r.Z)(s,[{key:"getAvatarSize",value:function(){return this.props.upload?this.props.options.crop_tmp.size:this.props.options.crop_src.size}},{key:"getImagePath",value:function(){return this.props.upload?this.props.dataUrl:this.props.options.crop_src.url}},{key:"componentDidMount",value:function(){for(var e=this,t=Re(".crop-form"),n=this.getAvatarSize(),a=t.width();a<n;)n/=2;var s=this.getAvatarSize()/n;t.width(n),t.cropit({width:n,height:n,exportZoom:s,imageState:{src:this.getImagePath()},onImageLoaded:function(){if(e.props.upload){var n=t.cropit("zoom"),a=t.cropit("imageSize");if(a.width>a.height){var s=(a.width*n-e.getAvatarSize())/-2;t.cropit("offset",{x:s,y:0})}else if(a.width<a.height){var i=(a.height*n-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:i})}else t.cropit("offset",{x:0,y:0})}else{var o=e.props.options.crop_src.crop;o&&(t.cropit("zoom",o.zoom),t.cropit("offset",{x:o.x,y:o.y}))}}})}},{key:"componentWillUnmount",value:function(){Re(".crop-form").cropit("disable")}},{key:"render",value:function(){return(0,i.Z)("div",{},void 0,xe||(xe=(0,i.Z)("div",{className:"modal-body modal-avatar-crop"},void 0,(0,i.Z)("div",{className:"crop-form"},void 0,(0,i.Z)("div",{className:"cropit-preview"}),(0,i.Z)("input",{type:"range",className:"cropit-image-zoom-input"})))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},void 0,this.props.upload?gettext("Set avatar"):gettext("Crop image")),(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},void 0,gettext("Cancel")))))}}]),s}(p().Component),Se=n(48772);var Le,Pe=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"pickFile",(function(){document.getElementById("avatar-hidden-upload").click()})),(0,v.Z)((0,f.Z)(t),"uploadFile",(function(){var e=document.getElementById("avatar-hidden-upload").files[0];if(e){var n=t.validateFile(e);if(n)Z.Z.error(n);else{t.setState({image:e,preview:URL.createObjectURL(e),progress:0});var a=new FormData;a.append("avatar","upload"),a.append("image",e),m.Z.upload(t.props.user.api.avatar,a,(function(e){t.setState({progress:e})})).then((function(e){t.setState({options:e,uploaded:e.detail}),Z.Z.info(gettext("Your image has been uploaded and you may now crop it."))}),(function(e){400===e.status||413===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1,image:null,progress:0})):t.props.showError(e)}))}}})),t.state={image:null,preview:null,progress:0,uploaded:null,dataUrl:null},t}return(0,r.Z)(s,[{key:"validateFile",value:function(e){if(e.size>this.props.options.upload.limit)return interpolate(gettext("Selected file is too big. (%(filesize)s)"),{filesize:(0,Se.Z)(e.size)},!0);var t=gettext("Selected file type is not supported.");if(-1===this.props.options.upload.allowed_mime_types.indexOf(e.type))return t;var n=!1,a=e.name.toLowerCase();return this.props.options.upload.allowed_extensions.map((function(e){a.substr(-1*e.length)===e&&(n=!0)})),!n&&t}},{key:"getUploadRequirements",value:function(e){var t=e.allowed_extensions.map((function(e){return e.substr(1)}));return interpolate(gettext("%(files)s files smaller than %(limit)s"),{files:t.join(", "),limit:(0,Se.Z)(e.limit)},!0)}},{key:"getUploadButton",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-upload"},void 0,(0,i.Z)(q.Z,{className:"btn-pick-file",onClick:this.pickFile},void 0,Ce||(Ce=(0,i.Z)("div",{className:"material-icon"},void 0,"input")),gettext("Select file")),(0,i.Z)("p",{className:"text-muted"},void 0,this.getUploadRequirements(this.props.options.upload)))}},{key:"getUploadProgressLabel",value:function(){return interpolate(gettext("%(progress)s % complete"),{progress:this.state.progress},!0)}},{key:"getUploadProgress",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-upload"},void 0,(0,i.Z)("div",{className:"upload-progress"},void 0,(0,i.Z)("img",{src:this.state.preview}),(0,i.Z)("div",{className:"progress"},void 0,(0,i.Z)("div",{className:"progress-bar",role:"progressbar","aria-valuenow":"{this.state.progress}","aria-valuemin":"0","aria-valuemax":"100",style:{width:this.state.progress+"%"}},void 0,(0,i.Z)("span",{className:"sr-only"},void 0,this.getUploadProgressLabel())))))}},{key:"renderUpload",value:function(){return(0,i.Z)("div",{},void 0,(0,i.Z)("input",{type:"file",id:"avatar-hidden-upload",className:"hidden-file-upload",onChange:this.uploadFile}),this.state.image?this.getUploadProgress():this.getUploadButton(),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:!!this.state.image,className:"btn-default btn-block"},void 0,gettext("Cancel")))))}},{key:"renderCrop",value:function(){return(0,i.Z)(Ee,{options:this.state.options,user:this.props.user,upload:this.state.uploaded,dataUrl:this.state.preview,onComplete:this.props.onComplete,showError:this.props.showError,showIndex:this.props.showIndex})}},{key:"render",value:function(){return this.state.uploaded?this.renderCrop():this.renderUpload()}}]),s}(p().Component),Oe=n(69130);function Te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var Be,Ae,Ie,je=function(e){(0,l.Z)(n,e);var t=Te(n);function n(){var e;(0,o.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,v.Z)((0,f.Z)(e),"select",(function(){e.props.select(e.props.id)})),e}return(0,r.Z)(n,[{key:"getClassName",value:function(){return this.props.selection===this.props.id?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},void 0,(0,i.Z)("img",{src:this.props.url}))}}]),n}(p().Component),De=function(e){(0,l.Z)(n,e);var t=Te(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{className:"avatars-gallery"},void 0,(0,i.Z)("h3",{},void 0,this.props.name),(0,i.Z)("div",{className:"avatars-gallery-images"},void 0,(0,Oe.Z)(this.props.images,4,null).map((function(t,n){return(0,i.Z)("div",{className:"row"},n,t.map((function(t,n){return(0,i.Z)("div",{className:"col-xs-3"},n,t?p().createElement(je,(0,b.Z)({disabled:e.props.disabled,select:e.props.select,selection:e.props.selection},t)):Le||(Le=(0,i.Z)("div",{className:"blank-avatar"})))})))}))))}}]),n}(p().Component),Me=function(e){(0,l.Z)(n,e);var t=Te(n);function n(e){var a;return(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"select",(function(e){a.setState({selection:e})})),(0,v.Z)((0,f.Z)(a),"save",(function(){if(a.state.isLoading)return!1;a.setState({isLoading:!0}),m.Z.post(a.props.user.api.avatar,{avatar:"galleries",image:a.state.selection}).then((function(e){a.setState({isLoading:!1}),Z.Z.success(e.detail),a.props.onComplete(e),a.props.showIndex()}),(function(e){400===e.status?(Z.Z.error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))})),a.state={selection:null,isLoading:!1},a}return(0,r.Z)(n,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{},void 0,(0,i.Z)("div",{className:"modal-body modal-avatar-gallery"},void 0,this.props.options.galleries.map((function(t,n){return(0,i.Z)(De,{name:t.name,images:t.images,selection:e.state.selection,disabled:e.state.isLoading,select:e.select},n)}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.save,loading:this.state.isLoading,disabled:!this.state.selection,className:"btn-primary btn-block"},void 0,this.state.selection?gettext("Save choice"):gettext("Select avatar")),(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},void 0,gettext("Cancel"))))))}}]),n}(p().Component),Ue=n(3784),ze=n(6935),He=n(90287);function Fe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var qe,Ye,Ve,$e,Ge,We,Ke,Je,Qe,Xe,et,tt,nt=function(e){(0,l.Z)(n,e);var t=Fe(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"getErrorReason",value:function(){return this.props.reason?(0,i.Z)("p",{dangerouslySetInnerHTML:{__html:this.props.reason}}):null}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-body"},void 0,Be||(Be=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"remove_circle_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.props.message),this.getErrorReason(),(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}}]),n}(p().Component),at=function(e){(0,l.Z)(n,e);var t=Fe(n);function n(){var e;(0,o.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,v.Z)((0,f.Z)(e),"showError",(function(t){e.setState({error:t})})),(0,v.Z)((0,f.Z)(e),"showIndex",(function(){e.setState({component:we})})),(0,v.Z)((0,f.Z)(e),"showUpload",(function(){e.setState({component:Pe})})),(0,v.Z)((0,f.Z)(e),"showCrop",(function(){e.setState({component:Ee})})),(0,v.Z)((0,f.Z)(e),"showGallery",(function(){e.setState({component:Me})})),(0,v.Z)((0,f.Z)(e),"completeFlow",(function(t){He.Z.dispatch((0,ze.n1)(e.props.user,t.avatars)),e.setState({component:we,options:t})})),e}return(0,r.Z)(n,[{key:"componentDidMount",value:function(){var e=this;m.Z.get(this.props.user.api.avatar).then((function(t){e.setState({component:we,options:t,error:null})}),(function(t){e.showError(t)}))}},{key:"getBody",value:function(){return this.state?this.state.error?(0,i.Z)(nt,{message:this.state.error.detail,reason:this.state.error.reason}):(0,i.Z)(this.state.component,{options:this.state.options,user:this.props.user,onComplete:this.completeFlow,showError:this.showError,showIndex:this.showIndex,showCrop:this.showCrop,showUpload:this.showUpload,showGallery:this.showGallery}):Ae||(Ae=(0,i.Z)(Ue.Z,{}))}},{key:"getClassName",value:function(){return this.state&&this.state.error?"modal-dialog modal-message modal-change-avatar":"modal-dialog modal-change-avatar"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,Ie||(Ie=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Change your avatar"))),this.getBody()))}}]),n}(p().Component);function st(e){return{user:e.auth.user}}function it(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ot=function(e){(0,l.Z)(n,e);var t=it(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"changeAvatar",value:function(){se.Z.show((0,a.$j)(st)(at))}},{key:"render",value:function(){var e=this.props.user;return(0,i.Z)("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},void 0,(0,i.Z)("li",{className:"dropdown-header"},void 0,(0,i.Z)("strong",{},void 0,e.username),(0,i.Z)("div",{className:"row user-stats"},void 0,(0,i.Z)("div",{className:"col-sm-3"},void 0,qe||(qe=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),e.posts),(0,i.Z)("div",{className:"col-sm-3"},void 0,Ye||(Ye=(0,i.Z)("span",{className:"material-icon"},void 0,"forum")),e.threads),(0,i.Z)("div",{className:"col-sm-3"},void 0,Ve||(Ve=(0,i.Z)("span",{className:"material-icon"},void 0,"favorite")),e.followers),(0,i.Z)("div",{className:"col-sm-3"},void 0,$e||($e=(0,i.Z)("span",{className:"material-icon"},void 0,"favorite_outline")),e.following))),Ge||(Ge=(0,i.Z)("li",{className:"divider"})),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:e.url},void 0,We||(We=(0,i.Z)("span",{className:"material-icon"},void 0,"account_circle")),gettext("See your profile"))),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:s.Z.get("USERCP_URL")},void 0,Ke||(Ke=(0,i.Z)("span",{className:"material-icon"},void 0,"done_all")),gettext("Change options"))),(0,i.Z)("li",{},void 0,(0,i.Z)("button",{className:"btn-link",onClick:this.changeAvatar,type:"button"},void 0,Je||(Je=(0,i.Z)("span",{className:"material-icon"},void 0,"portrait")),gettext("Change avatar"))),!!e.acl.can_use_private_threads&&(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:s.Z.get("PRIVATE_THREADS_URL")},void 0,Qe||(Qe=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),gettext("Private threads"),(0,i.Z)(rt,{user:e}))),Xe||(Xe=(0,i.Z)("li",{className:"divider"})),(0,i.Z)("li",{className:"dropdown-buttons"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-block",onClick:function(){return document.getElementById("hidden-logout-form").submit()},type:"button"},void 0,gettext("Log out"))))}}]),n}(p().Component);function rt(e){var t=e.user;return t.unread_private_threads?(0,i.Z)("span",{className:"badge"},void 0,t.unread_private_threads):null}function lt(e){var t=e.user;return(0,i.Z)("ul",{className:"ul nav navbar-nav nav-user"},void 0,et||(et=(0,i.Z)("li",{},void 0,(0,i.Z)(F,{}))),(0,i.Z)(ct,{user:t}),(0,i.Z)("li",{className:"dropdown"},void 0,(0,i.Z)("a",{"aria-haspopup":"true","aria-expanded":"false",className:"dropdown-toggle","data-toggle":"dropdown",href:t.url,role:"button"},void 0,(0,i.Z)(h.ZP,{user:t,size:"64"})),(0,i.Z)(ot,{user:t})))}function ct(e){var t=e.user;if(!t.acl.can_use_private_threads)return null;var n;return n=t.unread_private_threads?gettext("You have unread private threads!"):gettext("Private threads"),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{className:"navbar-icon",href:s.Z.get("PRIVATE_THREADS_URL"),title:n},void 0,tt||(tt=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),t.unread_private_threads>0&&(0,i.Z)("span",{className:"badge"},void 0,t.unread_private_threads)))}function ut(e){return{user:e.auth.user}}var dt,pt,ht=function(e){(0,l.Z)(n,e);var t=it(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showUserMenu",value:function(){ge.Z.showConnected("user-menu",(0,a.$j)(ut)(ot))}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",onClick:this.showUserMenu},void 0,(0,i.Z)(h.ZP,{user:this.props.user,size:"50"}))}}]),n}(p().Component);function ft(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var vt=function(e){(0,l.Z)(n,e);var t=ft(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return this.props.isAuthenticated?(0,i.Z)(lt,{user:this.props.user}):dt||(dt=(0,i.Z)(Ne,{}))}}]),n}(p().Component),mt=function(e){(0,l.Z)(n,e);var t=ft(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return this.props.isAuthenticated?(0,i.Z)(ht,{user:this.props.user}):pt||(pt=(0,i.Z)(ke,{}))}}]),n}(p().Component);function Zt(e){return e.auth}var gt=n(4869);s.Z.addInitializer({name:"component:user-menu",initializer:function(){(0,gt.Z)((0,a.$j)(Zt)(vt),"user-menu-mount"),(0,gt.Z)((0,a.$j)(Zt)(mt),"user-menu-compact-mount")},after:"store"})},9606:function(e,t,n){"use strict";var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(37424),p=(n(12977),n(69987)),h=n(94417),f=n(32233);function v(e){var t=e.baseUrl,n=e.lists;return(0,a.Z)("ul",{className:"nav nav-pills"},void 0,n.map((function(e){var n=m(t,e);return(0,a.Z)(h.Z,{path:n},n,(0,a.Z)(p.rU,{to:n},void 0,e.name))})))}var m=function(e,t){var n=e;return"rank"===t.component?n+=t.slug:n+=t.component,n+"/"},Z=n(97326),g=n(4942);var b,y,_=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.getEmptyMessage())))}}]),u}(u().Component),N=n(19605),k=n(44039);var x=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,b||(b=(0,a.Z)("div",{className:"rank-user-avatar"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(N.ZP,{size:"50"})))),(0,a.Z)("div",{className:"rank-user"},void 0,(0,a.Z)("div",{className:"user-name"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,80)+"px"}},void 0," "))),(0,a.Z)("div",{className:"user-details"},void 0,(0,a.Z)("span",{className:"user-status"},void 0,y||(y=(0,a.Z)("span",{className:"status-icon ui-preview-text"},void 0," ")),(0,a.Z)("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:k.e(30,50)+"px"}},void 0," ")),(0,a.Z)("span",{className:"rank-name"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,50)+"px"}},void 0," ")),(0,a.Z)("span",{className:"user-title hidden-xs hidden-sm"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,50)+"px"}},void 0," "))),(0,a.Z)("div",{className:"user-compact-stats visible-xs-block"},void 0,(0,a.Z)("span",{className:"rank-position"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("span",{className:"rank-posts-counted"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))))),(0,a.Z)("div",{className:"rank-position hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("div",{className:"rank-posts-counted hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))),(0,a.Z)("div",{className:"rank-posts-total hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Total posts"))))}}]),u}(u().Component);var w,R=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("p",{className:"lead ui-preview"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(50,220)+"px"}},void 0," ")),(0,a.Z)("div",{className:"active-posters ui-preview"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,[0,1,2].map((function(e){return(0,a.Z)(x,{hiddenOnMobile:e>0},e)}))))))}}]),u}(u().Component),C=n(24678);var E=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?(0,a.Z)(C.ZP,{user:this.props.user,status:this.props.user.status},void 0,(0,a.Z)(C.Jj,{user:this.props.user,status:this.props.user.status}),(0,a.Z)(C.pg,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):(0,a.Z)("span",{className:"user-status"},void 0,w||(w=(0,a.Z)("span",{className:"status-icon ui-preview-text"},void 0," ")),(0,a.Z)("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:k.e(30,50)+"px"}},void 0," "))}},{key:"getRankName",value:function(){if(!this.props.rank.is_tab)return(0,a.Z)("span",{className:"rank-name item-title"},void 0,this.props.rank.name);var e=f.Z.get("USERS_LIST_URL")+this.props.rank.slug+"/";return(0,a.Z)(p.rU,{to:e,className:"rank-name item-title"},void 0,this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?(0,a.Z)("span",{className:"user-title hidden-xs hidden-sm"},void 0,this.props.user.title):null}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,(0,a.Z)("div",{className:"rank-user-avatar"},void 0,(0,a.Z)("a",{href:this.props.user.url},void 0,(0,a.Z)(N.ZP,{user:this.props.user,size:50,size2x:64}))),(0,a.Z)("div",{className:"rank-user"},void 0,(0,a.Z)("div",{className:"user-name"},void 0,(0,a.Z)("a",{href:this.props.user.url,className:"item-title"},void 0,this.props.user.username)),(0,a.Z)("div",{className:"user-details"},void 0,this.getUserStatus(),this.getRankName(),this.getUserTitle()),(0,a.Z)("div",{className:"user-compact-stats visible-xs-block"},void 0,(0,a.Z)("span",{className:"rank-position"},void 0,(0,a.Z)("strong",{},void 0,"#",this.props.counter),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("span",{className:"rank-posts-counted"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.meta.score),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))))),(0,a.Z)("div",{className:"rank-position hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,"#",this.props.counter),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("div",{className:"rank-posts-counted hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.meta.score),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))),(0,a.Z)("div",{className:"rank-posts-total hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.posts),(0,a.Z)("small",{},void 0,gettext("Total posts"))))}}]),u}(u().Component);var S,L=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getLeadMessage",value:function(){var e=ngettext("%(posters)s top poster from last %(days)s days.","%(posters)s top posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.getLeadMessage()),(0,a.Z)("div",{className:"active-posters ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,this.props.users.map((function(e,t){return(0,a.Z)(E,{user:e,rank:e.rank,counter:t+1},e.id)}))))))}}]),u}(u().Component),P=n(6935),O=n(55547),T=n(90287),B=n(53328);var A,I=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,g.Z)((0,Z.Z)(t),"update",(function(e){T.Z.dispatch((0,P.ZB)(e.results)),t.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})})),f.Z.has("USERS")?t.initWithPreloadedData(f.Z.pop("USERS")):t.initWithoutPreloadedData(),t.startPolling(),t}return(0,i.Z)(u,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},T.Z.dispatch((0,P.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){O.Z.start({poll:"active-posters",url:f.Z.get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){B.Z.set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){O.Z.stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?(0,a.Z)(L,{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):(0,a.Z)(_,{trackedPeriod:this.state.trackedPeriod}):S||(S=(0,a.Z)(R,{}))}}]),u}(u().Component),j=n(77942),D=n(40429),M=function(e){var t=e.users;return(0,a.Z)(D.Z,{cols:4,isReady:!0,showStatus:!0,users:t})};var U,z,H,F,q,Y,V,$,G,W=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=c.call.apply(c,[this].concat(n)),(0,g.Z)((0,Z.Z)(e),"render",(function(){return A||(A=(0,a.Z)(D.Z,{cols:4,isReady:!1}))})),e}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}}]),u}(u().Component),K=W,J=n(92490),Q=function(e){var t=e.users;return t.more?(0,a.Z)("p",{},void 0,interpolate(ngettext("There is %(more)s more member with this role.","There are %(more)s more members with this role.",t.more),{more:t.more},!0)):(0,a.Z)("p",{},void 0,gettext("There are no more members with this role."))},X=function(e){var t=e.baseUrl,n=e.users;return(0,a.Z)("div",{className:"misago-pagination"},void 0,n.isLoaded&&n.first?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t,title:gettext("Go to first page")},void 0,U||(U=(0,a.Z)("span",{className:"material-icon"},void 0,"first_page"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to first page"),type:"button",disabled:!0},void 0,z||(z=(0,a.Z)("span",{className:"material-icon"},void 0,"first_page"))),n.isLoaded&&n.previous?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+(n.previous>1?n.previous+"/":""),title:gettext("Go to previous page")},void 0,H||(H=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_left"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to previous page"),type:"button",disabled:!0},void 0,F||(F=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_left"))),n.isLoaded&&n.next?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.next+"/",title:gettext("Go to next page")},void 0,q||(q=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to next page"),type:"button",disabled:!0},void 0,Y||(Y=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right"))),n.isLoaded&&n.last?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.last+"/",title:gettext("Go to last page")},void 0,V||(V=(0,a.Z)("span",{className:"material-icon"},void 0,"last_page"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to last page"),type:"button",disabled:!0},void 0,$||($=(0,a.Z)("span",{className:"material-icon"},void 0,"last_page"))))},ee=function(e){var t=e.baseUrl,n=e.users;return(0,a.Z)(J.o8,{},void 0,(0,a.Z)(J.Z2,{},void 0,(0,a.Z)(J.Eg,{},void 0,(0,a.Z)(X,{baseUrl:t,users:n}))),(0,a.Z)(J.Z2,{auto:!0},void 0,(0,a.Z)(J.Eg,{},void 0,(0,a.Z)(Q,{users:n}))))};var te=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,g.Z)((0,Z.Z)(t),"update",(function(e){T.Z.dispatch((0,P.ZB)(e.results)),e.isLoaded=!0,t.setState(e)})),f.Z.has("USERS")?t.initWithPreloadedData(f.Z.pop("USERS")):t.initWithoutPreloadedData(),t.startPolling(e.params.page||1),t}return(0,i.Z)(u,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),T.Z.dispatch((0,P.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){O.Z.start({poll:"rank-users",url:f.Z.get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){B.Z.set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){O.Z.stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(B.Z.set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),O.Z.stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?(0,a.Z)("div",{className:"rank-description"},void 0,(0,a.Z)(j.Z,{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){return this.state.isLoaded?this.state.count>0?(0,a.Z)(M,{users:this.props.users}):(0,a.Z)("p",{className:"lead"},void 0,gettext("There are no users with this rank at the moment.")):G||(G=(0,a.Z)(K,{}))}},{key:"render",value:function(){return(0,a.Z)("div",{className:this.getClassName()},void 0,(0,a.Z)("div",{className:"container"},void 0,this.getRankDescription(),this.getComponent(),(0,a.Z)(ee,{baseUrl:f.Z.get("USERS_LIST_URL")+this.props.route.rank.slug+"/",users:this.state})))}}]),u}(u().Component);var ne=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"page page-users-lists"},void 0,(0,a.Z)("div",{className:"page-header-bg"},void 0,(0,a.Z)("div",{className:"page-header"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)("h1",{},void 0,gettext("Users"))),(0,a.Z)("div",{className:"page-tabs"},void 0,(0,a.Z)("div",{className:"container"},void 0,(0,a.Z)(v,{lists:f.Z.get("USERS_LISTS"),baseUrl:f.Z.get("USERS_LIST_URL")}))))),this.props.children)}}]),u}(n(82125).Z);function ae(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function se(){var e=[];return f.Z.get("USERS_LISTS").forEach((function(t){"rank"===t.component?(e.push({path:f.Z.get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,d.$j)(ae)(te),rank:t}),e.push({path:f.Z.get("USERS_LIST_URL")+t.slug+"/",component:(0,d.$j)(ae)(te),rank:t})):"active-posters"===t.component&&e.push({path:f.Z.get("USERS_LIST_URL")+t.component+"/",component:(0,d.$j)(ae)(I),extra:{name:t.name}})})),e}var ie=n(39633);f.Z.addInitializer({name:"component:users",initializer:function(e){e.has("USERS_LISTS")&&(0,ie.Z)({root:f.Z.get("USERS_LIST_URL"),component:ne,paths:se()})},after:"store"})},97751:function(e,t,n){"use strict";var a=n(32233),s=n(96142);a.Z.addInitializer({name:"include",initializer:function(e){s.Z.init(e.get("STATIC_URL"))}})},76093:function(e,t,n){"use strict";var a=n(32233),s=n(62833);a.Z.addInitializer({name:"local-storage",initializer:function(){s.Z.init("misago_")}})},19764:function(e,t,n){"use strict";var a=n(32233),s=n(8621);a.Z.addInitializer({name:"dropdown",initializer:function(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&s.Z.init(e)},before:"store"})},47549:function(e,t,n){"use strict";var a=n(32233),s=n(59801);a.Z.addInitializer({name:"modal",initializer:function(){var e=document.getElementById("modal-mount");e&&s.Z.init(e)},before:"store"})},22331:function(e,t,n){"use strict";var a=n(30381),s=n.n(a),i=n(32233),o=n(19755);i.Z.addInitializer({name:"moment",initializer:function(){s().locale(o("html").attr("lang"))}})},21513:function(e,t,n){"use strict";var a=n(32233),s=n(53328);a.Z.addInitializer({name:"page-title",initializer:function(e){s.Z.init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}})},98749:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(53904),o=n(55547);a.Z.addInitializer({name:"polls",initializer:function(){o.Z.init(s.Z,i.Z)}})},98251:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(27950),o=n(53904);a.Z.addInitializer({name:"posting",initializer:function(){i.Z.init(s.Z,o.Z,document.getElementById("posting-placeholder"))}})},6720:function(e,t,n){"use strict";var a=n(32233),s=n(35486),i=n(90287);a.Z.addInitializer({name:"reducer:auth",initializer:function(e){i.Z.addReducer("auth",s.ZP,Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.E3))},before:"store"})},10846:function(e,t,n){"use strict";var a=n(32233),s=n(8154),i=n(90287);a.Z.addInitializer({name:"reducer:participants",initializer:function(){var e=null;a.Z.has("THREAD")&&(e=a.Z.get("THREAD").participants),i.Z.addReducer("participants",s.ZP,e||[])},before:"store"})},18255:function(e,t,n){"use strict";var a=n(32233),s=n(59752),i=n(90287);a.Z.addInitializer({name:"reducer:poll",initializer:function(){var e;e=a.Z.has("THREAD")&&a.Z.get("THREAD").poll?(0,s.ZB)(a.Z.get("THREAD").poll):{isBusy:!1},i.Z.addReducer("poll",s.ZP,e)},before:"store"})},14113:function(e,t,n){"use strict";var a=n(32233),s=n(21981),i=n(90287);a.Z.addInitializer({name:"reducer:posts",initializer:function(){var e;e=a.Z.has("POSTS")?(0,s.ZB)(a.Z.get("POSTS")):{isLoaded:!1,isBusy:!1},i.Z.addReducer("posts",s.ZP,e)},before:"store"})},24444:function(e,t,n){"use strict";var a=n(32233),s=n(58598),i=n(90287);a.Z.addInitializer({name:"reducer:profile-details",initializer:function(){var e=null;a.Z.has("PROFILE_DETAILS")&&(e=a.Z.get("PROFILE_DETAILS")),i.Z.addReducer("profile-details",s.ZP,e||{})},before:"store"})},1764:function(e,t,n){"use strict";var a=n(32233),s=n(27519),i=n(90287);a.Z.addInitializer({name:"reducer:profile-hydrate",initializer:function(){a.Z.has("PROFILE")&&i.Z.dispatch((0,s.ZB)(a.Z.get("PROFILE")))},after:"store"})},68351:function(e,t,n){"use strict";var a=n(32233),s=n(27519),i=n(90287);a.Z.addInitializer({name:"reducer:profile",initializer:function(){i.Z.addReducer("profile",s.ZP,{})},before:"store"})},81521:function(e,t,n){"use strict";var a=n(32233),s=n(16427),i=n(90287);a.Z.addInitializer({name:"reducer:search",initializer:function(){i.Z.addReducer("search",s.ZP,Object.assign({},s.E3,{providers:a.Z.get("SEARCH_PROVIDERS")||[],query:a.Z.get("SEARCH_QUERY")||""}))},before:"store"})},19984:function(e,t,n){"use strict";var a=n(32233),s=n(77751),i=n(90287);a.Z.addInitializer({name:"reducer:selection",initializer:function(){i.Z.addReducer("selection",s.ZP,[])},before:"store"})},41229:function(e,t,n){"use strict";var a=n(32233),s=n(27346),i=n(90287);a.Z.addInitializer({name:"reducer:snackbar",initializer:function(){i.Z.addReducer("snackbar",s.ZP,s.E3)},before:"store"})},43589:function(e,t,n){"use strict";var a=n(32233),s=n(7738),i=n(90287);a.Z.addInitializer({name:"reducer:thread",initializer:function(){var e;e=a.Z.has("THREAD")?(0,s.ZB)(a.Z.get("THREAD")):{isBusy:!1},i.Z.addReducer("thread",s.ZP,e)},before:"store"})},24108:function(e,t,n){"use strict";var a=n(32233),s=n(61340),i=n(90287);a.Z.addInitializer({name:"reducer:threads",initializer:function(){i.Z.addReducer("threads",s.ZP,[])},before:"store"})},33934:function(e,t,n){"use strict";var a=n(32233),s=n(85586),i=n(90287);a.Z.addInitializer({name:"reducer:tick",initializer:function(){i.Z.addReducer("tick",s.ZP,s.E3)},before:"store"})},85577:function(e,t,n){"use strict";var a=n(32233),s=n(48927),i=n(90287);a.Z.addInitializer({name:"reducer:username-history",initializer:function(){i.Z.addReducer("username-history",s.ZP,[])},before:"store"})},83526:function(e,t,n){"use strict";var a=n(32233),s=n(6935),i=n(90287);a.Z.addInitializer({name:"reducer:users",initializer:function(){i.Z.addReducer("users",s.ZP,[])},before:"store"})},43060:function(e,t,n){"use strict";var a=n(32233),s=n(53904),i=n(90287);a.Z.addInitializer({name:"snackbar",initializer:function(){s.Z.init(i.Z)},after:"store"})},92292:function(e,t,n){"use strict";var a=n(32233),s=n(90287);a.Z.addInitializer({name:"store",initializer:function(){s.Z.init()},before:"_end"})},33409:function(e,t,n){"use strict";var a=n(32233),s=n(85586),i=n(90287);a.Z.addInitializer({name:"tick-start",initializer:function(){window.setInterval((function(){i.Z.dispatch((0,s.bq)())}),5e4)},after:"store"})},31341:function(e,t,n){"use strict";var a=n(32233),s=n(96142),i=n(59940);a.Z.addInitializer({name:"zxcvbn",initializer:function(){i.Z.init(s.Z)}})},35486:function(e,t,n){"use strict";n.d(t,{E3:function(){return s},ZP:function(){return d},r$:function(){return l},w7:function(){return u},zB:function(){return c}});var a=n(6935),s={signedIn:!1,signedOut:!1},i="PATCH_USER",o="SIGN_IN",r="SIGN_OUT";function l(e){return{type:i,patch:e}}function c(e){return{type:o,user:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{type:r,soft:e}}function d(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:var n=Object.assign({},e);return n.user=Object.assign({},e.user,t.patch),n;case o:return Object.assign({},e,{signedIn:t.user});case r:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case a.oB:if(e.isAuthenticated&&e.user.id===t.userId){var l=Object.assign({},e);return l.user=Object.assign({},e.user,{avatars:t.avatars}),l}return e;case a.D9:if(e.isAuthenticated&&e.user.id===t.userId){var c=Object.assign({},e);return c.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),c}return e;default:return e}}},8154:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i},gx:function(){return s}});var a="REPLACE_PARTICIPANTS";function s(e){return{type:a,state:e}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===a?t.state:e}},59752:function(e,t,n){"use strict";n.d(t,{Ar:function(){return p},Od:function(){return f},ZB:function(){return u},ZH:function(){return r},ZP:function(){return v},b9:function(){return l},gx:function(){return h},n6:function(){return d}});var a=n(30381),s=n.n(a),i="BUSY_POLL",o="RELEASE_POLL",r="REMOVE_POLL",l="REPLACE_POLL",c="UPDATE_POLL";function u(e){var t=!1;for(var n in e.choices)if(e.choices[n].selected){t=!0;break}return Object.assign({},e,{posted_on:s()(e.posted_on),hasSelectedChoices:t,endsOn:e.length?s()(e.posted_on).add(e.length,"days"):null,isBusy:!1})}function d(){return{type:i}}function p(){return{type:o}}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:u(e)}}function f(){return{type:r}}function v(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:return Object.assign({},e,{isBusy:!0});case o:return Object.assign({},e,{isBusy:!1});case r:return{isBusy:!1};case l:return t.state;case c:return Object.assign({},e,t.data);default:return e}}},92747:function(e,t,n){"use strict";n.d(t,{Qu:function(){return o},ZB:function(){return r},ZP:function(){return u},r$:function(){return c}});var a=n(30381),s=n.n(a),i=n(6935),o="PATCH_POST";function r(e){return Object.assign({},e,{posted_on:s()(e.posted_on),updated_on:s()(e.updated_on),hidden_on:s()(e.hidden_on),attachments:e.attachments?e.attachments.map(l):null,poster:e.poster?(0,i.Ru)(e.poster):null,isSelected:!1,isBusy:!1,isDeleted:!1})}function l(e){return Object.assign({},e,{uploaded_on:s()(e.uploaded_on)})}function c(e,t){return{type:o,post:e,patch:t}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===o&&e.id==t.post.id?Object.assign({},e,t.patch):e}},21981:function(e,t,n){"use strict";n.d(t,{R3:function(){return m},Rz:function(){return Z},Vx:function(){return g},Ys:function(){return d},ZB:function(){return f},ZP:function(){return b},_H:function(){return p},kR:function(){return h},zD:function(){return v}});var a=n(92747),s="APPEND_POSTS",i="SELECT_POST",o="DESELECT_POST",r="DESELECT_POSTS",l="LOAD_POSTS",c="UNLOAD_POSTS",u="UPDATE_POSTS";function d(e){return{type:i,post:e}}function p(e){return{type:o,post:e}}function h(){return{type:r}}function f(e){return Object.assign({},e,{results:e.results.map(a.ZB),isLoaded:!0,isBusy:!1,isSelected:!1})}function v(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:f(e)}}function m(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:s,state:t?e:f(e)}}function Z(){return{type:c}}function g(e){return{type:u,update:e}}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:var n=e.results.map((function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!0}):e}));return Object.assign({},e,{results:n});case o:var d=e.results.map((function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!1}):e}));return Object.assign({},e,{results:d});case r:var p=e.results.map((function(e){return Object.assign({},e,{isSelected:!1})}));return Object.assign({},e,{results:p});case s:var h=e.results.slice(),f=e.results.map((function(e){return e.id}));return t.state.results.map((function(e){-1===f.indexOf(e.id)&&h.push(e)})),Object.assign({},t.state,{results:h});case l:return t.state;case c:return Object.assign({},e,{isLoaded:!1});case u:return Object.assign({},e,t.update);case a.Qu:var v=e.results.map((function(e){return(0,a.ZP)(e,t)}));return Object.assign({},e,{results:v});default:return e}}},58598:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i},zD:function(){return s}});var a="LOAD_DETAILS";function s(e){return{type:a,newState:e}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===a?t.newState:e}},27519:function(e,t,n){"use strict";n.d(t,{ZB:function(){return l},ZP:function(){return u},r$:function(){return c}});var a=n(30381),s=n.n(a),i=n(6935),o="HYDRATE_PROFILE",r="PATCH_PROFILE";function l(e){return{type:o,profile:e}}function c(e){return{type:r,patch:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return Object.assign({},t.profile,{joined_on:s()(t.profile.joined_on),status:(0,i.$q)(t.profile.status)});case r:return Object.assign({},e,t.patch);case i.oB:return e.id===t.userId?Object.assign({},e,{avatars:t.avatars}):e;case i.D9:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}},16427:function(e,t,n){"use strict";n.d(t,{E3:function(){return o},P0:function(){return l},Vx:function(){return r},ZP:function(){return c}});var a="REPLACE_SEARCH",s="UPDATE_SEARCH",i="UPDATE_SEARCH_PROVIDER",o={isLoading:!1,query:"",providers:[]};function r(e){return{type:s,update:e}}function l(e){return{type:i,provider:e}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case a:return t.state;case s:return Object.assign({},e,t.update);case i:return Object.assign({},e,{providers:e.providers.map((function(e){return e.id===t.provider.id?t.provider:e}))});default:return e}}},77751:function(e,t,n){"use strict";n.d(t,{$6:function(){return r},YP:function(){return l},ZP:function(){return u},wc:function(){return c}});var a=n(20370),s="SELECT_ALL",i="SELECT_NONE",o="SELECT_ITEM";function r(e){return{type:s,items:e}}function l(){return{type:i}}function c(e){return{type:o,item:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case s:return t.items;case i:return[];case o:return(0,a.ZN)(e,t.item);default:return e}}},27346:function(e,t,n){"use strict";n.d(t,{E3:function(){return a},OV:function(){return o},ZP:function(){return l},p2:function(){return r}});var a={type:"info",message:"",isVisible:!1},s="SHOW_SNACKBAR",i="HIDE_SNACKBAR";function o(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:i}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===i?Object.assign({},e,{isVisible:!1}):e}},7738:function(e,t,n){"use strict";n.d(t,{Ar:function(){return h},Vx:function(){return v},ZB:function(){return d},ZP:function(){return Z},gx:function(){return f},n6:function(){return p},y8:function(){return m}});var a=n(30381),s=n.n(a),i=n(59752),o="BUSY_THREAD",r="RELEASE_THREAD",l="REPLACE_THREAD",c="UPDATE_THREAD",u="UPDATE_THREAD_ACL";function d(e){return Object.assign({},e,{started_on:s()(e.started_on),last_post_on:s()(e.last_post_on),best_answer_marked_on:e.best_answer_marked_on?s()(e.best_answer_marked_on):null,isBusy:!1})}function p(){return{type:o}}function h(){return{type:r}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:d(e)}}function v(e){return{type:c,data:e}}function m(e){return{type:u,data:e}}function Z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return Object.assign({},e,{isBusy:!0});case r:return Object.assign({},e,{isBusy:!1});case i.ZH:return Object.assign({},e,{poll:null});case i.b9:return Object.assign({},e,{poll:t.state});case l:return t.state;case c:return Object.assign({},e,t.data);case u:var n=Object.assign({},e.acl,t.data);return Object.assign({},e,{acl:n});default:return e}}},61340:function(e,t,n){"use strict";n.d(t,{R3:function(){return h},V8:function(){return v},ZB:function(){return m},ZP:function(){return b},l8:function(){return f},r$:function(){return Z}});var a=n(30381),s=n.n(a),i=n(89759),o="APPEND_THREADS",r="DELETE_THREAD",l="FILTER_THREADS",c="HYDRATE_THREADS",u="PATCH_THREAD",d="SORT_THREADS",p=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"];function h(e,t){return{type:o,items:e,sorting:t}}function f(e){return{type:r,thread:e}}function v(e,t){return{type:l,category:e,categoriesMap:t}}function m(e){return{type:c,items:e}}function Z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:u,thread:e,patch:t,sorting:n}}function g(e){return Object.assign({},e,{started_on:s()(e.started_on),last_post_on:s()(e.last_post_on),moderation:(t=e.acl,n=[],p.forEach((function(e){t[e]&&n.push(e)})),n)});var t,n}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:var n=(0,i.Z)(t.items.map(g),e);return n.sort(t.sorting);case r:return e.filter((function(e){return e.id!==t.thread.id}));case l:return e.filter((function(e){var n=t.categoriesMap[e.category];return n.lft>=t.category.lft&&n.rght<=t.category.rght||2==e.weight}));case c:return t.items.map(g);case u:var a=e.map((function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e}));return t.sorting?a.sort(t.sorting):a;case d:return e.sort(t.sorting);default:return e}}},85586:function(e,t,n){"use strict";n.d(t,{E3:function(){return a},ZP:function(){return o},bq:function(){return i}});var a={tick:0},s="TICK";function i(){return{type:s}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?Object.assign({},e,{tick:e.tick+1}):e}},48927:function(e,t,n){"use strict";n.d(t,{KP:function(){return u},R3:function(){return d},ZB:function(){return p},ZP:function(){return f}});var a=n(30381),s=n.n(a),i=n(6935),o=n(89759),r="ADD_NAME_CHANGE",l="APPEND_HISTORY",c="HYDRATE_HISTORY";function u(e,t,n){return{type:r,change:e,user:t,changedBy:n}}function d(e){return{type:l,items:e}}function p(e){return{type:c,items:e}}function h(e){return Object.assign({},e,{changed_on:s()(e.changed_on)})}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case r:var n=e.slice();return n.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:s()(),new_username:t.change.username,old_username:t.user.username}),n;case l:return(0,o.Z)(e,t.items.map(h));case c:return t.items.map(h);case i.oB:return e.map((function(e){return(e=Object.assign({},e)).changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatars:t.avatars})),e}));case i.D9:return e.map((function(e){return(e=Object.assign({},e)).changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)}));default:return e}}},6935:function(e,t,n){"use strict";n.d(t,{$q:function(){return p},D9:function(){return c},R3:function(){return u},Ru:function(){return h},ZB:function(){return d},ZP:function(){return m},_S:function(){return v},n1:function(){return f},oB:function(){return l}});var a=n(30381),s=n.n(a),i=n(89759),o="APPEND_USERS",r="HYDRATE_USERS",l="UPDATE_AVATAR",c="UPDATE_USERNAME";function u(e){return{type:o,items:e}}function d(e){return{type:r,items:e}}function p(e){return e?Object.assign({},e,{last_click:e.last_click?s()(e.last_click):null,banned_until:e.banned_until?s()(e.banned_until):null}):null}function h(e){return Object.assign({},e,{joined_on:s()(e.joined_on),status:p(e.status)})}function f(e,t){return{type:l,userId:e.id,avatars:t}}function v(e,t,n){return{type:c,userId:e.id,username:t,slug:n}}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return(0,i.Z)(e,t.items.map(h));case r:return t.items.map(h);case l:return e.map((function(e){return(e=Object.assign({},e)).id===t.userId&&(e.avatars=t.avatars),e}));default:return e}}},78657:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(19755),o=function(){function e(){(0,a.Z)(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return(0,s.Z)(e,[{key:"init",value:function(e){this._cookieName=e}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,n){var a=this;return new Promise((function(s,o){var r={url:t,method:e,headers:{"X-CSRFToken":a.getCsrfToken()},data:n?JSON.stringify(n):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){s(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};i.ajax(r)}))}},{key:"get",value:function(e,t,n){if(t&&(e+="?"+i.param(t)),n){var a=this;return this._locks[n]&&(this._locks[n].url=e),this._locks[n]&&this._locks[n].waiter?{then:function(){}}:this._locks[n]&&this._locks[n].wait?(this._locks[n].waiter=!0,new Promise((function(t,s){var i=function e(i){a._locks[n].wait?window.setTimeout((function(){e(i)}),300):a._locks[n].url!==i?e(a._locks[n].url):(a._locks[n].waiter=!1,a.request("GET",a._locks[n].url).then((function(s){a._locks[n].url===i?t(s):(a._locks[n].waiter=!0,e(a._locks[n].url))}),(function(t){a._locks[n].url===i?s(t):(a._locks[n].waiter=!0,e(a._locks[n].url))})))};window.setTimeout((function(){i(e)}),300)}))):(this._locks[n]={url:e,wait:!0,waiter:!1},new Promise((function(t,s){a.request("GET",e).then((function(s){a._locks[n].wait=!1,a._locks[n].url===e&&t(s)}),(function(t){a._locks[n].wait=!1,a._locks[n].url===e&&s(t)}))})))}return this.request("GET",e)}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e,t){return this.request("DELETE",e,t)}},{key:"upload",value:function(e,t,n){var a=this;return new Promise((function(s,o){var r={url:e,method:"POST",headers:{"X-CSRFToken":a.getCsrfToken()},data:t,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",(function(e){e.lengthComputable&&n(Math.round(e.loaded/e.total*100))}),!1),e},success:function(e){s(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),413!==t.status||t.detail||(t.detail=gettext("Upload was rejected by server as too large.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};i.ajax(r)}))}}]),e}();t.Z=new o},98274:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(35486),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t,n){this._store=e,this._local=t,this._modal=n,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this,t=this._store.getState().auth;this._local.watch("auth",(function(n){n.isAuthenticated?e._store.dispatch((0,i.zB)({username:n.username})):t.isAuthenticated&&e._store.dispatch((0,i.w7)())})),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,i.zB)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,i.w7)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,i.w7)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();t.Z=new o},93825:function(e,t,n){"use strict";var a,s=n(22928),i=n(79340),o=n(6215),r=n(61120),l=n(15671),c=n(43144),u=n(57588),d=n.n(u),p=n(96359);function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,r.Z)(e);if(t){var s=(0,r.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,o.Z)(this,n)}}var f=function(){function e(){(0,l.Z)(this,e)}return(0,c.Z)(e,[{key:"init",value:function(e,t,n,a){this._context=e,this._ajax=t,this._include=n,this._snackbar=a}}]),e}(),v=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){return new Promise((function(e){e()}))}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),n}(f),m=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){var e=this;return new Promise((function(t,n){e._ajax.get(e._context.get("CAPTCHA_API")).then((function(n){e.question=n.question,e.helpText=n.help_text,t()}),(function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),n()}))}))}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return(0,s.Z)(p.Z,{label:this.question,for:"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:this.helpText||null},void 0,(0,s.Z)("input",{"aria-describedby":"id_captcha_status",className:"form-control",disabled:e.form.state.isLoading,id:"id_captcha",onChange:e.form.bindInput("captcha"),type:"text",value:e.form.state.captcha}))}}]),n}(f),Z=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return a||(a=(0,s.Z)("div",{id:"recaptcha"}))}}]),n}(d().Component),g=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise((function(e){!function t(){"undefined"==typeof grecaptcha?window.setTimeout((function(){t()}),200):e()}()}))}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return(0,s.Z)(p.Z,{label:gettext("Please solve the quick test"),for:"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:gettext("This test helps us prevent automated spam registrations on our site.")},void 0,(0,s.Z)(Z,{binding:e.form.bindInput("captcha"),siteKey:this._context.get("SETTINGS").recaptcha_site_key}))}}]),n}(f),b=function(){function e(){(0,l.Z)(this,e)}return(0,c.Z)(e,[{key:"init",value:function(e,t,n,a){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new v;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new g}this._captcha.init(e,t,n,a)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();t.ZP=new b},96142:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(19755),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){i.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();t.Z=new o},62833:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=window.localStorage,o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",(function(e){var n=JSON.parse(e.newValue);t._watchers.forEach((function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(n)}))}))}},{key:"set",value:function(e,t){i.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=i.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();t.Z=new o},8621:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(4869),o=n(19755),r=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,i.Z)(e,this._element.id),o(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,i.Z)(t,this._element.id,!0),o(this._element).addClass("open"))}},{key:"hide",value:function(){o(this._element).removeClass("open"),this._component=null}}]),e}();t.Z=new r},59801:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(73935),o=n.n(i),r=n(4869),l=n(19755),c=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=l(e).modal({show:!1}),this._modal.on("hidden.bs.modal",(function(){o().unmountComponentAtNode(t._element)}))}},{key:"show",value:function(e){(0,r.Z)(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();t.Z=new c},53328:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(e){"string"==typeof e&&(e={title:e});var t=e.title;e.page>1&&(t+=" ("+interpolate(gettext("page: %(page)s"),{page:e.page},!0)+")"),e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}else document.title=this._indexTitle||this._forumName}}]),e}();t.Z=new i},55547:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var n=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then((function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))}),(function(n){t._polls[e.poll]._stopped||(e.error?e.error(n):t._snackbar.apiError(n))}))};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(n,e.frequency)}:n()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();t.Z=new i},27950:function(e,t,n){"use strict";n.d(t,{Z:function(){return ft}});var a=n(15671),s=n(43144),i=n(4942),o=n(57588),r=n.n(o),l=n(73935),c=n.n(l),u=n(91876),d=n(22928),p=n(97326),h=n(79340),f=n(6215),v=n(61120),m=n(57026),Z=n(87462);var g,b,y,_=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){e.props.replaceSelection(e.props.execAction)})),e}return(0,s.Z)(r,[{key:"render",value:function(){return(0,d.Z)("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:this.props.title,type:"button"},void 0,this.props.children)}}]),r}(r().Component),N=n(19755);function k(e){return r().createElement(_,(0,Z.Z)({execAction:x,title:gettext("Insert code")},e),g||(g=(0,d.Z)("span",{className:"material-icon"},void 0,"functions")))}function x(e,t){t("\n\n```"+N.trim(prompt(gettext("Enter name of syntax of your code (optional)")+":"))+"\n"+e+"\n```\n\n")}function w(e){return r().createElement(_,(0,Z.Z)({execAction:R,title:gettext("Emphase selection")},e),b||(b=(0,d.Z)("span",{className:"material-icon"},void 0,"format_italic")))}function R(e,t){e.length&&t("*"+e+"*")}function C(e){return r().createElement(_,(0,Z.Z)({execAction:E,title:gettext("Insert horizontal ruler")},e),y||(y=(0,d.Z)("span",{className:"material-icon"},void 0,"remove")))}function E(e,t){t("\n\n- - - - -\n\n")}var S=n(19755),L=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");function P(e){return L.test(S.trim(e))}var O,T=n(19755);function B(e){return r().createElement(_,(0,Z.Z)({execAction:A,title:gettext("Insert image")},e),O||(O=(0,d.Z)("span",{className:"material-icon"},void 0,"insert_photo")))}function A(e,t){var n="",a="";e.length&&(P(e)?n=e:a=e),(n=T.trim(prompt(gettext("Enter link to image")+":",n))).length&&((a=T.trim(prompt(gettext("Enter image label (optional)")+":",a))).length>0?t("!["+a+"]("+n+")"):t("!("+n+")"))}var I,j,D,M,U=n(19755);function z(e){return r().createElement(_,(0,Z.Z)({execAction:H,title:gettext("Insert link")},e),I||(I=(0,d.Z)("span",{className:"material-icon"},void 0,"insert_link")))}function H(e,t){var n="",a="";if(e.length&&(P(e)?n=e:a=e),0===(n=U.trim(prompt(gettext("Enter link address")+":",n)||"")).length)return!1;a=U.trim(prompt(gettext("Enter link label (optional)")+":",a)),n.length&&(a.length>0?t("["+a+"]("+n+")"):t(n))}function F(e){return r().createElement(_,(0,Z.Z)({execAction:q,title:gettext("Insert spoiler")},e),j||(j=(0,d.Z)("span",{className:"material-icon"},void 0,"not_interested")))}function q(e,t){t("\n\n[spoiler]\n"+e+"\n[/spoiler]\n\n")}function Y(e){return r().createElement(_,(0,Z.Z)({execAction:V,title:gettext("Strikethrough selection")},e),D||(D=(0,d.Z)("span",{className:"material-icon"},void 0,"format_strikethrough")))}function V(e,t){e.length&&t("~~"+e+"~~")}function $(e){return r().createElement(_,(0,Z.Z)({execAction:G,title:gettext("Bolder selection")},e),M||(M=(0,d.Z)("span",{className:"material-icon"},void 0,"format_bold")))}function G(e,t){e.length&&t("**"+e+"**")}var W,K=n(19755);function J(e){return r().createElement(_,(0,Z.Z)({execAction:Q,title:gettext("Insert quote")},e),W||(W=(0,d.Z)("span",{className:"material-icon"},void 0,"format_quote")))}function Q(e,t){var n=K.trim(prompt(gettext("Enter quote autor, prefix usernames with @")+":",n));t(n?'\n\n[quote="'+n+'"]\n'+e+"\n[/quote]\n\n":"\n\n[quote]\n"+e+"\n[/quote]\n\n")}var X,ee=n(32233),te=n(89627),ne=n(48772);var ae,se=function(e){(0,h.Z)(l,e);var t,n,o=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function l(){var e;(0,a.Z)(this,l);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onInsert",(function(){e.props.replaceSelection(e.insertAttachment)})),(0,i.Z)((0,p.Z)(e),"insertAttachment",(function(t,n){var a=e.props.item;a.is_image?a.url.thumb?n("[!["+a.filename+"]("+a.url.thumb+")]("+a.url.index+")"):n("[!["+a.filename+"]("+a.url.index+")]("+a.url.index+")"):n("["+a.filename+"]("+a.url.index+")")})),(0,i.Z)((0,p.Z)(e),"onRemove",(function(){e.updateItem({isRemoved:!0})})),(0,i.Z)((0,p.Z)(e),"onUndo",(function(){e.updateItem({isRemoved:!1})})),(0,i.Z)((0,p.Z)(e),"updateItem",(function(t){var n=e.props.attachments.map((function(n){return n.id===e.props.item.id?Object.assign({},n,t):n}));e.props.onAttachmentsChange(n)})),e}return(0,s.Z)(l,[{key:"render",value:function(){return(0,d.Z)("li",{className:"editor-attachment-complete"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-xs-12 col-sm-8 col-md-9"},void 0,r().createElement(ie,this.props),(0,d.Z)("div",{className:"editor-attachment-details"},void 0,r().createElement(le,this.props),r().createElement(ce,this.props))),(0,d.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top-half"},void 0,r().createElement(ue,(0,Z.Z)({onInsert:this.onInsert,onRemove:this.onRemove,onUndo:this.onUndo},this.props)))))}}]),l}(r().Component);function ie(e){return e.item.is_image?r().createElement(oe,e):r().createElement(re,e)}function oe(e){var t=e.item.url.thumb||e.item.url.index;return(0,d.Z)("div",{className:"editor-attachment-image"},void 0,(0,d.Z)("a",{href:e.item.url.index+"?shva=1",style:{backgroundImage:"url('"+t+"?shva=1')"},target:"_blank"}))}function re(e){return X||(X=(0,d.Z)("div",{className:"editor-attachment-icon"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,"insert_drive_file")))}function le(e){return(0,d.Z)("h4",{},void 0,(0,d.Z)("a",{className:"item-title",href:e.item.url.index+"?shva=1",target:"_blank"},void 0,e.item.filename))}function ce(e){var t;t=e.item.url.uploader?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,te.Z)(e.item.url.uploader),user:(0,te.Z)(e.item.uploader_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,te.Z)(e.item.uploader_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,te.Z)(e.item.uploaded_on.format("LLL")),relative:(0,te.Z)(e.item.uploaded_on.fromNow())},!0),a=interpolate((0,te.Z)(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.item.filetype,size:(0,ne.Z)(e.item.size),uploader:t,uploaded_on:n},!0);return(0,d.Z)("p",{dangerouslySetInnerHTML:{__html:a}})}function ue(e){return(0,d.Z)("div",{className:"editor-attachment-actions"},void 0,(0,d.Z)("div",{className:"row"},void 0,r().createElement(de,e),r().createElement(pe,e),r().createElement(he,e)))}function de(e){return e.item.isRemoved?null:(0,d.Z)("div",{className:"col-xs-6"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onInsert,type:"button"},void 0,gettext("Insert")))}function pe(e){return e.item.isRemoved&&e.item.acl.can_delete?null:(0,d.Z)("div",{className:"col-xs-6"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onRemove,type:"button"},void 0,gettext("Remove")))}function he(e){return e.item.isRemoved?(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onUndo,type:"button"},void 0,gettext("Undo removal"))):null}var fe=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){var t=e.props.attachments.filter((function(t){return t.key!==e.props.item.key}));e.props.onAttachmentsChange(t)})),e}return(0,s.Z)(r,[{key:"render",value:function(){var e=interpolate("<strong>%(name)s</strong>",{name:(0,te.Z)(this.props.item.filename)},!0),t=interpolate(gettext("Error uploading %(filename)s"),{filename:e,progress:this.props.item.progress+"%"},!0);return(0,d.Z)("li",{className:"editor-attachment-error"},void 0,ae||(ae=(0,d.Z)("div",{className:"editor-attachment-error-icon"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,"warning"))),(0,d.Z)("div",{className:"editor-attachment-error-message"},void 0,(0,d.Z)("h4",{dangerouslySetInnerHTML:{__html:t+":"}}),(0,d.Z)("p",{},void 0,this.props.item.error),(0,d.Z)("button",{className:"btn btn-default btn-sm",onClick:this.onClick,type:"button"},void 0,gettext("Dismiss"))))}}]),r}(r().Component);function ve(e){var t=interpolate("<strong>%(name)s</strong>",{name:(0,te.Z)(e.item.filename)},!0),n=interpolate(gettext("Uploading %(filename)s... %(progress)s"),{filename:t,progress:e.item.progress+"%"},!0);return(0,d.Z)("li",{className:"editor-attachment-upload"},void 0,(0,d.Z)("div",{className:"editor-attachment-progress-bar"},void 0,(0,d.Z)("div",{className:"editor-attachment-progress",style:{width:e.item.progress+"%"}})),(0,d.Z)("p",{className:"editor-attachment-upload-message",dangerouslySetInnerHTML:{__html:n}}))}function me(e){return e.item.id?r().createElement(se,e):e.item.error?r().createElement(fe,e):r().createElement(ve,e)}function Ze(e){return(0,d.Z)("ul",{className:"list-unstyled editor-attachments-list"},void 0,e.attachments.map((function(t){return r().createElement(me,(0,Z.Z)({item:t,key:t.id||t.key},e))})))}var ge=n(30381),be=n.n(ge),ye=n(78657),_e=n(53904);var Ne,ke=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onChange",(function(t){var n=t.target.files[0];if(n){var a={id:null,key:xe(),progress:0,error:null,filename:n.name};e.props.onAttachmentsChange([a].concat(e.props.attachments));var s=new FormData;s.append("upload",n),ye.Z.upload(ee.Z.get("ATTACHMENTS_API"),s,(function(t){a.progress=t,e.props.onAttachmentsChange(e.props.attachments.concat())})).then((function(t){t.uploaded_on=be()(t.uploaded_on),Object.assign(a,t),e.props.onAttachmentsChange(e.props.attachments.concat())}),(function(t){400===t.status||413===t.status?(a.error=t.detail,e.props.onAttachmentsChange(e.props.attachments.concat())):_e.Z.apiError(t)}))}})),e}return(0,s.Z)(r,[{key:"render",value:function(){return(0,d.Z)("input",{id:"editor-upload-field",onChange:this.onChange,type:"file"})}}]),r}(r().Component);function xe(){return"upld-"+Math.round((new Date).getTime())}function we(e){return ee.Z.get("user").acl.max_attachment_size?(0,d.Z)("div",{className:"editor-attachments"},void 0,r().createElement(Ze,e),r().createElement(ke,e)):null}var Re,Ce=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){document.getElementById("editor-upload-field").click()})),e}return(0,s.Z)(r,[{key:"render",value:function(){return ee.Z.get("user").acl.max_attachment_size?(0,d.Z)("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:gettext("Upload file"),type:"button"},void 0,Ne||(Ne=(0,d.Z)("span",{className:"material-icon"},void 0,"file_upload"))):null}}]),r}(r().Component),Ee=n(69092);function Se(e){return(0,d.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,d.Z)("div",{className:"modal-content"},void 0,(0,d.Z)("div",{className:"modal-header"},void 0,(0,d.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Re||(Re=(0,d.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,d.Z)("h4",{className:"modal-title"},void 0,gettext("Preview message"))),(0,d.Z)("div",{className:"modal-body markup-preview"},void 0,(0,d.Z)(Ee.Z,{markup:e.markup}))))}var Le=n(19755),Pe="editor-textarea";function Oe(){return document.getElementById(Pe)}function Te(e,t){return{start:e,end:t}}function Be(){var e=Oe();if(document.selection){e.focus();var t=document.selection.createRange(),n=t.text.length;return t.moveStart("character",-e.value.length),Te(t.text.length-n,t.text.length)}if(e.selectionStart||"0"==e.selectionStart)return Te(e.selectionStart,e.selectionEnd)}function Ae(e,t){var n=Oe(),a=n.value,s=a.substring(0,e.start);return n.value=a.substring(0,e.start)+t+a.substring(e.end),function(e){var t=Oe();if(t.setSelectionRange)t.focus(),t.setSelectionRange(e.start,e.end);else if(t.createTextRange){var n=t.createTextRange();n.collapse(!0),n.moveStart("character",e.start),n.moveEnd("character",e.end),n.select()}}(Te(s.length+t.length,s.length+t.length)),n.value}var Ie,je=n(82211),De=n(59801),Me=n(19755);var Ue=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"onPreviewClick",(function(){t.state.isPreviewLoading||(t.setState({isPreviewLoading:!0}),ye.Z.post(ee.Z.get("PARSE_MARKUP_API"),{post:t.props.value}).then((function(e){De.Z.show((0,d.Z)(Se,{markup:e.parsed})),t.setState({isPreviewLoading:!1})}),(function(e){400===e.status?_e.Z.error(e.detail):_e.Z.apiError(e),t.setState({isPreviewLoading:!1})})))})),(0,i.Z)((0,p.Z)(t),"replaceSelection",(function(e){var n;e((n=Be(),Le.trim(document.getElementById(Pe).value.substring(n.start,n.end))),t._replaceSelection)})),(0,i.Z)((0,p.Z)(t),"_replaceSelection",(function(e){var n;t.props.onChange({target:{value:(n=e,Ae(Be(),n))}})})),t.state={isPreviewLoading:!1},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){var e=this;Me("#editor-textarea").atwho({at:"@",displayTpl:'<li><img src="${avatar}" alt="">${username}</li>',insertTpl:"@${username}",searchKey:"username",callbacks:{remoteFilter:function(e,t){Me.getJSON(ee.Z.get("MENTION_API"),{q:e},t)}}}),Me("#editor-textarea").on("inserted.atwho",(function(t,n,a){e.props.onChange(t)}))}},{key:"render",value:function(){return(0,d.Z)("div",{className:"editor-border"},void 0,(0,d.Z)("textarea",{className:"form-control",value:this.props.value,disabled:this.props.loading,id:"editor-textarea",onChange:this.props.onChange,rows:"9"}),(0,d.Z)("div",{className:"editor-footer"},void 0,(0,d.Z)("div",{className:"buttons-list pull-left"},void 0,(0,d.Z)($,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(w,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(Y,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(C,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(z,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(B,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(J,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(F,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(k,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(Ce,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading})),(0,d.Z)(je.Z,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,onClick:this.onPreviewClick,type:"button"},void 0,gettext("Preview")),(0,d.Z)(je.Z,{className:"btn-primary btn-sm pull-right",loading:this.props.loading},void 0,this.props.submitLabel||gettext("Post")),(0,d.Z)("button",{className:"btn btn-default btn-sm pull-right",disabled:this.props.loading,onClick:this.props.onCancel,type:"button"},void 0,gettext("Cancel")),Ie||(Ie=(0,d.Z)("div",{className:"clearfix visible-xs-block"})),(0,d.Z)(ze,{canProtect:this.props.canProtect,disabled:this.props.loading,onProtect:this.props.onProtect,onUnprotect:this.props.onUnprotect,protect:this.props.protect})),(0,d.Z)(we,{attachments:this.props.attachments,onAttachmentsChange:this.props.onAttachmentsChange,placeholder:this.props.placeholder,replaceSelection:this.replaceSelection}))}}]),r}(r().Component);function ze(e){if(!e.canProtect)return null;var t=e.protect?gettext("Protected"):gettext("Protect");return(0,d.Z)("button",{className:"btn btn-icon btn-default btn-protect btn-sm pull-right",disabled:e.disabled,onClick:e.protect?e.onUnprotect:e.onProtect,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.protect?"lock":"lock_outline"),(0,d.Z)("span",{className:"btn-text hidden-md hidden-lg"},void 0,t))}var He=n(43345);function Fe(e){return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("div",{className:"container"},void 0,e.children))}var qe,Ye,Ve=n(37848);function $e(e){return qe||(qe=(0,d.Z)(Fe,{className:"posting-loader"},void 0,(0,d.Z)(Ve.Z,{})))}function Ge(e){return(0,d.Z)(Fe,{className:"posting-message"},void 0,(0,d.Z)("div",{className:"message-body"},void 0,(0,d.Z)("p",{},void 0,Ye||(Ye=(0,d.Z)("span",{className:"material-icon"},void 0,"error_outline")),e.message),(0,d.Z)("button",{type:"button",className:"btn btn-default",onClick:ft.close},void 0,gettext("Dismiss"))))}function We(e){if(!e.showOptions)return null;var t=e.columns,n="col-xs-12 xs-margin-top";n+=1===t?" col-sm-2":" sm-margin-top",n+=3===t?" col-md-3":" col-md-2",n+=" posting-options";var a="col-xs-"+12/t,s="btn-text";return s+=3===t?" visible-sm-inline-block":2===t?" hidden-md hidden-lg":" hidden-sm",(0,d.Z)("div",{className:n},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)(Qe,{className:a,disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin,textClassName:s}),(0,d.Z)(Je,{className:a,disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide,textClassName:s}),(0,d.Z)(Ke,{className:a,close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close,textClassName:s})))}function Ke(e){if(!e.show)return null;var t=e.close?gettext("Closed"):gettext("Open");return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.close?"lock":"lock_outline"),(0,d.Z)("span",{className:e.textClassName},void 0,t)))}function Je(e){if(!e.show)return null;var t=e.hide?gettext("Hidden"):gettext("Not hidden");return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.hide?"visibility_off":"visibility"),(0,d.Z)("span",{className:e.textClassName},void 0,t)))}function Qe(e){if(!e.show)return null;var t=null,n=null,a=null;switch(e.pin){case 0:t="radio_button_unchecked",n=e.onPinLocally,a=gettext("Unpinned");break;case 1:t="bookmark_outline",n=e.onPinGlobally,a=gettext("Pinned locally"),n=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="bookmark",n=e.onUnpin,a=gettext("Pinned globally")}return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:n,title:a,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,t),(0,d.Z)("span",{className:e.textClassName},void 0,a)))}function Xe(e){var t=e.filter((function(e){return e.id&&!e.isRemoved}));return t.map((function(e){return e.id}))}function et(e){return e.map((function(e){return Object.assign({},e,{uploaded_on:be()(e.uploaded_on)})}))}var tt,nt=n(12891);var at=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){var n=null,a=!1,s=null,i=e.map((function(e){return!1===e.post||n&&e.id!=t.state.category||(n=e.id,s=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(a=!0),Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id})}));t.setState({isReady:!0,showOptions:a,categories:i,category:n,categoryOptions:s})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard thread?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onTitleChange",(function(e){t.changeValue("title",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onCategoryChange",(function(e){var n=t.state.categories.find((function(t){return e.target.value==t.value})),a=t.state.pin;n.post.pin&&n.post.pin<a&&(a=n.post.pin),t.setState({category:n.id,categoryOptions:n.post,pin:a})})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),(0,i.Z)((0,p.Z)(t),"onClose",(function(){t.changeValue("close",!0)})),(0,i.Z)((0,p.Z)(t),"onOpen",(function(){t.changeValue("close",!1)})),(0,i.Z)((0,p.Z)(t),"onPinGlobally",(function(){t.changeValue("pin",2)})),(0,i.Z)((0,p.Z)(t),"onPinLocally",(function(){t.changeValue("pin",1)})),(0,i.Z)((0,p.Z)(t),"onUnpin",(function(){t.changeValue("pin",0)})),(0,i.Z)((0,p.Z)(t),"onHide",(function(){t.changeValue("hide",!0)})),(0,i.Z)((0,p.Z)(t),"onUnhide",(function(){t.changeValue("hide",!1)})),t.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",attachments:[],close:!1,hide:!1,pin:0,validators:{title:(0,nt.jn)(),post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return _e.Z.error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(_e.Z.error(e.title[0]),!1):!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,attachments:Xe(this.state.attachments),close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){if(this.state.isErrored)return(0,d.Z)(Ge,{message:this.state.isErrored});if(!this.state.isReady)return tt||(tt=(0,d.Z)($e,{}));var e=0;this.state.categoryOptions.close&&(e+=1),this.state.categoryOptions.hide&&(e+=1),this.state.categoryOptions.pin&&(e+=1);var t=null;return t=1===e?"col-sm-6":"col-sm-8",t+=3===e?" col-md-6":e?" col-md-7":" col-md-9",(0,d.Z)(Fe,{className:"posting-form",withFirstRow:!0},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:t},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),(0,d.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top"},void 0,(0,d.Z)(m.Z,{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),(0,d.Z)(We,{close:this.state.close,columns:e,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),r}(He.Z);function st(e){var t=e.split(",").map((function(e){return e.trim().toLowerCase()})).filter((function(e){return e.length>0}));return t.filter((function(e,n){return t.indexOf(e)==n}))}var it,ot=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard private thread?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onToChange",(function(e){t.changeValue("to",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onTitleChange",(function(e){t.changeValue("title",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})}));var n=(e.to||[]).map((function(e){return e.username})).join(", ");return t.state={isLoading:!1,to:n,title:"",post:"",attachments:[],validators:{title:(0,nt.jn)(),post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"clean",value:function(){if(!st(this.state.to).length)return _e.Z.error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return _e.Z.error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(_e.Z.error(e.title[0]),!1):!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{to:st(this.state.to),title:this.state.title,post:this.state.post,attachments:Xe(this.state.attachments)})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.to||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return(0,d.Z)(Fe,{className:"posting-form",withFirstRow:!0},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onToChange,placeholder:gettext("Comma separated list of user names, eg.: Danny, Lisa"),type:"text",value:this.state.to}))),(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title}))),(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),r}(He.Z);var rt,lt=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){t.setState({isReady:!0,post:e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]":""})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"appendData",(function(e){var n=e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]\n\n":"";t.setState((function(e,t){return e.post.length>0?{post:e.post+"\n\n"+n}:{post:n}}))})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard your reply?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),t.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],validators:{post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config,this.props.context||null).then(this.loadSuccess,this.loadError)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.context,n=e.context;t&&n&&t.reply===n.reply||ye.Z.get(e.config,e.context||null).then(this.appendData,_e.Z.apiError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{post:this.state.post,attachments:Xe(this.state.attachments)})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your reply has been posted.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,d.Z)(Fe,{className:"posting-form"},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit,method:"POST"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post reply"),value:this.state.post}))))):this.state.isErrored?(0,d.Z)(Ge,{message:this.state.isErrored}):it||(it=(0,d.Z)($e,{}))}}]),r}(He.Z);var ct=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){t.setState({isReady:!0,post:e.post,attachments:et(e.attachments),protect:e.is_protected,canProtect:e.can_protect})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard changes?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onProtect",(function(){t.setState({protect:!0})})),(0,i.Z)((0,p.Z)(t),"onUnprotect",(function(){t.setState({protect:!1})})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),t.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],protect:!1,canProtect:!1,validators:{post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.put(this.props.submit,{post:this.state.post,attachments:Xe(this.state.attachments),protect:this.state.protect})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Reply has been edited.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,d.Z)(Fe,{className:"posting-form"},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit,method:"POST"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,canProtect:this.state.canProtect,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,onProtect:this.onProtect,onUnprotect:this.onUnprotect,protect:this.state.protect,submitLabel:gettext("Edit reply"),value:this.state.post}))))):this.state.isErrored?(0,d.Z)(Ge,{message:this.state.isErrored}):rt||(rt=(0,d.Z)($e,{}))}}]),r}(He.Z);function ut(e){return"START"===e.mode?r().createElement(at,e):"START_PRIVATE"===e.mode?r().createElement(ot,e):"REPLY"===e.mode?r().createElement(lt,e):"EDIT"===e.mode?r().createElement(ct,e):null}var dt=n(4869),pt=n(19755),ht=function(){function e(){var t=this;(0,a.Z)(this,e),(0,i.Z)(this,"close",(function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout((function(){c().unmountComponentAtNode(document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1}),300))}))}return(0,s.Z)(e,[{key:"init",value:function(e,t,n){this._ajax=e,this._snackbar=t,this._placeholder=pt(n),this._mode=null,this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(!1===this._isOpen)this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e);else if(this._isOpen!==e.submit){var t=gettext("You are already working on other message. Do you want to discard it?");"POLL"==this._mode&&(t=gettext("You are already working on a poll. Do you want to discard it?")),window.confirm(t)&&(this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e))}else"REPLY"==this._mode&&"REPLY"==e.mode&&this._realOpen(e)}},{key:"_realOpen",value:function(e){"POLL"==e.mode?(0,dt.Z)(r().createElement(u.y,e),"posting-mount"):(0,dt.Z)(r().createElement(ut,e),"posting-mount"),this._placeholder.addClass("slide-in"),pt("html, body").animate({scrollTop:this._placeholder.offset().top},1e3)}}]),e}(),ft=new ht},53904:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(27346),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var n=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,i.p2)()),this._timeout=window.setTimeout((function(){n._timeout=null,n.alert(e,t)}),300)):(this._store.dispatch((0,i.OV)(e,t)),this._timeout=window.setTimeout((function(){n._store.dispatch((0,i.p2)()),n._timeout=null}),5e3))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();t.Z=new o},90287:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(41438),o=function(){function e(){(0,a.Z)(this,e),this._store=null,this._reducers={},this._initialState={}}return(0,s.Z)(e,[{key:"addReducer",value:function(e,t,n){this._reducers[e]=t,this._initialState[e]=n}},{key:"init",value:function(){this._store=(0,i.createStore)((0,i.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();t.Z=new o},59940:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._include=e,this._isLoaded=!1}},{key:"scorePassword",value:function(e,t){return this._isLoaded?zxcvbn(e,t).score:0}},{key:"load",value:function(){return this._isLoaded?this._loadedPromise():(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise())}},{key:"_loadingPromise",value:function(){var e=this;return new Promise((function(t,n){!function a(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;(s+=1)>200?n():"undefined"==typeof zxcvbn?window.setTimeout((function(){a(s)}),200):(e._isLoaded=!0,t())}()}))}},{key:"_loadedPromise",value:function(){return new Promise((function(e){e()}))}}]),e}();t.Z=new i},93051:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var a,s=n(22928),i=n(30381),o=n.n(i),r=n(57588),l=n.n(r),c=n(73935),u=n.n(c),d=n(37424),p=n(15671),h=n(43144),f=n(79340),v=n(6215),m=n(61120);var Z=function(e){(0,f.Z)(r,e);var t,n,i=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,m.Z)(t);if(n){var s=(0,m.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,v.Z)(this,e)});function r(){return(0,p.Z)(this,r),i.apply(this,arguments)}return(0,h.Z)(r,[{key:"getReasonMessage",value:function(){return this.props.message.html?(0,s.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):(0,s.Z)("p",{className:"lead"},void 0,this.props.message.plain)}},{key:"getExpirationMessage",value:function(){if(this.props.expires){if(this.props.expires.isAfter(o()())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.props.expires.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0);return(0,s.Z)("abbr",{title:e},void 0,t)}return gettext("This ban has expired.")}return gettext("This ban is permanent.")}},{key:"render",value:function(){return(0,s.Z)("div",{className:"page page-error page-error-banned"},void 0,(0,s.Z)("div",{className:"container"},void 0,(0,s.Z)("div",{className:"message-panel"},void 0,a||(a=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"highlight_off"))),(0,s.Z)("div",{className:"message-body"},void 0,this.getReasonMessage(),(0,s.Z)("p",{className:"message-footnote"},void 0,this.getExpirationMessage())))))}}]),r}(l().Component),g=n(32233),b=n(90287),y=(0,d.$j)((function(e){return e.tick}))(Z);function _(e,t){if(u().render((0,s.Z)(d.zt,{store:b.Z.getStore()},void 0,(0,s.Z)(y,{message:e.message,expires:e.expires_on?o()(e.expires_on):null})),document.getElementById("page-mount")),void 0===t||t){var n=g.Z.get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+n,window.history.pushState({},"",g.Z.get("BANNED_URL"))}}},69130:function(e,t,n){"use strict";function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=[],s=[];if(e.forEach((function(e){s.push(e),s.length===t&&(a.push(s),s=[])})),!1!==n&&s.length>0&&s.length<t)for(var i=s.length;i<t;i++)s.push(n);return s.length&&a.push(s),a}n.d(t,{Z:function(){return a}})},89759:function(e,t,n){"use strict";function a(e,t){var n=[];return e.concat(t).filter((function(e){return-1===n.indexOf(e.id)&&(n.push(e.id),!0)}))}n.d(t,{Z:function(){return a}})},89627:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function s(e){return e.replace(/[&<>"']/g,(function(e){return a[e]}))}},48772:function(e,t,n){"use strict";function a(e){return e>1073741824?s(e/1073741824)+" GB":e>1048576?s(e/1048576)+" MB":e>1024?s(e/1024)+" KB":s(e)+" B"}function s(e){return e.toFixed(1)}n.d(t,{Z:function(){return a}})},4869:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var a=n(22928),s=(n(57588),n(73935)),i=n.n(s),o=n(37424),r=n(90287);function l(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=document.getElementById(t),l=e.props?e:(0,a.Z)(e,{});s&&(n?i().render((0,a.Z)(o.zt,{store:r.Z.getStore()},void 0,l),s):i().render(l,s))}},44039:function(e,t,n){"use strict";function a(e,t){return Math.floor(Math.random()*(t-e+1))+e}n.d(t,{e:function(){return a}})},39633:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=(n(57588),n(73935)),i=n.n(s),o=n(37424),r=n(69987),l=n(90287),c=document.getElementById("page-mount");function u(e){var t={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,n){n(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,i().render((0,a.Z)(o.zt,{store:l.Z.getStore()},void 0,(0,a.Z)(r.F0,{routes:t,history:r.mW})),c)}},20370:function(e,t,n){"use strict";function a(e,t){if(-1===e.indexOf(t)){var n=e.slice();return n.push(t),n}return e.filter((function(e){return e!==t}))}n.d(t,{ZN:function(){return a}})},55210:function(e,t,n){"use strict";n.d(t,{BS:function(){return d},C1:function(){return o},Do:function(){return c},Ei:function(){return u},HR:function(){return p},Vb:function(){return v},fT:function(){return r},gS:function(){return h},jA:function(){return l},lG:function(){return f}});var a=n(19755),s=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,i=new RegExp("^[0-9a-z]+$","i");function o(e){return function(t){if(!1===t||null===t||0===a.trim(t).length)return e||gettext("This field is required.")}}function r(e){var t=gettext("You have to accept the terms of service.");return o(e||t)}function l(e){var t=gettext("You have to accept the privacy policy.");return o(e||t)}function c(e){return function(t){if(!s.test(t))return e||gettext("Enter a valid email address.")}}function u(e,t){return function(n){var s="",i=a.trim(n).length;if(i<e)return s=t?t(e,i):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(s,{limit_value:e,show_value:i},!0)}}function d(e,t){return function(n){var s="",i=a.trim(n).length;if(i>e)return s=t?t(e,i):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(s,{limit_value:e,show_value:i},!0)}}function p(e){return u(e,(function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)}))}function h(e){return d(e,(function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)}))}function f(){return function(e){if(!i.test(a.trim(e)))return gettext("Username can only contain latin alphabet letters and digits.")}}function v(e){return function(t){var n=t.length;if(n<e){var a=ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e);return interpolate(a,{limit_value:e,show_value:n},!0)}}}},46700:function(e,t,n){var a={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function s(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=i,e.exports=s,s.id=46700}},n={};function a(e){var s=n[e];if(void 0!==s)return s.exports;var i=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.m=t,e=[],a.O=function(t,n,s,i){if(!n){var o=1/0;for(u=0;u<e.length;u++){n=e[u][0],s=e[u][1],i=e[u][2];for(var r=!0,l=0;l<n.length;l++)(!1&i||o>=i)&&Object.keys(a.O).every((function(e){return a.O[e](n[l])}))?n.splice(l--,1):(r=!1,i<o&&(o=i));if(r){e.splice(u--,1);var c=s();void 0!==c&&(t=c)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,s,i]},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e={174:0};a.O.j=function(t){return 0===e[t]};var t=function(t,n){var s,i,o=n[0],r=n[1],l=n[2],c=0;if(o.some((function(t){return 0!==e[t]}))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(l)var u=l(a)}for(t&&t(n);c<o.length;c++)i=o[c],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(u)},n=self.webpackChunkmisago=self.webpackChunkmisago||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}(),a.O(void 0,[736],(function(){return a(32233)})),a.O(void 0,[736],(function(){return a(58339)})),a.O(void 0,[736],(function(){return a(64109)})),a.O(void 0,[736],(function(){return a(46226)})),a.O(void 0,[736],(function(){return a(93240)})),a.O(void 0,[736],(function(){return a(75147)})),a.O(void 0,[736],(function(){return a(4894)})),a.O(void 0,[736],(function(){return a(29223)})),a.O(void 0,[736],(function(){return a(3026)})),a.O(void 0,[736],(function(){return a(94795)})),a.O(void 0,[736],(function(){return a(15840)})),a.O(void 0,[736],(function(){return a(32488)})),a.O(void 0,[736],(function(){return a(11768)})),a.O(void 0,[736],(function(){return a(61323)})),a.O(void 0,[736],(function(){return a(15049)})),a.O(void 0,[736],(function(){return a(61814)})),a.O(void 0,[736],(function(){return a(95920)})),a.O(void 0,[736],(function(){return a(36407)})),a.O(void 0,[736],(function(){return a(5463)})),a.O(void 0,[736],(function(){return a(47806)})),a.O(void 0,[736],(function(){return a(9606)})),a.O(void 0,[736],(function(){return a(97751)})),a.O(void 0,[736],(function(){return a(76093)})),a.O(void 0,[736],(function(){return a(19764)})),a.O(void 0,[736],(function(){return a(47549)})),a.O(void 0,[736],(function(){return a(22331)})),a.O(void 0,[736],(function(){return a(21513)})),a.O(void 0,[736],(function(){return a(98749)})),a.O(void 0,[736],(function(){return a(98251)})),a.O(void 0,[736],(function(){return a(6720)})),a.O(void 0,[736],(function(){return a(10846)})),a.O(void 0,[736],(function(){return a(18255)})),a.O(void 0,[736],(function(){return a(14113)})),a.O(void 0,[736],(function(){return a(24444)})),a.O(void 0,[736],(function(){return a(1764)})),a.O(void 0,[736],(function(){return a(68351)})),a.O(void 0,[736],(function(){return a(81521)})),a.O(void 0,[736],(function(){return a(19984)})),a.O(void 0,[736],(function(){return a(41229)})),a.O(void 0,[736],(function(){return a(43589)})),a.O(void 0,[736],(function(){return a(24108)})),a.O(void 0,[736],(function(){return a(33934)})),a.O(void 0,[736],(function(){return a(85577)})),a.O(void 0,[736],(function(){return a(83526)})),a.O(void 0,[736],(function(){return a(43060)})),a.O(void 0,[736],(function(){return a(92292)})),a.O(void 0,[736],(function(){return a(33409)}));var s=a.O(void 0,[736],(function(){return a(31341)}));s=a.O(s)}();
+!function(){var e,t={54116:function(e,t){var n,a;(a="object"==typeof window&&window||"object"==typeof self&&self)&&(a.hljs=function(e){function t(e){return e.replace(/[&<>]/gm,(function(e){return x[e]}))}function n(e){return e.nodeName.toLowerCase()}function a(e,t){var n=e&&e.exec(t);return n&&0===n.index}function s(e){return b.test(e)}function i(e,t){var n,a={};for(n in e)a[n]=e[n];if(t)for(n in t)a[n]=t[n];return a}function o(e){var t=[];return function e(a,s){for(var i=a.firstChild;i;i=i.nextSibling)3===i.nodeType?s+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:s,node:i}),s=e(i,s),n(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:s,node:i}));return s}(e,0),t}function r(e,a,s){function i(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset<a[0].offset?e:a:"start"===a[0].event?e:a:e.length?e:a}function o(e){u+="<"+n(e)+v.map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+t(e.value)+'"'})).join("")+">"}function r(e){u+="</"+n(e)+">"}function l(e){("start"===e.event?o:r)(e.node)}for(var c=0,u="",d=[];e.length||a.length;){var p=i();if(u+=t(s.substring(c,p[0].offset)),c=p[0].offset,p===e){d.reverse().forEach(r);do{l(p.splice(0,1)[0]),p=i()}while(p===e&&p.length&&p[0].offset===c);d.reverse().forEach(o)}else"start"===p[0].event?d.push(p[0].node):d.pop(),l(p.splice(0,1)[0])}return u+t(s.substr(c))}function l(e){function t(e){return e&&e.source||e}function n(n,a){return new RegExp(t(n),"m"+(e.cI?"i":"")+(a?"g":""))}!function a(s,o){if(!s.compiled){if(s.compiled=!0,s.k=s.k||s.bK,s.k){var r={},l=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach((function(e){var n=e.split("|");r[n[0]]=[t,n[1]?Number(n[1]):1]}))};"string"==typeof s.k?l("keyword",s.k):m(s.k).forEach((function(e){l(e,s.k[e])})),s.k=r}s.lR=n(s.l||/\w+/,!0),o&&(s.bK&&(s.b="\\b("+s.bK.split(" ").join("|")+")\\b"),s.b||(s.b=/\B|\b/),s.bR=n(s.b),s.e||s.eW||(s.e=/\B|\b/),s.e&&(s.eR=n(s.e)),s.tE=t(s.e)||"",s.eW&&o.tE&&(s.tE+=(s.e?"|":"")+o.tE)),s.i&&(s.iR=n(s.i)),null==s.r&&(s.r=1),s.c||(s.c=[]);var c=[];s.c.forEach((function(e){e.v?e.v.forEach((function(t){c.push(i(e,t))})):c.push("self"===e?s:e)})),s.c=c,s.c.forEach((function(e){a(e,s)})),s.starts&&a(s.starts,o);var u=s.c.map((function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b})).concat([s.tE,s.i]).map(t).filter(Boolean);s.t=u.length?n(u.join("|"),!0):{exec:function(){return null}}}}(e)}function c(e,n,s,i){function o(e,t){var n,s;for(n=0,s=t.c.length;s>n;n++)if(a(t.c[n].bR,e))return t.c[n]}function r(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?r(e.parent,t):void 0}function d(e,t){return!s&&a(t.iR,e)}function p(e,t){var n=b.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(n)&&e.k[n]}function h(e,t,n,a){var s='<span class="'+(a?"":k.classPrefix);return(s+=e+'">')+t+(n?"":N)}function v(){w+=null!=_.sL?function(){var e="string"==typeof _.sL;if(e&&!Z[_.sL])return t(R);var n=e?c(_.sL,R,!0,x[_.sL]):u(R,_.sL.length?_.sL:void 0);return _.r>0&&(C+=n.r),e&&(x[_.sL]=n.top),h(n.language,n.value,!1,!0)}():function(){var e,n,a,s;if(!_.k)return t(R);for(s="",n=0,_.lR.lastIndex=0,a=_.lR.exec(R);a;)s+=t(R.substring(n,a.index)),(e=p(_,a))?(C+=e[1],s+=h(e[0],t(a[0]))):s+=t(a[0]),n=_.lR.lastIndex,a=_.lR.exec(R);return s+t(R.substr(n))}(),R=""}function m(e){w+=e.cN?h(e.cN,"",!0):"",_=Object.create(e,{parent:{value:_}})}function g(e,t){if(R+=e,null==t)return v(),0;var n=o(t,_);if(n)return n.skip?R+=t:(n.eB&&(R+=t),v(),n.rB||n.eB||(R=t)),m(n),n.rB?0:t.length;var a=r(_,t);if(a){var s=_;s.skip?R+=t:(s.rE||s.eE||(R+=t),v(),s.eE&&(R=t));do{_.cN&&(w+=N),_.skip||(C+=_.r),_=_.parent}while(_!==a.parent);return a.starts&&m(a.starts),s.rE?0:t.length}if(d(t,_))throw new Error('Illegal lexeme "'+t+'" for mode "'+(_.cN||"<unnamed>")+'"');return R+=t,t.length||1}var b=f(e);if(!b)throw new Error('Unknown language: "'+e+'"');l(b);var y,_=i||b,x={},w="";for(y=_;y!==b;y=y.parent)y.cN&&(w=h(y.cN,"",!0)+w);var R="",C=0;try{for(var E,S,L=0;_.t.lastIndex=L,E=_.t.exec(n);)S=g(n.substring(L,E.index),E[0]),L=E.index+S;for(g(n.substr(L)),y=_;y.parent;y=y.parent)y.cN&&(w+=N);return{r:C,value:w,language:e,top:_}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:t(n)};throw e}}function u(e,n){n=n||k.languages||m(Z);var a={r:0,value:t(e)},s=a;return n.filter(f).forEach((function(t){var n=c(t,e,!1);n.language=t,n.r>s.r&&(s=n),n.r>a.r&&(s=a,a=n)})),s.language&&(a.second_best=s),a}function d(e){return k.tabReplace||k.useBR?e.replace(_,(function(e,t){return k.useBR&&"\n"===e?"<br>":k.tabReplace?t.replace(/\t/g,k.tabReplace):void 0})):e}function p(e){var t,n,a,i,l,p=function(e){var t,n,a,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",n=y.exec(o))return f(n[1])?n[1]:"no-highlight";for(t=0,a=(o=o.split(/\s+/)).length;a>t;t++)if(s(i=o[t])||f(i))return i}(e);s(p)||(k.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):t=e,l=t.textContent,a=p?c(p,l,!0):u(l),(n=o(t)).length&&((i=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=a.value,a.value=r(n,o(i),l)),a.value=d(a.value),e.innerHTML=a.value,e.className=function(e,t,n){var a=t?g[t]:n,s=[e.trim()];return e.match(/\bhljs\b/)||s.push("hljs"),-1===e.indexOf(a)&&s.push(a),s.join(" ").trim()}(e.className,p,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");v.forEach.call(e,p)}}function f(e){return e=(e||"").toLowerCase(),Z[e]||Z[g[e]]}var v=[],m=Object.keys,Z={},g={},b=/^(no-?highlight|plain|text)$/i,y=/\blang(?:uage)?-([\w-]+)\b/i,_=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,N="</span>",k={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},x={"&":"&amp;","<":"&lt;",">":"&gt;"};return e.highlight=c,e.highlightAuto=u,e.fixMarkup=d,e.highlightBlock=p,e.configure=function(e){k=i(k,e)},e.initHighlighting=h,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",h,!1),addEventListener("load",h,!1)},e.registerLanguage=function(t,n){var a=Z[t]=n(e);a.aliases&&a.aliases.forEach((function(e){g[e]=t}))},e.listLanguages=function(){return m(Z)},e.getLanguage=f,e.inherit=i,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(t,n,a){var s=e.inherit({cN:"comment",b:t,e:n,c:[]},a||{});return s.c.push(e.PWM),s.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),s},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e}({}),void 0===(n=function(){return a.hljs}.apply(t,[]))||(e.exports=n)),hljs.registerLanguage("xml",(function(e){var t={eW:!0,i:/</,r:0,c:[{cN:"attr",b:"[A-Za-z0-9\\._:-]+",r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{name:"style"},c:[t],starts:{e:"</style>",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}})),hljs.registerLanguage("markdown",(function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}})),hljs.registerLanguage("ini",(function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}})),hljs.registerLanguage("python",(function(e){var t={cN:"meta",b:/^(>>>|\.\.\.) /},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[t],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[t],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",t,a,n]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)|=>/,c:[t,a,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}})),hljs.registerLanguage("css",(function(e){var t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}})),hljs.registerLanguage("less",(function(e){var t="[\\w-]+",n="("+t+"|@{"+t+"})",a=[],s=[],i=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},o=function(e,t,n){return{cN:e,b:t,r:n}},r={b:"\\(",e:"\\)",c:s,r:0};s.push(e.CLCM,e.CBCM,i("'"),i('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},o("number","#[0-9A-Fa-f]+\\b"),r,o("variable","@@?"+t,10),o("variable","@{"+t+"}"),o("built_in","~?`[^`]*?`"),{cN:"attribute",b:t+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var l=s.concat({b:"{",e:"}",c:a}),c={bK:"when",eW:!0,c:[{bK:"and not"}].concat(s)},u={b:n+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:n,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:s}}]},d={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:s,r:0}},p={cN:"variable",v:[{b:"@"+t+"\\s*:",r:15},{b:"@"+t}],starts:{e:"[;}]",rE:!0,c:l}},h={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:n,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,c,o("keyword","all\\b"),o("variable","@{"+t+"}"),o("selector-tag",n+"%?",0),o("selector-id","#"+n),o("selector-class","\\."+n,0),o("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:l},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,d,p,u,h),{cI:!0,i:"[=>'/<($\"]",c:a}})),hljs.registerLanguage("scss",(function(e){var t={cN:"variable",b:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},n={cN:"number",b:"#[0-9A-Fa-f]+"};return e.CSSNM,e.QSM,e.ASM,e.CBCM,{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[t,n,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[t,e.QSM,e.ASM,n,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}})),hljs.registerLanguage("json",(function(e){var t={literal:"true false null"},n=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:n,k:t},s={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return n.splice(n.length,0,s,i),{c:n,k:t,i:"\\S"}})),hljs.registerLanguage("javascript",(function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},s={cN:"subst",b:"\\$\\{",e:"\\}",k:n,c:[]},i={cN:"string",b:"`",e:"`",c:[e.BE,s]};s.c=[e.ASM,e.QSM,i,a,e.RM];var o=s.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:n,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:n,c:o}]}]},{b:/</,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:o}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}})),hljs.registerLanguage("bash",(function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},n={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/-?[a-z\._]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,n,{cN:"string",b:/'/,e:/'/},t]}}))},98936:function(e,t,n){"use strict";n.d(t,{gq:function(){return o},Z6:function(){return r},kw:function(){return l}});var a=n(22928),s=n(94184),i=n.n(s),o=(n(57588),function(e){var t=e.children,n=e.className;return(0,a.Z)("div",{className:i()("flex-row",n)},void 0,t)}),r=function(e){var t=e.children,n=e.className,s=e.shrink;return(0,a.Z)("div",{className:i()("flex-row-col",n,{"flex-row-col-shrink":s})},void 0,t)},l=function(e){var t=e.auto,n=e.children,s=e.className;return(0,a.Z)("div",{className:i()("flex-row-section",{"flex-row-section-auto":t},s)},void 0,n)}},59131:function(e,t,n){"use strict";var a=n(22928);n(57588),t.Z=function(e){var t=e.children;return(0,a.Z)("div",{className:"container page-container"},void 0,t)}},99755:function(e,t,n){"use strict";n.d(t,{mr:function(){return r},gC:function(){return l},sP:function(){return c},eA:function(){return u},Ql:function(){return d},bM:function(){return p},Iv:function(){return h}});var a,s=n(22928),i=n(94184),o=n.n(i),r=(n(57588),function(e){var t=e.children,n=e.className,i=e.styleName;return(0,s.Z)("div",{className:o()("page-header",n,i&&"page-header-"+i)},void 0,(0,s.Z)("div",{className:"page-header-bg-image"},void 0,(0,s.Z)("div",{className:"page-header-bg-overlay"},void 0,a||(a=(0,s.Z)("div",{className:"page-header-image"})),t)))}),l=function(e){var t=e.children,n=e.className,a=e.styleName;return(0,s.Z)("div",{className:o()("page-header-banner",n,a&&"page-header-banner-"+a)},void 0,(0,s.Z)("div",{className:"page-header-banner-bg-image"},void 0,(0,s.Z)("div",{className:"page-header-banner-bg-overlay"},void 0,t)))},c=function(e){var t=e.children;return(0,s.Z)("div",{className:"container page-header-container"},void 0,t)},u=function(e){var t=e.children,n=e.className;return(0,s.Z)("div",{className:o()("page-header-details",n)},void 0,t)},d=function(e){var t=e.className,n=e.message;return(0,s.Z)("div",{className:o()("page-header-message",t),dangerouslySetInnerHTML:{__html:n}})},p=function(e){var t=e.children,n=e.className;return(0,s.Z)("div",{className:o()("page-header-message",n)},void 0,t)},h=function(e){var t=e.styleName,n=e.header,a=e.message;return(0,s.Z)(c,{},void 0,(0,s.Z)(r,{styleName:t},void 0,(0,s.Z)(l,{styleName:t},void 0,(0,s.Z)("h1",{},void 0,n)),a&&(0,s.Z)(u,{styleName:t},void 0,a)))}},26106:function(e,t,n){"use strict";var a=n(22928),s=(n(57588),n(32233)),i=n(89627),o=function(e){var t=e.agreement,n=e.checked,s=e.errors,o=e.url,r=e.value,l=e.onChange;if(!o)return null;var c=interpolate('<a href="%(url)s" target="_blank">%(agreement)s</a>',{agreement:(0,i.Z)(t),url:(0,i.Z)(o)},!0),u=interpolate(gettext("I have read and accept %(agreement)s."),{agreement:c},!0);return(0,a.Z)("div",{className:"checkbox legal-footnote"},void 0,(0,a.Z)("label",{},void 0,(0,a.Z)("input",{checked:n,type:"checkbox",value:r,onChange:l}),(0,a.Z)("span",{dangerouslySetInnerHTML:{__html:u}})),s&&s.map((function(e,t){return(0,a.Z)("div",{className:"help-block errors"},t,e)})))};t.Z=function(e){var t=e.errors,n=e.privacyPolicy,i=e.termsOfService,r=e.onPrivacyPolicyChange,l=e.onTermsOfServiceChange,c=s.Z.get("TERMS_OF_SERVICE_ID"),u=s.Z.get("TERMS_OF_SERVICE_URL"),d=s.Z.get("PRIVACY_POLICY_ID"),p=s.Z.get("PRIVACY_POLICY_URL");return c||d?(0,a.Z)("div",{},void 0,(0,a.Z)(o,{agreement:gettext("the terms of service"),checked:null!==i,errors:t.termsOfService,url:u,value:c,onChange:l}),(0,a.Z)(o,{agreement:gettext("the privacy policy"),checked:null!==n,errors:t.privacyPolicy,url:p,value:d,onChange:r})):null}},47235:function(e,t,n){"use strict";var a,s=n(22928),i=(n(57588),n(32233)),o=function(e){var t=e.className,n=e.text;return n?(0,s.Z)("h5",{className:t||""},void 0,n):null};t.Z=function(e){var t=e.buttonClassName,n=e.buttonLabel,r=e.formLabel,l=e.header,c=e.labelClassName,u=i.Z.get("SOCIAL_AUTH");return 0===u.length?null:(0,s.Z)("div",{className:"form-group form-social-auth"},void 0,(0,s.Z)(o,{className:c,text:l}),(0,s.Z)("div",{className:"row"},void 0,u.map((function(e){var a=e.id,i=e.name,o=e.button_text,r=e.button_color,l=e.url,c="btn btn-block btn-default btn-social-"+a,u=r?{color:r}:null,d=o||interpolate(n,{site:i},!0);return(0,s.Z)("div",{className:t||"col-xs-12"},a,(0,s.Z)("a",{className:c,style:u,href:l},void 0,d))}))),a||(a=(0,s.Z)("hr",{})),(0,s.Z)(o,{className:c,text:r}))}},50366:function(e,t,n){"use strict";var a,s,i,o,r,l,c,u=n(22928);n(57588),t.Z=function(e){var t=e.thread;return(0,u.Z)("ul",{className:"thread-flags"},void 0,2==t.weight&&(0,u.Z)("li",{className:"thread-flag-pinned-globally",title:gettext("Pinned globally")},void 0,a||(a=(0,u.Z)("span",{className:"material-icon"},void 0,"bookmark"))),1==t.weight&&(0,u.Z)("li",{className:"thread-flag-pinned-locally",title:gettext("Pinned in category")},void 0,s||(s=(0,u.Z)("span",{className:"material-icon"},void 0,"bookmark_outline"))),t.best_answer&&(0,u.Z)("li",{className:"thread-flag-answered",title:gettext("Answered")},void 0,i||(i=(0,u.Z)("span",{className:"material-icon"},void 0,"check_circle"))),t.has_poll&&(0,u.Z)("li",{className:"thread-flag-poll",title:gettext("Poll")},void 0,o||(o=(0,u.Z)("span",{className:"material-icon"},void 0,"poll"))),(t.is_unapproved||t.has_unapproved_posts)&&(0,u.Z)("li",{className:"thread-flag-unapproved",title:t.is_unapproved?gettext("Awaiting approval"):gettext("Has unapproved posts")},void 0,r||(r=(0,u.Z)("span",{className:"material-icon"},void 0,"visibility"))),t.is_closed&&(0,u.Z)("li",{className:"thread-flag-closed",title:gettext("Closed")},void 0,l||(l=(0,u.Z)("span",{className:"material-icon"},void 0,"lock"))),t.is_hidden&&(0,u.Z)("li",{className:"thread-flag-hidden",title:gettext("Hidden")},void 0,c||(c=(0,u.Z)("span",{className:"material-icon"},void 0,"visibility_off"))))}},16768:function(e,t,n){"use strict";var a,s=n(22928);n(57588),t.Z=function(e){var t=e.thread;return(0,s.Z)("span",{className:"threads-replies",title:interpolate(ngettext("%(replies)s reply","%(replies)s replies",t.replies),{replies:t.replies},!0)},void 0,a||(a=(0,s.Z)("span",{className:"material-icon"},void 0,"chat_bubble_outline")),t.replies>980?Math.round(t.replies/1e3)+"K":t.replies)}},92490:function(e,t,n){"use strict";n.d(t,{o8:function(){return s},Eg:function(){return r},Z2:function(){return l},tw:function(){return c}});var a=n(22928),s=(n(57588),function(e){var t=e.children;return(0,a.Z)("nav",{className:"toolbar"},void 0,t)}),i=n(94184),o=n.n(i),r=function(e){var t=e.children,n=e.className,s=e.shrink;return(0,a.Z)("div",{className:o()("toolbar-item",n,{"toolbar-item-shrink":s})},void 0,t)},l=function(e){var t=e.auto,n=e.children,s=e.className;return(0,a.Z)("div",{className:o()("toolbar-section",{"toolbar-section-auto":t},s)},void 0,n)},c=function(e){var t=e.className;return(0,a.Z)("div",{className:o()("toolbar-spacer",t)})}},19605:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i}});var a=n(22928),s=(n(57588),n(32233));function i(e){var t=e.size||100,n=e.size2x||t;return(0,a.Z)("img",{alt:"",className:e.className||"user-avatar",src:o(e.user,t),srcSet:o(e.user,n),width:t,height:t})}function o(e,t){return e&&e.id?function(e,t){var n=e[0];return e.forEach((function(e){e.size>=t&&(n=e)})),n}(e.avatars,t).url:s.Z.get("BLANK_AVATAR_URL")}},82211:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),(0,s.Z)("button",{className:e,disabled:t,onClick:this.props.onClick,type:this.props.onClick?"button":"submit"},void 0,this.props.children,this.props.loading?a||(a=(0,s.Z)(p.Z,{})):null)}}]),d}(d().Component);h.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},57026:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a=n(22928);function s(e){return(0,a.Z)("select",{className:e.className||"form-control",disabled:e.disabled||!1,id:e.id||null,onChange:e.onChange,value:e.value},void 0,e.choices.map((function(e){return(0,a.Z)("option",{disabled:e.disabled||!1,value:e.value},e.value,"- - ".repeat(e.level)+e.label)})))}n(57588)},21688:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(33556);function p(e){return e.display?(0,a.Z)(d.Z,{helpText:gettext("No profile details are editable at this time."),message:gettext("This option is currently unavailable.")}):null}var h,f=n(37848);function v(e){return e.display?h||(h=(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(f.Z,{}))):null}var m=n(97326),Z=n(4942),g=n(60471);var b=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=c.call.apply(c,[this].concat(n)),(0,Z.Z)((0,m.Z)(e),"onChange",(function(t){var n=e.props,a=n.field;(0,n.onChange)(a.fieldname,t.target.value)})),e}return(0,i.Z)(u,[{key:"render",value:function(){var e=this.props,t=e.disabled,n=e.field,s=e.value,i=n.input;return"select"===i.type?(0,a.Z)(g.Z,{choices:i.choices,disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,value:s}):"textarea"===i.type?(0,a.Z)("textarea",{className:"form-control",disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,rows:"4",type:"text",value:s}):"text"===i.type?(0,a.Z)("input",{className:"form-control",disabled:t,id:"id_"+n.fieldname,onChange:this.onChange,type:"text",value:s}):null}}]),u}(u().Component),y=n(96359);function _(e){var t=e.disabled,n=e.errors,s=e.fields,i=e.name,o=e.onChange,r=e.value;return(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,i),s.map((function(e){return(0,a.Z)(y.Z,{for:"id_"+e.fieldname,helpText:e.help_text,label:e.label,validation:n[e.fieldname]},e.fieldname,(0,a.Z)(b,{disabled:t,field:e,onChange:o,value:r[e.fieldname]}))})))}var N=n(82211),k=n(43345),x=n(78657),w=n(53904);var R=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;(0,s.Z)(this,u),t=c.call(this,e),(0,Z.Z)((0,m.Z)(t),"onChange",(function(e,n){t.setState((0,Z.Z)({},e,n))})),t.state={isLoading:!1,errors:{}};for(var n=e.groups.length,a=0;a<n;a++)for(var i=e.groups[a],o=i.fields.length,r=0;r<o;r++){var l=i.fields[r].fieldname,d=i.fields[r].initial;t.state[l]=d}return t}return(0,i.Z)(u,[{key:"send",value:function(){var e=Object.assign({},this.state,{errors:null,isLoading:null});return x.Z.post(this.props.api,e)}},{key:"handleSuccess",value:function(e){this.props.onSuccess(e)}},{key:"handleError",value:function(e){400===e.status?(w.Z.error(gettext("Form contains errors.")),this.setState({errors:e})):w.Z.apiError(e)}},{key:"render",value:function(){var e=this;return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,this.props.groups.map((function(t,n){return(0,a.Z)(_,{disabled:e.state.isLoading,errors:e.state.errors,fields:t.fields,name:t.name,onChange:e.onChange,value:e.state},n)}))),(0,a.Z)("div",{className:"panel-footer text-right"},void 0,(0,a.Z)(C,{disabled:this.state.isLoading,onCancel:this.props.onCancel})," ",(0,a.Z)(N.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes"))))}}]),u}(k.Z);function C(e){var t=e.onCancel,n=e.disabled;return t?(0,a.Z)("button",{className:"btn btn-default",disabled:n,onClick:t,type:"button"},void 0,gettext("Cancel")):null}var E=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={loading:!0,groups:null},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){var e=this;x.Z.get(this.props.api).then((function(t){e.setState({loading:!1,groups:t})}),(function(t){w.Z.apiError(t),e.props.cancel&&e.props.cancel()}))}},{key:"render",value:function(){var e=this.state,t=e.groups,n=e.loading;return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Edit details"))),(0,a.Z)(v,{display:n}),(0,a.Z)(p,{display:!n&&!t.length}),(0,a.Z)(S,{api:this.props.api,display:!n&&t.length,groups:t,onCancel:this.props.onCancel,onSuccess:this.props.onSuccess}))}}]),u}(u().Component);function S(e){var t=e.api,n=e.display,s=e.groups,i=e.onCancel,o=e.onSuccess;return n?(0,a.Z)(R,{api:t,groups:s,onCancel:i,onSuccess:o}):null}},96359:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"isValidated",value:function(){return void 0!==this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",null===this.props.validation?e+=" has-success":e+=" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?(0,a.Z)("div",{className:"help-block errors"},void 0,this.props.validation.map((function(t,n){return(0,a.Z)("p",{},e.props.for+"FeedbackItem"+n,t)}))):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?(0,a.Z)("span",{id:this.props.for+"_status",className:"sr-only"},void 0,this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:this.getClassName()},void 0,(0,a.Z)("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props.for||""},void 0,this.props.label+":"),(0,a.Z)("div",{className:this.props.controlClass||""},void 0,this.props.children,this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),u}(n.n(c)().Component)},43345:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var a=n(15671),s=n(43144),i=n(97326),o=n(79340),r=n(6215),l=n(61120),c=n(4942),u=n(57588),d=n.n(u),p=n(55210),h=n(53904);var f=(0,p.C1)(),v=function(e){(0,o.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function d(){var e;(0,a.Z)(this,d);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=u.call.apply(u,[this].concat(n)),(0,c.Z)((0,i.Z)(e),"bindInput",(function(t){return function(n){e.changeValue(t,n.target.value)}})),(0,c.Z)((0,i.Z)(e),"changeValue",(function(t,n){var a=(0,c.Z)({},t,n),s=e.state.errors||{};s[t]=e.validateField(t,a[t]),a.errors=s,e.setState(a)})),(0,c.Z)((0,i.Z)(e),"handleSubmit",(function(t){if(t&&t.preventDefault(),!e.state.isLoading&&e.clean()){e.setState({isLoading:!0});var n=e.send();n?n.then((function(t){e.setState({isLoading:!1}),e.handleSuccess(t)}),(function(t){e.setState({isLoading:!1}),e.handleError(t)})):e.setState({isLoading:!1})}})),e}return(0,s.Z)(d,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},n=[];for(var a in t.required)t.required.hasOwnProperty(a)&&t.required[a]&&n.push(a);for(var s in t.optional)t.optional.hasOwnProperty(s)&&t.optional[s]&&n.push(s);for(var i in n){var o=n[i],r=this.validateField(o,this.state[o]);null===r?e[o]=null:r&&(e[o]=r)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var n=[];if(!this.state.validators)return n;var a={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},s=f(t)||!1;if(a.required){if(s)n=[s];else for(var i in a.required){var o=a.required[i](t);o&&n.push(o)}return n.length?n:null}if(!1===s&&a.optional){for(var r in a.optional){var l=a.optional[r](t);l&&n.push(l)}return n.length?n:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){h.Z.apiError(e)}}]),d}(d().Component)},94417:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:!!this.props.path&&0===document.location.pathname.indexOf(this.props.path)}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,this.props.children)}}]),u}(n.n(c)().Component)},37848:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var a,s=n(22928);function i(e){return(0,s.Z)("div",{className:e.className||"loader"},void 0,a||(a=(0,s.Z)("div",{className:"loader-spinning-wheel"})))}n(57588)},52753:function(e,t,n){"use strict";n.d(t,{ZP:function(){return Z}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=(n(57588),n(82211)),h=n(43345),f=n(96359),v=n(78657),m=n(59801);var Z=function(e){(0,l.Z)(f,e);var t,n,h=(t=f,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function f(e){var t;return(0,i.Z)(this,f),t=h.call(this,e),(0,d.Z)((0,r.Z)(t),"handleSuccess",(function(e){t.props.onSuccess(e),m.Z.hide()})),(0,d.Z)((0,r.Z)(t),"handleError",(function(e){t.props.onError(e)})),(0,d.Z)((0,r.Z)(t),"onBestAnswerChange",(function(e){t.changeValue("bestAnswer",e.target.value)})),(0,d.Z)((0,r.Z)(t),"onPollChange",(function(e){t.changeValue("poll",e.target.value)})),t.state={isLoading:!1,bestAnswer:"0",poll:"0"},t}return(0,o.Z)(f,[{key:"clean",value:function(){return!this.props.polls||"0"!==this.state.poll||window.confirm(gettext("Are you sure you want to delete all polls?"))}},{key:"send",value:function(){var e=Object.assign({},this.props.data,{best_answer:this.state.bestAnswer,poll:this.state.poll});return v.Z.post(this.props.api,e)}},{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,a||(a=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Merge threads"))),(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(g,{choices:this.props.bestAnswers,onChange:this.onBestAnswerChange,value:this.state.bestAnswer}),(0,s.Z)(b,{choices:this.props.polls,onChange:this.onPollChange,value:this.state.poll})),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)(p.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Merge threads"))))))}}]),f}(h.Z);function g(e){var t=e.choices,n=e.onChange,a=e.value;return t?(0,s.Z)(f.Z,{label:gettext("Best answer"),helpText:gettext("Please select the best answer for your newly merged thread. No posts will be deleted during the merge."),for:"id_best_answer"},void 0,(0,s.Z)("select",{className:"form-control",id:"id_best_answer",onChange:n,value:a},void 0,t.map((function(e){return(0,s.Z)("option",{value:e[0]},e[0],e[1])})))):null}function b(e){var t=e.choices,n=e.onChange,a=e.value;return t?(0,s.Z)(f.Z,{label:gettext("Poll"),helpText:gettext("Please select the poll for your newly merged thread. Rejected polls will be permanently deleted and cannot be recovered."),for:"id_poll"},void 0,(0,s.Z)("select",{className:"form-control",id:"id_poll",onChange:n,value:a},void 0,t.map((function(e){return(0,s.Z)("option",{value:e[0]},e[0],e[1])})))):null}},69092:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var a=n(15671),s=n(43144),i=n(79340),o=n(6215),r=n(61120),l=n(57588),c=n.n(l),u=n(4942),d=n(19755),p=new RegExp("^.*(?:(?:youtu.be/|v/|vi/|u/w/|embed/)|(?:(?:watch)??v(?:i)?=|&v(?:i)?=))([^#&?]*).*"),h=new(function(){function e(){var t=this;(0,a.Z)(this,e),(0,u.Z)(this,"render",(function(e){e&&(t.highlightCode(e),t.embedYoutubePlayers(e))})),this._youtube={}}return(0,s.Z)(e,[{key:"highlightCode",value:function(e){for(var t=e.querySelectorAll("pre>code"),n=0;n<t.length;n++){var a=t[n];hljs.highlightBlock(a)}}},{key:"embedYoutubePlayers",value:function(e){for(var t=e.querySelectorAll("p>a"),n=0;n<t.length;n++){var a=t[n],s=1===a.parentNode.childNodes.length;this._youtube[a.href]||(this._youtube[a.href]=f(a.href));var i=this._youtube[a.href];s&&i&&!1!==i.data&&this.swapYoutubePlayer(a,i)}}},{key:"swapYoutubePlayer",value:function(e,t){var n="https://www.youtube.com/embed/";n+=t.video,n+="?rel=0",t.start&&(n+="&start="+t.start);var a=d('<iframe class="embed-responsive-item" src="'+n+'" allowfullscreen></iframe>');d(e).replaceWith(a),a.wrap('<div class="embed-responsive embed-responsive-16by9"></div>')}}]),e}());function f(e){var t=function(e){var t=e;return"https://"===e.substr(0,8)?t=t.substr(8):"http://"===e.substr(0,7)&&(t=t.substr(7)),"www."===t.substr(0,4)&&(t=t.substr(4)),t}(e),n=function(e){if(-1===e.indexOf("youtu"))return null;var t=e.match(p);return t?t[1]:null}(t);if(!n)return null;var a=0;if(t.indexOf("?")>0){var s=t.substr(t.indexOf("?")+1).split("&").filter((function(e){return"t="===e.substr(0,2)}))[0];if(s){var i=s.substr(2).split("m");"s"===i[0].substr(-1)?a+=parseInt(i[0].substr(0,i[0].length-1)):(a+=60*parseInt(i[0]),i[1]&&"s"===i[1].substr(-1)&&(a+=parseInt(i[1].substr(0,i[1].length-1))))}}return{start:a,video:n}}var v=n(19755);var m=function(e){(0,i.Z)(u,e);var t,n,l=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,r.Z)(t);if(n){var s=(0,r.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,o.Z)(this,e)});function u(){return(0,a.Z)(this,u),l.apply(this,arguments)}return(0,s.Z)(u,[{key:"componentDidMount",value:function(){h.render(this.documentNode),v(this.documentNode).find(".spoiler-reveal").click(Z)}},{key:"componentDidUpdate",value:function(e,t){h.render(this.documentNode),v(this.documentNode).find(".spoiler-reveal").click(Z)}},{key:"shouldComponentUpdate",value:function(e,t){return e.markup!==this.props.markup}},{key:"render",value:function(){var e=this;return c().createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:this.props.markup},ref:function(t){e.documentNode=t}})}}]),u}(c().Component);function Z(e){var t=e.target;v(t).parent().parent().addClass("revealed")}},3784:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){return a||(a=(0,s.Z)("div",{className:"modal-body modal-loader"},void 0,(0,s.Z)(p.Z,{})))}}]),d}(d().Component)},30337:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120);n(57588);var c=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:"modal-body"},void 0,(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.props.icon||"info_outline")),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.props.message),this.getHelpText(),(0,a.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}}]),u}(n(33556).Z)},95187:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=n(57588),d=n.n(u),p=n(37848);var h=function(e){(0,r.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function d(){return(0,i.Z)(this,d),u.apply(this,arguments)}return(0,o.Z)(d,[{key:"render",value:function(){return a||(a=(0,s.Z)("div",{className:"panel-body panel-body-loading"},void 0,(0,s.Z)(p.Z,{className:"loader loader-spaced"})))}}]),d}(d().Component)},33556:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588);var u=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.helpText?(0,a.Z)("p",{className:"help-block"},void 0,this.props.helpText):null}},{key:"render",value:function(){return(0,a.Z)("div",{className:"panel-body panel-message-body"},void 0,(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.props.icon||"info_outline")),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.props.message),this.getHelpText()))}}]),u}(n.n(c)().Component)},91876:function(e,t,n){"use strict";n.d(t,{n:function(){return me},y:function(){return ke}});var a,s=n(87462),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(57588),h=n.n(p),f=n(30381),v=n.n(f),m=n(22928);function Z(e){return(0,m.Z)("div",{className:"poll-choices-bars"},void 0,e.poll.choices.map((function(t){return(0,m.Z)(g,{choice:t,poll:e.poll},t.hash)})))}function g(e){var t=0;return e.choice.votes&&e.poll.votes&&(t=Math.ceil(100*e.choice.votes/e.poll.votes)),(0,m.Z)("dl",{className:"dl-horizontal"},void 0,(0,m.Z)("dt",{},void 0,e.choice.label),(0,m.Z)("dd",{},void 0,(0,m.Z)("div",{className:"progress"},void 0,(0,m.Z)("div",{className:"progress-bar",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100",style:{width:t+"%"}},void 0,(0,m.Z)("span",{className:"sr-only"},void 0,y(e.votes,e.proc)))),(0,m.Z)("ul",{className:"list-unstyled list-inline poll-chart"},void 0,(0,m.Z)(b,{proc:t,votes:e.choice.votes}),(0,m.Z)(_,{selected:e.choice.selected}))))}function b(e){return(0,m.Z)("li",{className:"poll-chart-votes"},void 0,y(e.votes,e.proc))}function y(e,t){var n=ngettext("%(votes)s vote, %(proc)s% of total.","%(votes)s votes, %(proc)s% of total.",e);return interpolate(n,{votes:e,proc:t},!0)}function _(e){return e.selected?(0,m.Z)("li",{className:"poll-chart-selected"},void 0,a||(a=(0,m.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Your choice.")):null}var N,k,x,w=n(30337),R=n(3784),C=n(78657);var E=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,i.Z)(this,s),(t=a.call(this,e)).state={isLoading:!0,error:null,data:[]},t}return(0,o.Z)(s,[{key:"componentDidMount",value:function(){var e=this;C.Z.get(this.props.poll.api.votes).then((function(t){var n=t.map((function(e){return Object.assign({},e,{voters:e.voters.map((function(e){return Object.assign({},e,{voted_on:v()(e.voted_on)})}))})}));e.setState({isLoading:!1,data:n})}),(function(t){e.setState({isLoading:!1,error:t.detail})}))}},{key:"render",value:function(){return(0,m.Z)("div",{className:"modal-dialog"+(this.state.error?" modal-message":" modal-sm"),role:"document"},void 0,(0,m.Z)("div",{className:"modal-content"},void 0,(0,m.Z)("div",{className:"modal-header"},void 0,(0,m.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,N||(N=(0,m.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,m.Z)("h4",{className:"modal-title"},void 0,gettext("Poll votes"))),(0,m.Z)(S,{data:this.state.data,error:this.state.error,isLoading:this.state.isLoading})))}}]),s}(h().Component);function S(e){return e.isLoading?k||(k=(0,m.Z)(R.Z,{})):e.error?(0,m.Z)(w.Z,{icon:"error_outline",message:e.error}):(0,m.Z)(L,{data:e.data})}function L(e){return(0,m.Z)("div",{className:"modal-body modal-poll-votes"},void 0,(0,m.Z)("ul",{className:"list-unstyled votes-details"},void 0,e.data.map((function(e){return h().createElement(P,(0,s.Z)({key:e.hash},e))}))))}function P(e){return(0,m.Z)("li",{},void 0,(0,m.Z)("h4",{},void 0,e.label),(0,m.Z)(O,{votes:e.votes}),(0,m.Z)(T,{voters:e.voters}),x||(x=(0,m.Z)("hr",{})))}function O(e){var t=ngettext("%(votes)s user has voted for this choice.","%(votes)s users have voted for this choice.",e.votes),n=interpolate(t,{votes:e.votes},!0);return(0,m.Z)("p",{},void 0,n)}function T(e){return e.voters.length?(0,m.Z)("ul",{className:"list-unstyled"},void 0,e.voters.map((function(e){return h().createElement(A,(0,s.Z)({key:e.username},e))}))):null}function A(e){return e.url?(0,m.Z)("li",{},void 0,(0,m.Z)("a",{className:"item-title",href:e.url},void 0,e.username)," ",(0,m.Z)(B,{voted_on:e.voted_on})):(0,m.Z)("li",{},void 0,(0,m.Z)("strong",{},void 0,e.username)," ",(0,m.Z)(B,{voted_on:e.voted_on}))}function B(e){return(0,m.Z)("abbr",{className:"text-muted",title:e.voted_on.format("LLL")},void 0,e.voted_on.fromNow())}var I=n(59752),j=n(7738),D=n(59801),M=n(27950),U=n(53904),z=n(90287);function H(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}function F(e){var t=e.isPollOver,n=e.poll,a=e.showVoting,s=e.thread;if(!function(e,t,n){return n.is_public||t.can_delete||t.can_edit||t.can_see_votes||t.can_vote&&!e&&(!n.hasSelectedChoices||n.allow_revotes)}(t,n.acl,n))return null;var i=[],o=n.acl.can_vote,r=!n.hasSelectedChoices||n.allow_revotes;return o&&r&&i.push(0),(n.is_public||n.acl.can_see_votes)&&i.push(1),n.acl.can_edit&&i.push(2),n.acl.can_delete&&i.push(3),(0,m.Z)("div",{className:"row poll-options"},void 0,(0,m.Z)(Y,{controls:i,isPollOver:t,poll:n,showVoting:a}),(0,m.Z)(V,{controls:i,poll:n}),(0,m.Z)($,{controls:i,poll:n,thread:s}),(0,m.Z)(G,{controls:i,poll:n}))}function q(e,t){var n="col-xs-6";return 1===e.length&&(n="col-xs-12"),3===e.length&&e[0]===t&&(n="col-xs-12"),n+" col-sm-3 col-md-2"}function Y(e){var t=e.poll.acl.can_vote,n=!e.poll.hasSelectedChoices||e.poll.allow_revotes;return t&&n?(0,m.Z)("div",{className:q(e.controls,0)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:e.poll.isBusy,onClick:e.showVoting,type:"button"},void 0,gettext("Vote"))):null}var V=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){D.Z.show((0,m.Z)(E,{poll:e.props.poll}))})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.is_public||this.props.poll.acl.can_see_votes?(0,m.Z)("div",{className:q(this.props.controls,1)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("See votes"))):null}}]),n}(h().Component),$=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){M.Z.open({submit:e.props.poll.api.index,thread:e.props.thread,poll:e.props.poll,mode:"POLL"})})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.acl.can_edit?(0,m.Z)("div",{className:q(this.props.controls,2)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("Edit"))):null}}]),n}(h().Component),G=function(e){(0,l.Z)(n,e);var t=H(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){if(!window.confirm(gettext("Are you sure you want to delete this poll? This action is not reversible.")))return!1;z.Z.dispatch(I.n6()),C.Z.delete(e.props.poll.api.index).then(e.handleSuccess,e.handleError)})),(0,d.Z)((0,r.Z)(e),"handleSuccess",(function(e){U.Z.success("Poll has been deleted"),z.Z.dispatch(I.Od()),z.Z.dispatch(j.y8(e))})),(0,d.Z)((0,r.Z)(e),"handleError",(function(e){U.Z.apiError(e),z.Z.dispatch(I.Ar())})),e}return(0,o.Z)(n,[{key:"render",value:function(){return this.props.poll.acl.can_delete?(0,m.Z)("div",{className:q(this.props.controls,3)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.props.poll.isBusy,onClick:this.onClick,type:"button"},void 0,gettext("Delete"))):null}}]),n}(h().Component),W=n(89627),K='<abbr title="%(absolute)s">%(relative)s</abbr>';function J(e){return(0,m.Z)("ul",{className:"list-unstyled list-inline poll-details"},void 0,(0,m.Z)(ae,{votes:e.poll.votes}),(0,m.Z)(te,{poll:e.poll}),(0,m.Z)(se,{poll:e.poll}),(0,m.Z)(Q,{poll:e.poll}))}function Q(e){var t=interpolate((0,W.Z)(gettext("Posted by %(poster)s %(posted_on)s.")),{poster:X(e.poll),posted_on:ee(e.poll)},!0);return(0,m.Z)("li",{className:"poll-info-creation",dangerouslySetInnerHTML:{__html:t}})}function X(e){return e.url.poster?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,W.Z)(e.url.poster),user:(0,W.Z)(e.poster_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,W.Z)(e.poster_name)},!0)}function ee(e){return interpolate(K,{absolute:(0,W.Z)(e.posted_on.format("LLL")),relative:(0,W.Z)(e.posted_on.fromNow())},!0)}function te(e){if(!e.poll.length)return null;var t=interpolate((0,W.Z)(gettext("Voting ends %(ends_on)s.")),{ends_on:ne(e.poll)},!0);return(0,m.Z)("li",{className:"poll-info-ends-on",dangerouslySetInnerHTML:{__html:t}})}function ne(e){return interpolate(K,{absolute:(0,W.Z)(e.endsOn.format("LLL")),relative:(0,W.Z)(e.endsOn.fromNow())},!0)}function ae(e){var t=ngettext("%(votes)s vote.","%(votes)s votes.",e.votes),n=interpolate(t,{votes:e.votes},!0);return(0,m.Z)("li",{className:"poll-info-votes"},void 0,n)}function se(e){return e.poll.is_public?(0,m.Z)("li",{className:"poll-info-public"},void 0,gettext("Votes are public.")):null}function ie(e){return(0,m.Z)("div",{className:"panel panel-default panel-poll"},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("h2",{},void 0,e.poll.question),(0,m.Z)(J,{poll:e.poll}),(0,m.Z)(Z,{poll:e.poll}),(0,m.Z)(F,{isPollOver:e.isPollOver,poll:e.poll,showVoting:e.showVoting,thread:e.thread})))}function oe(e){return(0,m.Z)("ul",{className:"list-unstyled list-inline poll-help"},void 0,(0,m.Z)(re,{choicesLeft:e.choicesLeft}),(0,m.Z)(le,{poll:e.poll}))}function re(e){var t=e.choicesLeft;if(0===t)return(0,m.Z)("li",{className:"poll-help-choices-left"},void 0,gettext("You can't select any more choices."));var n=ngettext("You can select %(choices)s more choice.","You can select %(choices)s more choices.",t),a=interpolate(n,{choices:t},!0);return(0,m.Z)("li",{className:"poll-help-choices-left"},void 0,a)}function le(e){return e.poll.allow_revotes?(0,m.Z)("li",{className:"poll-help-allow-revotes"},void 0,gettext("You can change your vote later.")):(0,m.Z)("li",{className:"poll-help-no-revotes"},void 0,gettext("Votes are final."))}function ce(e){return(0,m.Z)("ul",{className:"list-unstyled poll-select-choices"},void 0,e.choices.map((function(t){return(0,m.Z)(ue,{choice:t,toggleChoice:e.toggleChoice},t.hash)})))}var ue=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){var e;(0,i.Z)(this,s);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n)),(0,d.Z)((0,r.Z)(e),"onClick",(function(){e.props.toggleChoice(e.props.choice.hash)})),e}return(0,o.Z)(s,[{key:"render",value:function(){return(0,m.Z)("li",{className:"poll-select-choice"},void 0,(0,m.Z)("button",{className:this.props.choice.selected?"btn btn-selected":"btn",onClick:this.onClick,type:"button"},void 0,(0,m.Z)("span",{className:"material-icon"},void 0,this.props.choice.selected?"check_box":"check_box_outline_blank"),(0,m.Z)("strong",{},void 0,this.props.choice.label)))}}]),s}(h().Component);function de(e,t){var n=[];for(var a in t){var s=t[a];s.selected&&n.push(s)}return e.allowed_choices-n.length}var pe=n(82211),he=n(43345);var fe=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,i.Z)(this,s),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"toggleChoice",(function(e){var n,a=function(e,t){for(var n in e){var a=e[n];if(a.hash===t)return a}return null}(t.state.choices,e);n=a.selected?t.deselectChoice(a,e):t.selectChoice(a,e),t.setState({choices:n,choicesLeft:de(t.props.poll,n)})})),(0,d.Z)((0,r.Z)(t),"selectChoice",(function(e,n){if(!de(t.props.poll,t.state.choices))for(var a in t.state.choices.slice()){var s=t.state.choices[a];if(s.selected&&s.hash!=n){s.selected=!1;break}}return t.state.choices.map((function(e){return Object.assign({},e,{selected:e.hash==n||e.selected})}))})),(0,d.Z)((0,r.Z)(t),"deselectChoice",(function(e,n){return t.state.choices.map((function(e){return Object.assign({},e,{selected:e.hash!=n&&e.selected})}))})),t.state={isLoading:!1,choices:e.poll.choices,choicesLeft:de(e.poll,e.poll.choices)},t}return(0,o.Z)(s,[{key:"clean",value:function(){return this.state.choicesLeft!==this.props.poll.allowed_choices||(U.Z.error(gettext("You need to select at least one choice")),!1)}},{key:"send",value:function(){var e=[];for(var t in this.state.choices.slice()){var n=this.state.choices[t];n.selected&&e.push(n.hash)}return C.Z.post(this.props.poll.api.votes,e)}},{key:"handleSuccess",value:function(e){z.Z.dispatch(I.gx(e)),U.Z.success(gettext("Your vote has been saved.")),this.props.showResults()}},{key:"handleError",value:function(e){400===e.status?U.Z.error(e.detail):U.Z.apiError(e)}},{key:"render",value:function(){var e=[];return this.props.poll.acl.can_vote&&e.push(0),(this.props.poll.is_public||this.props.poll.acl.can_see_votes)&&e.push(1),this.props.poll.acl.can_edit&&e.push(2),this.props.poll.acl.can_delete&&e.push(3),(0,m.Z)("div",{className:"panel panel-default panel-poll"},void 0,(0,m.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("h2",{},void 0,this.props.poll.question),(0,m.Z)(J,{poll:this.props.poll}),(0,m.Z)(ce,{choices:this.state.choices,toggleChoice:this.toggleChoice}),(0,m.Z)(oe,{choicesLeft:this.state.choicesLeft,poll:this.props.poll})),(0,m.Z)("div",{className:"panel-footer"},void 0,(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)("div",{className:q(e,0)},void 0,(0,m.Z)(pe.Z,{className:"btn-primary btn-block btn-sm",loading:this.state.isLoading},void 0,gettext("Save your vote"))),(0,m.Z)("div",{className:q(e,1)},void 0,(0,m.Z)("button",{className:"btn btn-default btn-block btn-sm",disabled:this.state.isLoading,onClick:this.props.showResults,type:"button"},void 0,gettext("See results"))),(0,m.Z)($,{controls:e,poll:this.props.poll,thread:this.props.thread}),(0,m.Z)(G,{controls:e,poll:this.props.poll})))))}}]),s}(he.Z);var ve,me=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"showResults",(function(){t.setState({showResults:!0})})),(0,d.Z)((0,r.Z)(t),"showVoting",(function(){t.setState({showResults:!1})}));var n=!0;return e.user.id&&!e.poll.hasSelectedChoices&&(n=!1),t.state={showResults:n},t}return(0,o.Z)(p,[{key:"render",value:function(){if(!this.props.thread.poll)return null;var e=function(e){return!!e.length&&v()().isAfter(e.endsOn)}(this.props.poll);return e||!this.props.poll.acl.can_vote||this.state.showResults?h().createElement(ie,(0,s.Z)({isPollOver:e,showVoting:this.showVoting},this.props)):h().createElement(fe,(0,s.Z)({showResults:this.showResults},this.props))}}]),p}(h().Component);function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ge=function(e){(0,l.Z)(n,e);var t=Ze(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onAdd",(function(){var t=e.props.choices.slice();t.push({hash:ye(),label:""}),e.props.setChoices(t)})),(0,d.Z)((0,r.Z)(e),"onChange",(function(t,n){var a=e.props.choices.map((function(e){return e.hash===t&&(e.label=n),e}));e.props.setChoices(a)})),(0,d.Z)((0,r.Z)(e),"onDelete",(function(t){var n=e.props.choices.filter((function(e){return e.hash!==t}));e.props.setChoices(n)})),e}return(0,o.Z)(n,[{key:"render",value:function(){var e=this;return(0,m.Z)("div",{className:"poll-choices-control"},void 0,(0,m.Z)("ul",{className:"list-group"},void 0,this.props.choices.map((function(t){return(0,m.Z)(be,{canDelete:e.props.choices.length>2,choice:t,disabled:e.props.disabled,onChange:e.onChange,onDelete:e.onDelete},t.hash)}))),(0,m.Z)("button",{className:"btn btn-default btn-sm",disabled:this.props.disabled,onClick:this.onAdd,type:"button"},void 0,gettext("Add choice")))}}]),n}(h().Component),be=function(e){(0,l.Z)(n,e);var t=Ze(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s)),(0,d.Z)((0,r.Z)(e),"onChange",(function(t){e.props.onChange(e.props.choice.hash,t.target.value)})),(0,d.Z)((0,r.Z)(e),"onDelete",(function(){window.confirm(gettext("Are you sure you want to delete this choice?"))&&e.props.onDelete(e.props.choice.hash)})),e}return(0,o.Z)(n,[{key:"render",value:function(){return(0,m.Z)("li",{className:"list-group-item"},void 0,(0,m.Z)("button",{className:"btn",disabled:!this.props.canDelete||this.props.disabled,onClick:this.onDelete,title:gettext("Delete this choice"),type:"button"},void 0,ve||(ve=(0,m.Z)("span",{className:"material-icon"},void 0,"close"))),(0,m.Z)("input",{disabled:this.props.disabled,maxLength:"255",placeholder:gettext("choice label"),type:"text",onChange:this.onChange,value:this.props.choice.label}))}}]),n}(h().Component);function ye(){for(var e="";12!=e.length;)e=Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,12);return e}var _e=n(96359),Ne=n(7227);var ke=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;(0,i.Z)(this,s),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"setChoices",(function(e){var n=Object.assign({},n,{choices:null});t.setState({choices:e,errors:n})})),(0,d.Z)((0,r.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard poll?"))&&M.Z.close()}));var n=e.poll||{question:"",choices:[{hash:"choice-10000",label:""},{hash:"choice-20000",label:""}],length:0,allowed_choices:1,allow_revotes:0,is_public:0};return t.state={isLoading:!1,isEdit:!!n.question,question:n.question,choices:n.choices,length:n.length,allowed_choices:n.allowed_choices,allow_revotes:n.allow_revotes,is_public:n.is_public,validators:{question:[],choices:[],length:[],allowed_choices:[]},errors:{}},t}return(0,o.Z)(s,[{key:"send",value:function(){var e={question:this.state.question,choices:this.state.choices,length:this.state.length,allowed_choices:this.state.allowed_choices,allow_revotes:this.state.allow_revotes,is_public:this.state.is_public};return this.state.isEdit?C.Z.put(this.props.poll.api.index,e):C.Z.post(this.props.thread.api.poll,e)}},{key:"handleSuccess",value:function(e){z.Z.dispatch(I.gx(e)),this.state.isEdit?U.Z.success(gettext("Poll has been edited.")):U.Z.success(gettext("Poll has been posted.")),M.Z.close()}},{key:"handleError",value:function(e){400===e.status?(e.non_field_errors&&(e.allowed_choices=e.non_field_errors),this.setState({errors:Object.assign({},e)}),U.Z.error(gettext("Form contains errors."))):U.Z.apiError(e)}},{key:"render",value:function(){return(0,m.Z)("div",{className:"poll-form"},void 0,(0,m.Z)("div",{className:"container"},void 0,(0,m.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,m.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,m.Z)("div",{className:"panel-body"},void 0,(0,m.Z)("fieldset",{},void 0,(0,m.Z)("legend",{},void 0,gettext("Question and choices")),(0,m.Z)(_e.Z,{label:gettext("Poll question"),for:"id_questions",validation:this.state.errors.question},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_questions",onChange:this.bindInput("question"),type:"text",maxLength:"255",value:this.state.question})),(0,m.Z)(_e.Z,{label:gettext("Available choices"),validation:this.state.errors.choices},void 0,(0,m.Z)(ge,{choices:this.state.choices,disabled:this.state.isLoading,setChoices:this.setChoices}))),(0,m.Z)("fieldset",{},void 0,(0,m.Z)("legend",{},void 0,gettext("Voting")),(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Poll length"),helpText:gettext("Enter number of days for which voting in this poll should be possible or zero to run this poll indefinitely."),for:"id_length",validation:this.state.errors.length},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_length",onChange:this.bindInput("length"),type:"text",value:this.state.length}))),(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Allowed choices"),for:"id_allowed_choices",validation:this.state.errors.allowed_choices},void 0,(0,m.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_allowed_choices",onChange:this.bindInput("allowed_choices"),type:"text",maxLength:"255",value:this.state.allowed_choices})))),(0,m.Z)("div",{className:"row"},void 0,(0,m.Z)(xe,{bindInput:this.bindInput,disabled:this.state.isLoading,isEdit:this.state.isEdit,value:this.state.is_public}),(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Allow vote changes"),for:"id_allow_revotes"},void 0,(0,m.Z)(Ne.Z,{id:"id_allow_revotes",disabled:this.state.isLoading,iconOn:"check",iconOff:"close",labelOn:gettext("Allow participants to change their vote"),labelOff:gettext("Don't allow participants to change their vote"),onChange:this.bindInput("allow_revotes"),value:this.state.allow_revotes})))))),(0,m.Z)("div",{className:"panel-footer text-right"},void 0,(0,m.Z)("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,type:"button"},void 0,gettext("Cancel"))," ",(0,m.Z)(pe.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,this.state.isEdit?gettext("Save changes"):gettext("Post poll")))))))}}]),s}(he.Z);function xe(e){return e.isEdit?null:(0,m.Z)("div",{className:"col-xs-12 col-sm-6"},void 0,(0,m.Z)(_e.Z,{label:gettext("Make voting public"),helpText:gettext("Making voting public will allow everyone to access detailed list of votes, showing which users voted for which choices and at which times. This option can't be changed after poll's creation. Moderators may see voting details for all polls."),for:"id_is_public"},void 0,(0,m.Z)(Ne.Z,{id:"id_is_public",disabled:e.disabled,iconOn:"visibility",iconOff:"visibility_off",labelOn:gettext("Votes are public"),labelOff:gettext("Votes are hidden"),onChange:e.bindInput("is_public"),value:e.value})))}},11005:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var a=n(22928),s=n(57588),i=n.n(s),o=n(69092);function r(e){return e.post.content?i().createElement(l,e):i().createElement(c,e)}function l(e){return(0,a.Z)("div",{className:"post-body"},void 0,(0,a.Z)(o.Z,{markup:e.post.content}))}function c(e){return(0,a.Z)("div",{className:"post-body post-body-invalid"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("This post's contents cannot be displayed.")),(0,a.Z)("p",{className:"text-muted"},void 0,gettext("This error is caused by invalid post content manipulation.")))}function u(e){var t=e.post,n=t.category,s=t.thread,i=interpolate(gettext("posted %(posted_on)s"),{posted_on:t.posted_on.format("LL, LT")},!0);return(0,a.Z)("div",{className:"post-heading"},void 0,(0,a.Z)("a",{className:"btn btn-link item-title",href:s.url},void 0,s.title),(0,a.Z)("a",{className:"btn btn-link post-category",href:n.url.index},void 0,n.name),(0,a.Z)("a",{href:t.url.index,className:"btn btn-link posted-on",title:i},void 0,t.posted_on.fromNow()))}n(89627);var d,p,h=n(19605);function f(e){var t=e.post;return(0,a.Z)("a",{className:"btn btn-default btn-icon pull-right",href:t.url.index},void 0,(0,a.Z)("span",{className:"btn-text-left hidden-xs"},void 0,gettext("See post")),d||(d=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right")))}function v(e){var t=e.post;return(0,a.Z)("div",{className:"post-side post-side-anonymous"},void 0,(0,a.Z)(f,{post:t}),(0,a.Z)("div",{className:"media"},void 0,p||(p=(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50})))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,t.poster_name)),(0,a.Z)("span",{className:"user-title user-title-anonymous"},void 0,gettext("Removed user")))))}function m(e){var t=e.rank,n=e.title||t.title||t.name,s="user-title";return t.css_class&&(s+=" user-title-"+t.css_class),t.is_tab?(0,a.Z)("a",{className:s,href:t.url},void 0,n):(0,a.Z)("span",{className:s},void 0,n)}function Z(e){var t=e.post,n=e.poster;return(0,a.Z)("div",{className:"post-side post-side-registered"},void 0,(0,a.Z)(f,{post:t}),(0,a.Z)("div",{className:"media"},void 0,(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("a",{href:n.url},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50,user:n}))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("a",{className:"item-title",href:n.url},void 0,n.username)),(0,a.Z)(m,{title:n.title,rank:n.rank}))))}function g(e){var t=e.post,n=e.poster;return n&&n.id?(0,a.Z)(Z,{post:t,poster:n}):(0,a.Z)(v,{post:t})}function b(e){var t=e.post,n=e.poster||t.poster,s="post";return n&&n.rank.css_class&&(s+=" post-"+n.rank.css_class),(0,a.Z)("li",{className:s,id:"post-"+t.id},void 0,(0,a.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(g,{post:t,poster:n}),(0,a.Z)(u,{post:t}),(0,a.Z)(r,{post:t}))))}var y,_,N=n(44039);function k(){return(0,a.Z)("ul",{className:"posts-list post-feed ui-preview"},void 0,(0,a.Z)("li",{className:"post"},void 0,(0,a.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("div",{className:"post-side post-side-anonymous"},void 0,(0,a.Z)("div",{className:"media"},void 0,y||(y=(0,a.Z)("div",{className:"media-left"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(h.ZP,{className:"poster-avatar",size:50})))),(0,a.Z)("div",{className:"media-body"},void 0,(0,a.Z)("div",{className:"media-heading"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))),(0,a.Z)("span",{className:"user-title user-title-anonymous"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))))),(0,a.Z)("div",{className:"post-heading"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")),(0,a.Z)("div",{className:"post-body"},void 0,(0,a.Z)("article",{className:"misago-markup"},void 0,(0,a.Z)("p",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")," ",(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," ")," ",(0,a.Z)("span",{className:"ui-preview-text",style:{width:N.e(30,200)+"px"}},void 0," "))))))))}function x(e){var t=e.isReady,n=e.posts,s=e.poster;return t?(0,a.Z)("ul",{className:"posts-list post-feed ui-ready"},void 0,n.map((function(e){return(0,a.Z)(b,{post:e,poster:s},e.id)}))):_||(_=(0,a.Z)(k,{}))}},12891:function(e,t,n){"use strict";n.d(t,{Jh:function(){return o},jn:function(){return i}});var a=n(55210),s=n(32233);function i(){return[(0,a.Ei)(s.Z.get("SETTINGS").thread_title_length_min,(function(e,t){var n=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)})),(0,a.BS)(s.Z.get("SETTINGS").thread_title_length_max,(function(e,t){var n=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))]}function o(){return s.Z.get("SETTINGS").post_length_max?[r(),(0,a.BS)(s.Z.get("SETTINGS").post_length_max||1e6,(function(e,t){var n=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))]:[r()]}function r(){return(0,a.Ei)(s.Z.get("SETTINGS").post_length_min,(function(e,t){var n=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(n,{limit_value:e,show_value:t},!0)}))}},60471:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var a=n(22928),s=n(15671),i=n(43144),o=n(97326),r=n(79340),l=n(6215),c=n(61120),u=n(4942),d=n(57588);var p=function(e){(0,r.Z)(p,e);var t,n,d=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function p(){var e;(0,s.Z)(this,p);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=d.call.apply(d,[this].concat(n)),(0,u.Z)((0,o.Z)(e),"change",(function(t){return function(){e.props.onChange({target:{value:t}})}})),e}return(0,i.Z)(p,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map((function(n){n.value===e.props.value&&(t=n)})),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return(0,a.Z)("div",{className:"btn-group btn-select-group"},void 0,(0,a.Z)("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},void 0,(0,a.Z)(h,{icon:this.getIcon()}),this.getLabel()),(0,a.Z)("ul",{className:"dropdown-menu"},void 0,this.props.choices.map((function(t,n){return(0,a.Z)("li",{},n,(0,a.Z)("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},void 0,(0,a.Z)(h,{icon:t.icon}),t.label))}))))}}]),p}(n.n(d)().Component);function h(e){var t=e.icon;return t?(0,a.Z)("span",{className:"material-icon"},void 0,t):null}},14467:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var a,s=n(22928),i=n(15671),o=n(43144),r=n(79340),l=n(6215),c=n(61120),u=(n(57588),n(32233)),d=n(82211),p=n(43345),h=n(47235),f=n(78657),v=n(59801),m=n(53904),Z=n(93051),g=n(19755);var b=function(e){(0,r.Z)(b,e);var t,n,p=(t=b,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function b(e){var t;return(0,i.Z)(this,b),(t=p.call(this,e)).state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},t}return(0,o.Z)(b,[{key:"clean",value:function(){return!!this.isValid()||(m.Z.error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return f.Z.post(u.Z.get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=g("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(f.Z.getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?m.Z.info(e.detail):"inactive_user"===e.code?(m.Z.info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,Z.Z)(e.detail),v.Z.hide()):m.Z.error(e.detail):403===e.status&&e.ban?((0,Z.Z)(e.ban),v.Z.hide()):m.Z.apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?(0,s.Z)("a",{className:"btn btn-success btn-block",href:u.Z.get("REQUEST_ACTIVATION_URL")},void 0,gettext("Activate account")):null}},{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,a||(a=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Sign in"))),(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(h.Z,{buttonLabel:gettext("Sign in with %(site)s"),formLabel:gettext("Or use your forum account:"),labelClassName:"text-center"}),(0,s.Z)("div",{className:"form-group"},void 0,(0,s.Z)("div",{className:"control-input"},void 0,(0,s.Z)("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_username",onChange:this.bindInput("username"),placeholder:gettext("Username or e-mail"),type:"text",value:this.state.username}))),(0,s.Z)("div",{className:"form-group"},void 0,(0,s.Z)("div",{className:"control-input"},void 0,(0,s.Z)("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_password",onChange:this.bindInput("password"),placeholder:gettext("Password"),type:"password",value:this.state.password})))),(0,s.Z)("div",{className:"modal-footer"},void 0,this.getActivationButton(),(0,s.Z)(d.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Sign in")),(0,s.Z)("a",{className:"btn btn-default btn-block",href:u.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Forgot password?"))))))}}]),b}(p.Z)},24678:function(e,t,n){"use strict";n.d(t,{Jj:function(){return h},ZP:function(){return p},pg:function(){return f}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c);function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,l.Z)(e);if(t){var s=(0,l.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,r.Z)(this,n)}}var p=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getClass",value:function(){return e=this.props.status,t="",e.is_banned?t="banned":e.is_hidden?t="offline":e.is_online_hidden?t="online":e.is_offline_hidden?t="offline":e.is_online?t="online":e.is_offline&&(t="offline"),"user-status user-"+t;var e,t}},{key:"render",value:function(){return(0,a.Z)("span",{className:this.getClass()},void 0,this.props.children)}}]),n}(u().Component),h=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return(0,a.Z)("span",{className:"material-icon status-icon"},void 0,this.getIcon())}}]),n}(u().Component),f=function(e){(0,o.Z)(n,e);var t=d(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"getHelp",value:function(){return e=this.props.user,(t=this.props.status).is_banned?t.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:e.username,ban_expires:t.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:e.username},!0):t.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:e.username},!0):t.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:e.username},!0):t.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:e.username,last_click:t.last_click.fromNow()},!0):t.is_online?interpolate(gettext("%(username)s is online"),{username:e.username},!0):t.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:e.username,last_click:t.last_click.fromNow()},!0):void 0;var e,t}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return(0,a.Z)("span",{className:this.props.className||"status-label",title:this.getHelp()},void 0,this.getLabel())}}]),n}(u().Component)},7850:function(e,t,n){"use strict";n.d(t,{Z:function(){return k}});var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c);var d,p,h=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,(0,a.Z)("li",{className:"list-group-item empty-message"},void 0,this.getEmptyMessage())))}}]),u}(u().Component),f=n(19605);var v=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?(0,a.Z)("a",{href:this.props.change.changed_by.url,className:"user-avatar-wrapper"},void 0,(0,a.Z)(f.ZP,{user:this.props.change.changed_by,size:"100"})):d||(d=(0,a.Z)("span",{className:"user-avatar-wrapper"},void 0,(0,a.Z)(f.ZP,{size:"100"})))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?(0,a.Z)("a",{href:this.props.change.changed_by.url,className:"item-title"},void 0,this.props.change.changed_by.username):(0,a.Z)("span",{className:"item-title"},void 0,this.props.change.changed_by_username)}},{key:"render",value:function(){return(0,a.Z)("li",{className:"list-group-item"},this.props.change.id,(0,a.Z)("div",{className:"change-avatar"},void 0,this.renderUserAvatar()),(0,a.Z)("div",{className:"change-author"},void 0,this.renderUsername()),(0,a.Z)("div",{className:"change"},void 0,(0,a.Z)("span",{className:"old-username"},void 0,this.props.change.old_username),p||(p=(0,a.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),(0,a.Z)("span",{className:"new-username"},void 0,this.props.change.new_username)),(0,a.Z)("div",{className:"change-date"},void 0,(0,a.Z)("abbr",{title:this.props.change.changed_on.format("LLL")},void 0,this.props.change.changed_on.fromNow())))}}]),u}(u().Component);var m,Z,g=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,this.props.changes.map((function(e){return(0,a.Z)(v,{change:e},e.id)}))))}}]),u}(u().Component),b=n(44039);var y=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,m||(m=(0,a.Z)("div",{className:"change-avatar"},void 0,(0,a.Z)("span",{className:"user-avatar"},void 0,(0,a.Z)(f.ZP,{size:"100"})))),(0,a.Z)("div",{className:"change-author"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,100)+"px"}},void 0," ")),(0,a.Z)("div",{className:"change"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,70)+"px"}},void 0," "),Z||(Z=(0,a.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(30,70)+"px"}},void 0," ")),(0,a.Z)("div",{className:"change-date"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:b.e(80,140)+"px"}},void 0," ")))}}]),u}(u().Component);var _,N=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,a.Z)("div",{className:"username-history ui-preview"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,[0,1,2].map((function(e){return(0,a.Z)(y,{hiddenOnMobile:e>0},e)}))))}}]),u}(u().Component);var k=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return this.props.isLoaded?this.props.changes.length?(0,a.Z)(g,{changes:this.props.changes}):(0,a.Z)(h,{emptyMessage:this.props.emptyMessage}):_||(_=(0,a.Z)(N,{}))}}]),u}(u().Component)},40429:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var a,s=n(22928),i=n(57588),o=n.n(i),r=n(19605),l=n(24678);function c(e){var t=e.showStatus,n=e.user;return(0,s.Z)("ul",{className:"list-unstyled"},void 0,(0,s.Z)(u,{showStatus:t,user:n}),(0,s.Z)(d,{user:n}),a||(a=(0,s.Z)("li",{className:"user-stat-divider"})),(0,s.Z)(p,{user:n}),(0,s.Z)(h,{user:n}),(0,s.Z)(f,{user:n}))}function u(e){var t=e.showStatus,n=e.user;return t?(0,s.Z)("li",{className:"user-stat-status"},void 0,(0,s.Z)(l.ZP,{status:n.status},void 0,(0,s.Z)(l.pg,{status:n.status,user:n}))):null}function d(e){var t=e.user.joined_on,n=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:t.format("LL, LT")},!0),a=interpolate(gettext("Joined %(joined_on)s"),{joined_on:t.fromNow()},!0);return(0,s.Z)("li",{className:"user-stat-join-date"},void 0,(0,s.Z)("abbr",{title:n},void 0,a))}function p(e){var t=e.user,n=v("user-stat-posts",t.posts),a=ngettext("%(posts)s post","%(posts)s posts",t.posts);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{posts:t.posts},!0))}function h(e){var t=e.user,n=v("user-stat-threads",t.threads),a=ngettext("%(threads)s thread","%(threads)s threads",t.threads);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{threads:t.threads},!0))}function f(e){var t=e.user,n=v("user-stat-followers",t.followers),a=ngettext("%(followers)s follower","%(followers)s followers",t.followers);return(0,s.Z)("li",{className:n},void 0,interpolate(a,{followers:t.followers},!0))}function v(e,t){return 0===t?e+" user-stat-empty":e}function m(e){var t=e.rank,n=e.title||t.title||t.name,a="user-title";return t.css_class&&(a+=" user-title-"+t.css_class),t.is_tab?(0,s.Z)("a",{className:a,href:t.url},void 0,n):(0,s.Z)("span",{className:a},void 0,n)}function Z(e){var t=e.showStatus,n=e.user,a=n.rank,i="panel user-card";return a.css_class&&(i+=" user-card-"+a.css_class),(0,s.Z)("div",{className:i},void 0,(0,s.Z)("div",{className:"panel-body"},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)("div",{className:"col-xs-3 user-card-left"},void 0,(0,s.Z)("div",{className:"user-card-small-avatar"},void 0,(0,s.Z)("a",{href:n.url},void 0,(0,s.Z)(r.ZP,{size:"50",size2x:"80",user:n})))),(0,s.Z)("div",{className:"col-xs-9 col-sm-12 user-card-body"},void 0,(0,s.Z)("div",{className:"user-card-avatar"},void 0,(0,s.Z)("a",{href:n.url},void 0,(0,s.Z)(r.ZP,{size:"150",size2x:"200",user:n}))),(0,s.Z)("div",{className:"user-card-username"},void 0,(0,s.Z)("a",{href:n.url},void 0,n.username)),(0,s.Z)("div",{className:"user-card-title"},void 0,(0,s.Z)(m,{rank:a,title:n.title})),(0,s.Z)("div",{className:"user-card-stats"},void 0,(0,s.Z)(c,{showStatus:t,user:n}))))))}var g,b,y,_=n(15671),N=n(43144),k=n(79340),x=n(6215),w=n(61120),R=n(44039);var C,E=function(e){(0,k.Z)(i,e);var t,n,a=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,w.Z)(t);if(n){var s=(0,w.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,x.Z)(this,e)});function i(){return(0,_.Z)(this,i),a.apply(this,arguments)}return(0,N.Z)(i,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,s.Z)("div",{className:"panel user-card user-card-preview"},void 0,(0,s.Z)("div",{className:"panel-body"},void 0,(0,s.Z)("div",{className:"row"},void 0,g||(g=(0,s.Z)("div",{className:"col-xs-3 user-card-left"},void 0,(0,s.Z)("div",{className:"user-card-small-avatar"},void 0,(0,s.Z)("span",{},void 0,(0,s.Z)(r.ZP,{size:"50",size2x:"80"}))))),(0,s.Z)("div",{className:"col-xs-9 col-sm-12 user-card-body"},void 0,b||(b=(0,s.Z)("div",{className:"user-card-avatar"},void 0,(0,s.Z)("span",{},void 0,(0,s.Z)(r.ZP,{size:"150",size2x:"200"})))),(0,s.Z)("div",{className:"user-card-username"},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(60,150)+"px"}},void 0," ")),(0,s.Z)("div",{className:"user-card-title"},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(60,150)+"px"}},void 0," ")),(0,s.Z)("div",{className:"user-card-stats"},void 0,(0,s.Z)("ul",{className:"list-unstyled"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),y||(y=(0,s.Z)("li",{className:"user-stat-divider"})),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," ")),(0,s.Z)("li",{},void 0,(0,s.Z)("span",{className:"ui-preview-text",style:{width:R.e(30,70)+"px"}},void 0," "))))))))}}]),i}(o().Component);function S(e){var t=e.colClassName,n=e.cols,a=Array.apply(null,{length:n}).map(Number.call,Number);return(0,s.Z)("div",{className:"users-cards-list ui-preview"},void 0,(0,s.Z)("div",{className:"row"},void 0,a.map((function(e){var n=t;return 0!==e&&(n+=" hidden-xs"),3===e&&(n+=" hidden-sm"),(0,s.Z)("div",{className:n},e,C||(C=(0,s.Z)(E,{})))}))))}function L(e){var t=e.cols,n=e.isReady,a=e.showStatus,i=e.users,o="col-xs-12 col-sm-4";return 4===t&&(o+=" col-md-3"),n?(0,s.Z)("div",{className:"users-cards-list ui-ready"},void 0,(0,s.Z)("div",{className:"row"},void 0,i.map((function(e){return(0,s.Z)("div",{className:o},e.id,(0,s.Z)(Z,{showStatus:a,user:e}))})))):(0,s.Z)(S,{colClassName:o,cols:t})}},82125:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var a=n(15671),s=n(43144),i=n(97326),o=n(79340),r=n(6215),l=n(61120),c=n(4942),u=n(57588);var d=function(e){(0,o.Z)(d,e);var t,n,u=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function d(e){var t;return(0,a.Z)(this,d),t=u.call(this,e),(0,c.Z)((0,i.Z)(t),"toggleNav",(function(){t.setState({dropdown:!t.state.dropdown})})),(0,c.Z)((0,i.Z)(t),"hideNav",(function(){t.setState({dropdown:!1})})),t.state={dropdown:!1},t}return(0,s.Z)(d,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),d}(n.n(u)().Component)},7227:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var a=n(22928),s=n(15671),i=n(43144),o=n(97326),r=n(79340),l=n(6215),c=n(61120),u=n(4942),d=n(57588);var p=function(e){(0,r.Z)(p,e);var t,n,d=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,c.Z)(t);if(n){var s=(0,c.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,l.Z)(this,e)});function p(){var e;(0,s.Z)(this,p);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=d.call.apply(d,[this].concat(n)),(0,u.Z)((0,o.Z)(e),"toggle",(function(){e.props.onChange({target:{value:!e.props.value}})})),e}return(0,i.Z)(p,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return(0,a.Z)("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,this.getIcon()),(0,a.Z)("span",{className:"btn-text"},void 0,this.getLabel()))}}]),p}(n.n(d)().Component)},32233:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var a=n(15671),s=n(43144),i=(n(58294),n(95377),n(68852),n(39737),n(14316),n(43204),n(43511),n(7023),n(54116),function(){function e(t){(0,a.Z)(this,e),this.isOrdered=!1,this._items=t||[]}return(0,s.Z)(e,[{key:"add",value:function(e,t,n){this._items.push({key:e,item:t,after:n&&n.after||null,before:n&&n.before||null})}},{key:"get",value:function(e,t){for(var n=0;n<this._items.length;n++)if(this._items[n].key===e)return this._items[n].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function(){for(var e=[],t=0;t<this._items.length;t++)e.push(this._items[t].item);return e}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||void 0===e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){var t=[];e.forEach((function(e){t.push(e.key)}));var n=[],a=[];function s(e){var t=-1;-1===a.indexOf(e.key)&&(e.after?-1!==(t=a.indexOf(e.after))&&(t+=1):e.before&&(t=a.indexOf(e.before)),-1!==t&&(n.splice(t,0,e),a.splice(t,0,e.key)))}e.forEach((function(e){e.after||e.before||(n.push(e),a.push(e.key))})),e.forEach((function(e){"_end"===e.before&&(n.push(e),a.push(e.key))}));for(var i=200;i>0&&t.length!==a.length;)i-=1,e.forEach(s);return n}}]),e}()),o=new(function(){function e(){(0,a.Z)(this,e),this._initializers=[],this._context={}}return(0,s.Z)(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e,new i(this._initializers).orderedValues().forEach((function(e){e(t)}))}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}());window.misago=o;var r=o},58339:function(e,t,n){"use strict";var a=n(32233),s=n(78657);a.Z.addInitializer({name:"ajax",initializer:function(){s.Z.init(a.Z.get("CSRF_COOKIE_NAME"))}})},64109:function(e,t,n){"use strict";var a=n(32233),s=n(35486),i=n(78657),o=n(53904),r=n(90287);a.Z.addInitializer({name:"auth-sync",initializer:function(e){e.get("isAuthenticated")&&window.setInterval((function(){i.Z.get(e.get("AUTH_API")).then((function(e){r.Z.dispatch((0,s.r$)(e))}),(function(e){o.Z.apiError(e)}))}),45e3)},after:"auth"})},46226:function(e,t,n){"use strict";var a=n(32233),s=n(98274),i=n(59801),o=n(90287),r=n(62833);a.Z.addInitializer({name:"auth",initializer:function(){s.Z.init(o.Z,r.Z,i.Z)},after:"store"})},93240:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(93825),o=n(96142),r=n(53904);a.Z.addInitializer({name:"captcha",initializer:function(e){i.ZP.init(e,s.Z,o.Z,r.Z)}})},75147:function(e,t,n){"use strict";var a=n(22928),s=n(57588),i=n.n(s),o=n(32233),r=n(15671),l=n(43144),c=n(97326),u=n(79340),d=n(6215),p=n(61120),h=n(4942),f=n(78657);var v=function(e){(0,u.Z)(i,e);var t,n,s=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function i(e){var t;return(0,r.Z)(this,i),t=s.call(this,e),(0,h.Z)((0,c.Z)(t),"handleDecline",(function(){t.state.submiting||window.confirm(gettext("Declining will result in immediate deactivation and deletion of your account. This action is not reversible."))&&(t.setState({submiting:!0}),f.Z.post(t.props.api,{accept:!1}).then((function(){window.location.reload(!0)})))})),(0,h.Z)((0,c.Z)(t),"handleAccept",(function(){t.state.submiting||(t.setState({submiting:!0}),f.Z.post(t.props.api,{accept:!0}).then((function(){window.location.reload(!0)})))})),t.state={submiting:!1},t}return(0,l.Z)(i,[{key:"render",value:function(){return(0,a.Z)("div",{},void 0,(0,a.Z)("button",{className:"btn btn-default",disabled:this.state.submiting,type:"buton",onClick:this.handleDecline},void 0,gettext("Decline")),(0,a.Z)("button",{className:"btn btn-primary",disabled:this.state.submiting,type:"buton",onClick:this.handleAccept},void 0,gettext("Accept and continue")))}}]),i}(i().Component),m=n(4869);o.Z.addInitializer({name:"component:accept-agreement",initializer:function(e){document.getElementById("required-agreement-mount")&&(0,m.Z)((0,a.Z)(v,{api:e.get("REQUIRED_AGREEMENT_API")}),"required-agreement-mount",!1)},after:"store"})},4894:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588);var p=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"render",value:function(){var e="auth-message";return(this.props.signedIn||this.props.signedOut)&&(e+=" show"),(0,i.Z)("div",{className:e},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.getMessage()),(0,i.Z)("p",{},void 0,(0,i.Z)("button",{className:"btn btn-default",type:"button",onClick:this.refresh},void 0,gettext("Reload page")),(0,i.Z)("span",{className:"hidden-xs hidden-sm"},void 0," "+gettext("or press F5 key.")))))}}]),s}(n.n(d)().Component);function h(e){return{user:e.auth.user,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}var f=n(4869);s.Z.addInitializer({name:"component:auth-message",initializer:function(){(0,f.Z)((0,a.$j)(h)(p),"auth-message-mount")},after:"store"})},29223:function(e,t,n){"use strict";var a=n(32233),s=n(93051);a.Z.addInitializer({name:"component:banmed-page",initializer:function(e){e.has("BAN_MESSAGE")&&(0,s.Z)(e.get("BAN_MESSAGE"),!1)},after:"store"})},3026:function(e,t,n){"use strict";var a=n(37424),s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(30381),h=n.n(p),f=n(57588),v=n.n(f);function m(e){return(0,s.Z)("div",{className:"categories-list"},void 0,(0,s.Z)("ul",{className:"list-group"},void 0,(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("No categories exist or you don't have permission to see them.")))))}function Z(e){var t=e.category;return t.description?(0,s.Z)("div",{className:"category-description",dangerouslySetInnerHTML:{__html:t.description.html}}):null}function g(e){var t=e.category;return(0,s.Z)("div",{className:b(t),title:y(t)},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return e.is_closed?e.is_read?"lock_outline":"lock":e.is_read?"chat_bubble_outline":"chat_bubble"}(t)))}function b(e){return e.is_read?"read-status item-read":"read-status item-new"}function y(e){return e.is_closed?e.is_read?gettext("This category has no new posts. (closed)"):gettext("This category has new posts. (closed)"):e.is_read?gettext("This category has no new posts."):gettext("This category has new posts.")}function _(e){var t=e.category;return(0,s.Z)("div",{className:"col-xs-12 col-sm-6 col-md-6 category-main"},void 0,(0,s.Z)("div",{className:"media"},void 0,(0,s.Z)("div",{className:"media-left"},void 0,(0,s.Z)(g,{category:t})),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("h4",{className:"media-heading"},void 0,(0,s.Z)("a",{href:t.url.index},void 0,t.name)),(0,s.Z)(Z,{category:t}))))}var N,k,x,w=n(19605);function R(e){var t=e.category;return(0,s.Z)("div",{className:"col-xs-12 col-sm-6 col-md-4 category-last-thread"},void 0,(0,s.Z)(C,{category:t}),(0,s.Z)(L,{category:t}),(0,s.Z)(P,{category:t}),(0,s.Z)(O,{category:t}))}function C(e){var t=e.category;return t.acl.can_browse&&t.acl.can_see_all_threads&&t.last_thread_title?(0,s.Z)("div",{className:"media"},void 0,(0,s.Z)("div",{className:"media-left hidden-xs"},void 0,(0,s.Z)(E,{category:t})),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("div",{className:"media-heading"},void 0,(0,s.Z)("a",{className:"item-title thread-title",href:t.url.last_thread_new,title:t.last_thread_title},void 0,t.last_thread_title)),(0,s.Z)("ul",{className:"list-inline"},void 0,(0,s.Z)("li",{className:"category-last-thread-poster"},void 0,(0,s.Z)(S,{category:t})),N||(N=(0,s.Z)("li",{className:"divider"},void 0,"—")),(0,s.Z)("li",{className:"category-last-thread-date"},void 0,(0,s.Z)("a",{href:t.url.last_post},void 0,t.last_post_on.fromNow()))))):null}function E(e){var t=e.category;return t.last_poster?(0,s.Z)("a",{className:"last-poster-avatar",href:t.last_poster.url,title:t.last_poster_name},void 0,(0,s.Z)(w.ZP,{className:"media-object",size:40,user:t.last_poster})):(0,s.Z)("span",{className:"last-poster-avatar",title:t.last_poster_name},void 0,k||(k=(0,s.Z)(w.ZP,{className:"media-object",size:40})))}function S(e){var t=e.category;return t.last_poster?(0,s.Z)("a",{className:"item-title",href:t.last_poster.url},void 0,t.last_poster_name):(0,s.Z)("span",{className:"item-title"},void 0,t.last_poster_name)}function L(e){var t=e.category;return t.acl.can_browse&&t.acl.can_see_all_threads?t.last_thread_title?null:(0,s.Z)(T,{message:gettext("This category is empty. No threads were posted within it so far.")}):null}function P(e){var t=e.category;return t.acl.can_browse?t.acl.can_see_all_threads?null:(0,s.Z)(T,{message:gettext("This category is private. You can see only your own threads within it.")}):null}function O(e){return e.category.acl.can_browse?null:(0,s.Z)(T,{message:gettext("This category is protected. You can't browse its contents.")})}function T(e){var t=e.message;return(0,s.Z)("div",{className:"media category-thread-message"},void 0,x||(x=(0,s.Z)("div",{className:"media-left"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"media-body"},void 0,(0,s.Z)("p",{},void 0,t)))}function A(e){var t=e.category;return(0,s.Z)("div",{className:"col-md-2 hidden-xs hidden-sm"},void 0,(0,s.Z)("ul",{className:"list-unstyled category-stats"},void 0,(0,s.Z)(B,{threads:t.threads}),(0,s.Z)(I,{posts:t.posts})))}function B(e){var t=e.threads,n=ngettext("%(threads)s thread","%(threads)s threads",t);return(0,s.Z)("li",{className:"category-stat-threads"},void 0,interpolate(n,{threads:t},!0))}function I(e){var t=e.posts,n=ngettext("%(posts)s post","%(posts)s posts",t);return(0,s.Z)("li",{className:"category-stat-posts"},void 0,interpolate(n,{posts:t},!0))}function j(e){var t=e.category,n="btn btn-default btn-block btn-sm btn-subcategory";return t.is_read||(n+=" btn-subcategory-new"),(0,s.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3"},void 0,(0,s.Z)("a",{className:n,href:t.url.index},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return e.is_closed?e.is_read?"lock_outline":"lock":e.is_read?"chat_bubble_outline":"chat_bubble"}(t)),(0,s.Z)("span",{className:"icon-text"},void 0,t.name)))}function D(e){var t=e.category;return e.isFirst||0===t.subcategories.length?null:(0,s.Z)("div",{className:"row subcategories-list"},void 0,t.subcategories.map((function(e){return(0,s.Z)(j,{category:e},e.id)})))}function M(e){var t=e.category,n=e.isFirst,a="list-group-item";return t.description?a+=" list-group-category-has-description":a+=" list-group-category-no-description",n&&(a+=" list-group-item-first"),t.css_class&&(a+=" list-group-category-has-flavor",a+=" list-group-item-category-"+t.css_class),(0,s.Z)("li",{className:a},void 0,(0,s.Z)("div",{className:"row"},void 0,(0,s.Z)(_,{category:t}),(0,s.Z)(A,{category:t}),(0,s.Z)(R,{category:t})),(0,s.Z)(D,{category:t,isFirst:n}))}function U(e){var t=e.category,n="list-group list-group-category";return t.css_class&&(n+=" list-group-category-has-flavor",n+=" list-group-category-"+t.css_class),(0,s.Z)("ul",{className:n},void 0,(0,s.Z)(M,{category:t,isFirst:!0}),t.subcategories.map((function(e){return(0,s.Z)(M,{category:e,isFirst:!1},e.id)})))}function z(e){var t=e.categories;return(0,s.Z)("div",{className:"categories-list"},void 0,t.map((function(e){return(0,s.Z)(U,{category:e},e.id)})))}var H,F=n(32233),q=n(55547);var Y=function e(t){return Object.assign({},t,{last_post_on:t.last_post_on?h()(t.last_post_on):null,subcategories:t.subcategories.map(e)})},V=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;return(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"update",(function(e){t.setState({categories:e.map(Y)})})),t.state={categories:F.Z.get("CATEGORIES").map(Y)},t.startPolling(F.Z.get("CATEGORIES_API")),t}return(0,o.Z)(p,[{key:"startPolling",value:function(e){q.Z.start({poll:"categories",url:e,frequency:18e4,update:this.update})}},{key:"render",value:function(){var e=this.state.categories;return 0===e.length?H||(H=(0,s.Z)(m,{})):(0,s.Z)(z,{categories:e})}}]),p}(v().Component);function $(e){return{tick:e.tick.tick}}var G=n(4869);F.Z.addInitializer({name:"component:categories",initializer:function(){document.getElementById("categories-mount")&&(0,G.Z)((0,a.$j)($)(V),"categories-mount")},after:"store"})},94795:function(e,t,n){"use strict";var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(37424),p=n(69987),h=n(94417);function f(e){return(0,a.Z)("div",{className:"list-group nav-side"},void 0,e.options.map((function(t){return(0,a.Z)(p.rU,{to:e.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active"},t.component,(0,a.Z)("span",{className:"material-icon"},void 0,t.icon),t.name)})))}function v(e){return(0,a.Z)("ul",{className:e.className||"dropdown-menu",role:"menu"},void 0,e.options.map((function(t){return(0,a.Z)(h.Z,{path:e.baseUrl+t.component+"/"},t.component,(0,a.Z)(p.rU,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},void 0,(0,a.Z)("span",{className:"material-icon hidden-sm"},void 0,t.icon),t.name))})))}var m,Z=n(97326),g=n(4942),b=n(82211),y=n(78657),_=n(53328),N=n(53904),k=n(90287),x=n(32233);var w=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,g.Z)((0,Z.Z)(t),"onPasswordChange",(function(e){t.setState({password:e.target.value})})),(0,g.Z)((0,Z.Z)(t),"handleSubmit",(function(e){e.preventDefault();var n=t.state,a=n.isLoading,s=n.password,i=t.props.user;return 0==s.length?(N.Z.error(gettext("Enter your password to confirm account deletion.")),!1):!a&&(t.setState({isLoading:!0}),void y.Z.post(i.api.delete,{password:s}).then((function(e){window.location.href=x.Z.get("MISAGO_PATH")}),(function(e){t.setState({isLoading:!1}),e.password?N.Z.error(e.password[0]):N.Z.apiError(e)})))})),t.state={isLoading:!1,password:""},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Delete account"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-danger panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Delete account"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("You are going to delete your account. This action is nonreversible, and will result in following data being deleted:")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Stored IP addresses associated with content that you have posted will be deleted.")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Your username will become available for other user to rename to or for new user to register their account with.")),(0,a.Z)("p",{},void 0,"-"," ",gettext("Your e-mail will become available for use in new account registration.")),m||(m=(0,a.Z)("hr",{})),(0,a.Z)("p",{},void 0,gettext("All your posted content will NOT be deleted, but username associated with it will be changed to one shared by all deleted accounts."))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)("div",{className:"input-group"},void 0,(0,a.Z)("input",{className:"form-control",disabled:this.state.isLoading,name:"password-confirmation",type:"password",placeholder:gettext("Enter your password to confirm account deletion."),value:this.state.password,onChange:this.onPasswordChange}),(0,a.Z)("span",{className:"input-group-btn"},void 0,(0,a.Z)(b.Z,{className:"btn-danger",loading:this.state.isLoading},void 0,gettext("Delete my account")))))))}}]),u}(u().Component),R=n(21688);var C=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e=c.call.apply(c,[this].concat(n)),(0,g.Z)((0,Z.Z)(e),"onSuccess",(function(){N.Z.info(gettext("Your details have been updated."))})),e}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Edit details"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)(R.Z,{api:this.props.user.api.edit_details,onSuccess:this.onSuccess})}}]),u}(u().Component),E=n(30381),S=n.n(E);var L=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,g.Z)((0,Z.Z)(t),"handleLoadDownloads",(function(){y.Z.get(t.props.user.api.data_downloads).then((function(e){t.setState({isLoading:!1,downloads:e})}),(function(e){N.Z.apiError(e)}))})),(0,g.Z)((0,Z.Z)(t),"handleRequestDataDownload",(function(){t.setState({isSubmiting:!0}),y.Z.post(t.props.user.api.request_data_download).then((function(){t.handleLoadDownloads(),N.Z.success(gettext("Your request for data download has been registered.")),t.setState({isSubmiting:!1})}),(function(e){console.log(e),N.Z.apiError(e),t.setState({isSubmiting:!1})}))})),t.state={isLoading:!1,isSubmiting:!1,downloads:[]},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Download your data"),parent:gettext("Change your options")}),this.handleLoadDownloads()}},{key:"render",value:function(){return(0,a.Z)("div",{},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Download your data"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("p",{},void 0,gettext('To download your data from the site, click the "Request data download" button. Depending on amount of data to be archived and number of users wanting to download their data at same time it may take up to few days for your download to be prepared. An e-mail with notification will be sent to you when your data is ready to be downloaded.')),(0,a.Z)("p",{},void 0,gettext("The download will only be available for limited amount of time, after which it will be deleted from the site and marked as expired."))),(0,a.Z)("table",{className:"table"},void 0,(0,a.Z)("thead",{},void 0,(0,a.Z)("tr",{},void 0,(0,a.Z)("th",{},void 0,gettext("Requested on")),(0,a.Z)("th",{className:"col-md-4"},void 0,gettext("Download")))),(0,a.Z)("tbody",{},void 0,this.state.downloads.map((function(e){return(0,a.Z)("tr",{},e.id,(0,a.Z)("td",{style:P},void 0,S()(e.requested_on).fromNow()),(0,a.Z)("td",{},void 0,(0,a.Z)(O,{exportFile:e.file,status:e.status})))})),0==this.state.downloads.length?(0,a.Z)("tr",{},void 0,(0,a.Z)("td",{colSpan:"2"},void 0,gettext("You have no data downloads."))):null)),(0,a.Z)("div",{className:"panel-footer text-right"},void 0,(0,a.Z)(b.Z,{className:"btn-primary",loading:this.state.isSubmiting,type:"button",onClick:this.handleRequestDataDownload},void 0,gettext("Request data download")))))}}]),u}(u().Component),P={verticalAlign:"middle"},O=function(e){var t=e.exportFile,n=e.status;return 0===n||1===n?(0,a.Z)(b.Z,{className:"btn-info btn-sm btn-block",disabled:!0,type:"button"},void 0,gettext("Download is being prepared")):t?(0,a.Z)("a",{className:"btn btn-success btn-sm btn-block",href:t},void 0,gettext("Download your data")):(0,a.Z)(b.Z,{className:"btn-default btn-sm btn-block",disabled:!0,type:"button"},void 0,gettext("Download is expired"))},T=n(43345),A=n(96359),B=n(60471),I=n(7227),j=n(35486);var D,M=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},t.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],t.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],t}return(0,i.Z)(u,[{key:"send",value:function(){return y.Z.post(this.props.user.api.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){k.Z.dispatch((0,j.r$)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),N.Z.success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?N.Z.error(gettext("Please reload page and try again.")):N.Z.apiError(e)}},{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change forum options"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,gettext("Privacy settings")),(0,a.Z)(A.Z,{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),for:"id_is_hiding_presence"},void 0,(0,a.Z)(I.Z,{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),(0,a.Z)(A.Z,{label:gettext("Private thread invitations"),for:"id_limits_private_thread_invites_to"},void 0,(0,a.Z)(B.Z,{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),(0,a.Z)("fieldset",{},void 0,(0,a.Z)("legend",{},void 0,gettext("Automatic subscriptions")),(0,a.Z)(A.Z,{label:gettext("Threads I start"),for:"id_subscribe_to_started_threads"},void 0,(0,a.Z)(B.Z,{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),(0,a.Z)(A.Z,{label:gettext("Threads I reply to"),for:"id_subscribe_to_replied_threads"},void 0,(0,a.Z)(B.Z,{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(b.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes")))))}}]),u}(T.Z),U=n(95187);function z(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),D||(D=(0,a.Z)(U.Z,{})))}var H=n(33556);var F=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),(0,a.Z)(H.Z,{helpText:this.getHelpText(),message:gettext("You can't change your username at the moment.")}))}}]),u}(u().Component),q=n(55210);var Y,V=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={username:"",validators:{username:[q.lG(),q.HR(e.options.length_min),q.gS(e.options.length_max)]},isLoading:!1},t}return(0,i.Z)(u,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var n=ngettext("Used changes become available again after %(name_changes_expire)s day.","Used changes become available again after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(n,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(N.Z.error(e.username[0]),!1):this.state.username.trim()!==this.props.user.username||(N.Z.info(gettext("Your new username is same as current one.")),!1)}},{key:"send",value:function(){return y.Z.post(this.props.user.api.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){N.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change username"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(A.Z,{label:gettext("New username"),for:"id_username",helpText:this.getHelpText()},void 0,(0,a.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(b.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change username")))))}}]),u}(T.Z),$=n(7850),G=n(48927),W=n(6935);var K,J=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,g.Z)((0,Z.Z)(t),"onComplete",(function(e,n,a){t.setState({options:a}),k.Z.dispatch((0,G.KP)({username:e,slug:n},t.props.user,t.props.user)),k.Z.dispatch((0,W._S)(t.props.user,e,n)),N.Z.success(gettext("Your username has been changed successfully."))})),t.state={isLoaded:!1,options:null},t}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){var e=this;_.Z.set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([y.Z.get(this.props.user.api.username),y.Z.get(x.Z.get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then((function(t){k.Z.dispatch((0,G.ZB)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?S()(t[0].next_on):null}})}))}},{key:"getChangeForm",value:function(){return this.state.isLoaded?0===this.state.options.changes_left?(0,a.Z)(F,{options:this.state.options}):(0,a.Z)(V,{complete:this.onComplete,options:this.state.options,user:this.props.user}):Y||(Y=(0,a.Z)(z,{}))}},{key:"render",value:function(){return(0,a.Z)("div",{},void 0,this.getChangeForm(),(0,a.Z)($.Z,{changes:this.props["username-history"],isLoaded:this.state.isLoaded}))}}]),u}(u().Component);var Q,X=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={new_email:"",password:"",validators:{new_email:[q.Do()],password:[]},isLoading:!1},t}return(0,i.Z)(u,[{key:"clean",value:function(){var e=this.validate();return-1!==[this.state.new_email.trim().length,this.state.password.trim().length].indexOf(0)?(N.Z.error(gettext("Fill out all fields.")),!1):!e.new_email||(N.Z.error(e.new_email[0]),!1)}},{key:"send",value:function(){return y.Z.post(this.props.user.api.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),N.Z.success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?N.Z.error(e.new_email):N.Z.error(e.password):N.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("input",{type:"type",style:{display:"none"}}),(0,a.Z)("input",{type:"password",style:{display:"none"}}),(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change e-mail address"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(A.Z,{label:gettext("New e-mail"),for:"id_new_email"},void 0,(0,a.Z)("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),K||(K=(0,a.Z)("hr",{})),(0,a.Z)(A.Z,{label:gettext("Your current password"),for:"id_confirm_email"},void 0,(0,a.Z)("input",{type:"password",id:"id_confirm_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(b.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change e-mail")))))}}]),u}(T.Z);var ee,te,ne,ae=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),(t=c.call(this,e)).state={new_password:"",repeat_password:"",password:"",validators:{new_password:[],repeat_password:[],password:[]},isLoading:!1},t}return(0,i.Z)(u,[{key:"clean",value:function(){var e=this.validate();return-1!==[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length].indexOf(0)?(N.Z.error(gettext("Fill out all fields.")),!1):e.new_password?(N.Z.error(e.new_password[0]),!1):this.state.new_password===this.state.repeat_password||(N.Z.error(gettext("New passwords are different.")),!1)}},{key:"send",value:function(){return y.Z.post(this.props.user.api.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),N.Z.success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?N.Z.error(e.new_password):N.Z.error(e.password):N.Z.apiError(e)}},{key:"render",value:function(){return(0,a.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,a.Z)("input",{type:"type",style:{display:"none"}}),(0,a.Z)("input",{type:"password",style:{display:"none"}}),(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change password"))),(0,a.Z)("div",{className:"panel-body"},void 0,(0,a.Z)(A.Z,{label:gettext("New password"),for:"id_new_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),(0,a.Z)(A.Z,{label:gettext("Repeat password"),for:"id_repeat_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),Q||(Q=(0,a.Z)("hr",{})),(0,a.Z)(A.Z,{label:gettext("Your current password"),for:"id_confirm_password"},void 0,(0,a.Z)("input",{type:"password",id:"id_confirm_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,a.Z)("div",{className:"panel-footer"},void 0,(0,a.Z)(b.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change password")))))}}]),u}(T.Z),se=function(){return(0,a.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,a.Z)("div",{className:"panel-heading"},void 0,(0,a.Z)("h3",{className:"panel-title"},void 0,gettext("Change email or password"))),(0,a.Z)("div",{className:"panel-body panel-message-body"},void 0,ee||(ee=(0,a.Z)("div",{className:"message-icon"},void 0,(0,a.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,a.Z)("div",{className:"message-body"},void 0,(0,a.Z)("p",{className:"lead"},void 0,gettext("You need to set a password for your account to be able to change your username or email.")),(0,a.Z)("p",{className:"help-block"},void 0,(0,a.Z)("a",{className:"btn btn-primary",href:x.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Set password"))))))};var ie,oe,re=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return this.props.user.has_usable_password?(0,a.Z)("div",{},void 0,(0,a.Z)(X,{user:this.props.user}),(0,a.Z)(ae,{user:this.props.user}),(0,a.Z)("p",{className:"message-line"},void 0,ne||(ne=(0,a.Z)("span",{className:"material-icon"},void 0,"warning")),(0,a.Z)("a",{href:x.Z.get("FORGOTTEN_PASSWORD_URL")},void 0,gettext("Change forgotten password")))):te||(te=(0,a.Z)(se,{}))}}]),u}(u().Component),le=n(82125),ce=n(98936),ue=n(59131),de=n(99755);var pe=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"page page-options"},void 0,(0,a.Z)(de.sP,{},void 0,(0,a.Z)(de.mr,{styleName:"options"},void 0,(0,a.Z)(de.gC,{styleName:"options"},void 0,(0,a.Z)(ce.gq,{},void 0,(0,a.Z)(ce.kw,{auto:!0},void 0,(0,a.Z)(ce.Z6,{auto:!0},void 0,(0,a.Z)("h1",{},void 0,gettext("Change your options"))),(0,a.Z)(ce.Z6,{className:"hidden-xs hidden-md hidden-lg",shrink:!0},void 0,(0,a.Z)("div",{className:"dropdown"},void 0,(0,a.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Menu"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,ie||(ie=(0,a.Z)("span",{className:"material-icon"},void 0,"menu"))),(0,a.Z)(v,{className:"dropdown-menu dropdown-menu-right",baseUrl:x.Z.get("USERCP_URL"),options:x.Z.get("USER_OPTIONS")})))),(0,a.Z)(ce.kw,{className:"hidden-sm hidden-md hidden-lg"},void 0,(0,a.Z)(ce.Z6,{},void 0,(0,a.Z)("div",{className:"dropdown"},void 0,(0,a.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-block dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,oe||(oe=(0,a.Z)("span",{className:"material-icon"},void 0,"menu")),gettext("Menu")),(0,a.Z)(v,{className:"dropdown-menu",baseUrl:x.Z.get("USERCP_URL"),options:x.Z.get("USER_OPTIONS")})))))))),(0,a.Z)(ue.Z,{},void 0,(0,a.Z)("div",{className:"row"},void 0,(0,a.Z)("div",{className:"col-md-3 hidden-xs hidden-sm"},void 0,(0,a.Z)(f,{baseUrl:x.Z.get("USERCP_URL"),options:x.Z.get("USER_OPTIONS")})),(0,a.Z)("div",{className:"col-md-9"},void 0,this.props.children))))}}]),u}(le.Z);function he(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function fe(){var e=[{path:x.Z.get("USERCP_URL")+"forum-options/",component:(0,d.$j)(he)(M)},{path:x.Z.get("USERCP_URL")+"edit-details/",component:(0,d.$j)(he)(C)},{path:x.Z.get("USERCP_URL")+"change-username/",component:(0,d.$j)(he)(J)},{path:x.Z.get("USERCP_URL")+"sign-in-credentials/",component:(0,d.$j)(he)(re)}];return x.Z.get("ENABLE_DOWNLOAD_OWN_DATA")&&e.push({path:x.Z.get("USERCP_URL")+"download-data/",component:(0,d.$j)(he)(L)}),x.Z.get("ENABLE_DELETE_OWN_ACCOUNT")&&e.push({path:x.Z.get("USERCP_URL")+"delete-account/",component:(0,d.$j)(he)(w)}),e}var ve=n(39633);x.Z.addInitializer({name:"component:options",initializer:function(e){e.has("USER_OPTIONS")&&(0,ve.Z)({root:x.Z.get("USERCP_URL"),component:pe,paths:fe()})},after:"store"})},95862:function(e,t,n){"use strict";var a,s=n(37424),i=n(22928),o=n(15671),r=n(43144),l=n(97326),c=n(79340),u=n(6215),d=n(61120),p=n(4942),h=n(57588),f=n.n(h),v=n(30381),m=n.n(v),Z=n(95187),g=n(33556),b=n(32233),y=n(55547),_=n(53328);var N=function(e){(0,c.Z)(h,e);var t,n,s=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function h(e){var t;return(0,o.Z)(this,h),t=s.call(this,e),(0,p.Z)((0,l.Z)(t),"update",(function(e){e.expires_on&&(e.expires_on=m()(e.expires_on)),t.setState({isLoaded:!0,error:null,ban:e})})),(0,p.Z)((0,l.Z)(t),"error",(function(e){t.setState({isLoaded:!0,error:e.detail,ban:null})})),b.Z.has("PROFILE_BAN")?t.initWithPreloadedData(b.Z.pop("PROFILE_BAN")):t.initWithoutPreloadedData(),t.startPolling(e.profile.api.ban),t}return(0,r.Z)(h,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=m()(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){y.Z.start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){y.Z.stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?(0,i.Z)("div",{className:"panel-body ban-message ban-user-message"},void 0,(0,i.Z)("h4",{},void 0,gettext("User-shown ban message")),(0,i.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?(0,i.Z)("div",{className:"panel-body ban-message ban-staff-message"},void 0,(0,i.Z)("h4",{},void 0,gettext("Team-shown ban message")),(0,i.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter(m()())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return(0,i.Z)("abbr",{title:e},void 0,t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?(0,i.Z)("div",{},void 0,this.getUserMessage(),this.getStaffMessage(),(0,i.Z)("div",{className:"panel-body ban-expires"},void 0,(0,i.Z)("h4",{},void 0,gettext("Ban expiration")),(0,i.Z)("p",{className:"lead"},void 0,this.getExpirationMessage()))):(0,i.Z)("div",{},void 0,(0,i.Z)(g.Z,{message:gettext("No ban is active at the moment.")})):this.state.error?(0,i.Z)("div",{},void 0,(0,i.Z)(g.Z,{icon:"error_outline",message:this.state.error})):a||(a=(0,i.Z)("div",{},void 0,(0,i.Z)(Z.Z,{})))}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-ban-details"},void 0,(0,i.Z)("div",{className:"panel panel-default"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Ban details"))),this.getPanelBody()))}}]),h}(f().Component),k=n(21688);function x(e){var t=e.api,n=e.display,a=e.onCancel,s=e.onSuccess;return n?(0,i.Z)(k.Z,{api:t,onCancel:a,onSuccess:s}):null}function w(e){var t,n=e.isAuthenticated,a=e.profile;return t=n?gettext("You are not sharing any details with others."):interpolate(gettext("%(username)s is not sharing any details with others."),{username:a.username},!0),(0,i.Z)("div",{className:"panel panel-default"},void 0,(0,i.Z)("div",{className:"panel-body text-center lead"},void 0,t))}function R(e){var t=e.html,n=e.text,a=e.url;return t?(0,i.Z)("div",{className:"form-control-static col-md-9",dangerouslySetInnerHTML:{__html:t}}):(0,i.Z)("div",{className:"form-control-static col-md-9"},void 0,(0,i.Z)(C,{text:n,url:a}))}function C(e){var t=e.text,n=e.url;return n?(0,i.Z)("p",{},void 0,(0,i.Z)("a",{href:n,target:"_blank",rel:"nofollow"},void 0,t||n)):t?(0,i.Z)("p",{},void 0,t):null}function E(e){return(0,i.Z)("div",{className:"form-group"},void 0,(0,i.Z)("strong",{className:"control-label col-md-3"},void 0,e.name,":"),f().createElement(R,e))}function S(e){var t=e.fields,n=e.name;return(0,i.Z)("div",{className:"panel panel-default panel-profile-details-group"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,n)),(0,i.Z)("div",{className:"panel-body"},void 0,(0,i.Z)("div",{className:"form-horizontal"},void 0,t.map((function(e){var t=e.fieldname,n=e.html,a=e.name,s=e.text,o=e.url;return(0,i.Z)(E,{name:a,html:n,text:s,url:o},t)})))))}var L,P=n(37848);function O(e){var t=e.display,n=e.groups,a=e.isAuthenticated,s=e.loading,o=e.profile;return t?s?L||(L=(0,i.Z)(P.Z,{})):n.length?(0,i.Z)("div",{},void 0,n.map((function(e,t){return(0,i.Z)(S,{fields:e.fields,name:e.name},t)}))):(0,i.Z)(w,{isAuthenticated:a,profile:o}):null}var T=n(92490),A=function(e){var t=e.onEdit,n=e.showEditButton;return(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,gettext("Details")))),n&&(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)("button",{className:"btn btn-default btn-outline btn-block",onClick:t,type:"button"},void 0,gettext("Edit")))))},B=n(58598),I=n(78657),j=n(53904);var D=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this.props,t=e.data,n=e.dispatch,a=e.user;t&&t.id===a.id||I.Z.get(this.props.user.api.details).then((function(e){n((0,B.zD)(e))}),(function(e){j.Z.apiError(e)}))}},{key:"render",value:function(){return this.props.children}}]),s}(f().Component);var M=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"onCancel",(function(){t.setState({editing:!1})})),(0,p.Z)((0,l.Z)(t),"onEdit",(function(){t.setState({editing:!0})})),(0,p.Z)((0,l.Z)(t),"onSuccess",(function(e){var n,a=t.props,s=a.dispatch,i=a.isAuthenticated,o=a.profile;n=i?gettext("Your details have been updated."):interpolate(gettext("%(username)s's details have been updated."),{username:o.username},!0),j.Z.info(n),s((0,B.zD)(e)),t.setState({editing:!1})})),t.state={editing:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Details"),parent:this.props.profile.username})}},{key:"render",value:function(){var e=this.props,t=e.dispatch,n=e.isAuthenticated,a=e.profile,s=e.profileDetails,o=s.id!==a.id;return(0,i.Z)(D,{data:s,dispatch:t,user:a},void 0,(0,i.Z)("div",{className:"profile-details"},void 0,(0,i.Z)(A,{onEdit:this.onEdit,showEditButton:!!s.edit&&!this.state.editing}),(0,i.Z)(O,{display:!this.state.editing,groups:s.groups,isAuthenticated:n,loading:o,profile:a}),(0,i.Z)(x,{api:a.api.edit_details,dispatch:t,display:this.state.editing,onCancel:this.onCancel,onSuccess:this.onSuccess})))}}]),s}(f().Component),U=n(87462),z=n(11005),H=n(82211),F=n(21981),q=n(90287);var Y,V=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isLoading:!0}),t.loadItems(t.props.posts.next)})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;I.Z.get(this.props.api,{start:t||0}).then((function(n){0===t?q.Z.dispatch(F.zD(n)):q.Z.dispatch(F.R3(n)),e.setState({isLoading:!1})}),(function(t){e.setState({isLoading:!1}),j.Z.apiError(t)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-feed"},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.props.header)))),f().createElement($,(0,U.Z)({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),s}(f().Component);function $(e){return e.posts.isLoaded&&!e.posts.results.length?(0,i.Z)("p",{className:"lead"},void 0,e.emptyMessage):(0,i.Z)("div",{},void 0,(0,i.Z)(z.Z,{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),(0,i.Z)(G,{isLoading:e.isLoading,loadMore:e.loadMore,next:e.posts.next}))}function G(e){return e.next?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},void 0,gettext("Show older activity"))):null}var W=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName()},void 0,(0,i.Z)("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),Y||(Y=(0,i.Z)("span",{className:"material-icon"},void 0,"search")))}}]),s}(f().Component),K=n(40429),J=n(6935);var Q=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadUsers(t.state.page+1,t.state.search)})),(0,p.Z)((0,l.Z)(t),"search",(function(e){t.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),t.loadUsers(1,e.target.value)})),t.setSpecialProps(),b.Z.has(t.PRELOADED_DATA_KEY)?t.initWithPreloadedData(b.Z.pop(t.PRELOADED_DATA_KEY)):t.initWithoutPreloadedData(),t}return(0,r.Z)(s,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},q.Z.dispatch((0,J.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=this.props.profile.api[this.API_FILTER];I.Z.get(a,{search:n,page:t||1},"user-"+this.API_FILTER).then((function(n){1===t?q.Z.dispatch((0,J.ZB)(n.results)):q.Z.dispatch((0,J.R3)(n.results)),e.setState({isLoaded:!0,isBusy:!1,count:n.count,more:n.more,page:n.page,pages:n.pages})}),(function(e){j.Z.apiError(e)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var n=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(n,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},void 0,interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?(0,i.Z)("p",{className:"lead"},void 0,this.getEmptyMessage()):(0,i.Z)("div",{},void 0,(0,i.Z)(K.Z,{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName()},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.getLabel()))),(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)(W,{value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})))),this.getListBody())}}]),s}(f().Component);var X=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var n=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(n,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),s}(Q),ee=n(7850),te=n(48927);var ne=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadChanges(t.state.page+1,t.state.search)})),(0,p.Z)((0,l.Z)(t),"search",(function(e){t.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),t.loadChanges(1,e.target.value)})),b.Z.has("PROFILE_NAME_HISTORY")?t.initWithPreloadedData(b.Z.pop("PROFILE_NAME_HISTORY")):t.initWithoutPreloadedData(),t}return(0,r.Z)(s,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},q.Z.dispatch((0,te.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;I.Z.get(b.Z.get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:n,page:t||1},"search-username-history").then((function(n){1===t?q.Z.dispatch((0,te.ZB)(n.results)):q.Z.dispatch((0,te.R3)(n.results)),e.setState({isLoaded:!0,isBusy:!1,count:n.count,more:n.more,page:n.page,pages:n.pages})}),(function(e){j.Z.apiError(e)}))}},{key:"componentDidMount",value:function(){_.Z.set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var n=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(n,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(H.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},void 0,interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return(0,i.Z)("div",{className:"profile-username-history"},void 0,(0,i.Z)(T.o8,{},void 0,(0,i.Z)(T.Z2,{auto:!0},void 0,(0,i.Z)(T.Eg,{auto:!0},void 0,(0,i.Z)("h3",{},void 0,this.getLabel()))),(0,i.Z)(T.Z2,{},void 0,(0,i.Z)(T.Eg,{},void 0,(0,i.Z)(W,{value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})))),(0,i.Z)(ee.Z,{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),s}(f().Component),ae=n(69987),se=(n(94417),n(27519));var ie=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"action",(function(){t.setState({isLoading:!0}),t.props.profile.is_followed?q.Z.dispatch((0,se.r$)({is_followed:!1,followers:t.props.profile.followers-1})):q.Z.dispatch((0,se.r$)({is_followed:!0,followers:t.props.profile.followers+1})),I.Z.post(t.props.profile.api.follow).then((function(e){t.setState({isLoading:!1}),q.Z.dispatch((0,se.r$)(e))}),(function(e){t.setState({isLoading:!1}),j.Z.apiError(e)}))})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return(0,i.Z)(H.Z,{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,this.getIcon()),this.getLabel())}}]),s}(f().Component);var oe,re=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{className:"list-group nav-side"},void 0,this.props.pages.map((function(t){return(0,i.Z)(ae.rU,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active"},t.component,(0,i.Z)("span",{className:"material-icon"},void 0,t.icon),t.name)})))}}]),s}(f().Component),le=n(82125),ce=n(59131),ue=n(19605),de=n(98936),pe=n(99755),he=n(27950);var fe,ve,me=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(){var e;(0,o.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,p.Z)((0,l.Z)(e),"onClick",(function(){he.Z.open({mode:"START_PRIVATE",submit:b.Z.get("PRIVATE_THREADS_API"),to:[e.props.profile]})})),e}return(0,r.Z)(s,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:(0,i.Z)("button",{className:this.props.className,onClick:this.onClick,type:"button"},void 0,oe||(oe=(0,i.Z)("span",{className:"material-icon"},void 0,"comment")),gettext("Message"))}}]),s}(f().Component),Ze=n(43345),ge=n(96359),be=n(3784),ye=n(7227),_e=n(30337);var Ne,ke,xe=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e)).state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.moderate_avatar).then((function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"clean",value:function(){return!!this.isValid()||(j.Z.error(this.validate().username[0]),!1)}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){q.Z.dispatch((0,J.n1)(this.props.profile,e.avatar_hash)),j.Z.success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(ge.Z,{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),for:"id_is_avatar_locked"},void 0,(0,i.Z)(ye.Z,{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),(0,i.Z)(ge.Z,{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),for:"id_avatar_lock_user_message"},void 0,(0,i.Z)("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),(0,i.Z)(ge.Z,{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),for:"id_avatar_lock_staff_message"},void 0,(0,i.Z)("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},void 0,gettext("Close")),(0,i.Z)(H.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(_e.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():fe||(fe=(0,i.Z)(be.Z,{}))}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,ve||(ve=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Avatar controls"))),this.getModalBody()))}}]),s}(Ze.Z),we=n(55210);var Re,Ce,Ee,Se=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e)).state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[we.lG()]}},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.moderate_username).then((function(){e.setState({isLoaded:!0})}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"clean",value:function(){return!!this.isValid()||(j.Z.error(this.validate().username[0]),!1)}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),q.Z.dispatch((0,te.KP)(e,this.props.profile,this.props.user)),q.Z.dispatch((0,J._S)(this.props.profile,e.username,e.slug)),j.Z.success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(ge.Z,{label:gettext("New username"),for:"id_username"},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,i.Z)(H.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(_e.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():Ne||(Ne=(0,i.Z)(be.Z,{}))}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,ke||(ke=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Change username"))),this.getModalBody()))}}]),s}(Ze.Z);var Le,Pe,Oe,Te=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"countdown",(function(){window.setTimeout((function(){t.state.countdown>1?(t.setState({countdown:t.state.countdown-1}),t.countdown()):t.state.confirm||t.setState({confirm:!0})}),1e3)})),t.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;I.Z.get(this.props.profile.api.delete).then((function(){e.setState({isLoaded:!0}),e.countdown()}),(function(t){e.setState({isLoaded:!0,error:t.detail})}))}},{key:"send",value:function(){return I.Z.post(this.props.profile.api.delete,{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){y.Z.stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(ge.Z,{label:gettext("User content"),for:"id_with_content"},void 0,(0,i.Z)(ye.Z,{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},void 0,gettext("Cancel")),(0,i.Z)(H.Z,{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},void 0,this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return(0,i.Z)("div",{className:"modal-body"},void 0,Re||(Re=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.state.isDeleted),(0,i.Z)("p",{},void 0,(0,i.Z)("a",{href:b.Z.get("USERS_LIST_URL")},void 0,gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?(0,i.Z)(_e.Z,{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():Ce||(Ce=(0,i.Z)(be.Z,{}))}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,Ee||(Ee=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Delete user account"))),this.getModalBody()))}}]),s}(Ze.Z),Ae=n(59801);var Be,Ie,je,De,Me,Ue=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},ze=function(e){(0,c.Z)(h,e);var t,n,a=(t=h,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function h(){var e;(0,o.Z)(this,h);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,p.Z)((0,l.Z)(e),"showAvatarDialog",(function(){Ae.Z.show((0,s.$j)(Ue)(xe))})),(0,p.Z)((0,l.Z)(e),"showRenameDialog",(function(){Ae.Z.show((0,s.$j)(Ue)(Se))})),(0,p.Z)((0,l.Z)(e),"showDeleteDialog",(function(){Ae.Z.show((0,s.$j)(Ue)(Te))})),e}return(0,r.Z)(h,[{key:"render",value:function(){var e=this.props.moderation;return(0,i.Z)("ul",{className:"dropdown-menu dropdown-menu-right",role:"menu"},void 0,!!e.avatar&&(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},void 0,Le||(Le=(0,i.Z)("span",{className:"material-icon"},void 0,"portrait")),gettext("Avatar controls"))),!!e.rename&&(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},void 0,Pe||(Pe=(0,i.Z)("span",{className:"material-icon"},void 0,"credit_card")),gettext("Change username"))),!!e.delete&&(0,i.Z)("li",{},void 0,(0,i.Z)("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},void 0,Oe||(Oe=(0,i.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete account"))))}}]),h}(f().Component),He=n(24678),Fe=function(e){var t=e.profile;return(0,i.Z)("ul",{className:"profile-data-list"},void 0,!1===t.is_active&&(0,i.Z)("li",{className:"user-account-disabled"},void 0,(0,i.Z)("abbr",{title:gettext("This user's account has been disabled by administrator.")},void 0,gettext("Account disabled"))),(0,i.Z)("li",{className:"user-status-display"},void 0,(0,i.Z)(He.ZP,{user:t,status:t.status},void 0,(0,i.Z)(He.Jj,{user:t,status:t.status}),(0,i.Z)(He.pg,{user:t,status:t.status,className:"status-label"}))),t.rank.is_tab?(0,i.Z)("li",{className:"user-rank"},void 0,(0,i.Z)("a",{href:t.rank.url,className:"item-title"},void 0,t.rank.name)):(0,i.Z)("li",{className:"user-rank"},void 0,(0,i.Z)("span",{className:"item-title"},void 0,t.rank.name)),(t.title||t.rank.title)&&(0,i.Z)("li",{className:"user-title"},void 0,t.title||t.rank.title),(0,i.Z)("li",{className:"user-joined-on"},void 0,(0,i.Z)("abbr",{title:interpolate(gettext("Joined on %(joined_on)s"),{joined_on:t.joined_on.format("LL, LT")},!0)},void 0,interpolate(gettext("Joined %(joined_on)s"),{joined_on:t.joined_on.fromNow()},!0))),t.email&&(0,i.Z)("li",{className:"user-email"},void 0,(0,i.Z)("a",{href:"mailto:"+t.email,className:"item-title"},void 0,t.email)))},qe=function(){return(0,i.Z)("button",{className:"btn btn-default btn-icon btn-outline dropdown-toggle",type:"button",title:gettext("Options"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,Me||(Me=(0,i.Z)("span",{className:"material-icon"},void 0,"settings")))},Ye=function(e){var t=e.profile,n=e.user,a=e.moderation,s=e.message,o=e.follow;return(0,i.Z)(pe.sP,{},void 0,(0,i.Z)(pe.mr,{styleName:t.rank.css_class?"rank-"+t.rank.css_class:"profile"},void 0,(0,i.Z)(pe.gC,{styleName:t.rank.css_class?"rank-"+t.rank.css_class:"profile"},void 0,(0,i.Z)("div",{className:"profile-page-header"},void 0,(0,i.Z)("div",{className:"profile-page-header-avatar"},void 0,(0,i.Z)(ue.ZP,{className:"user-avatar hidden-sm hidden-md hidden-lg",user:t,size:200,size2x:400}),(0,i.Z)(ue.ZP,{className:"user-avatar hidden-xs hidden-md hidden-lg",user:t,size:64,size2x:128}),(0,i.Z)(ue.ZP,{className:"user-avatar hidden-xs hidden-sm",user:t,size:128,size2x:256})),(0,i.Z)("h1",{},void 0,t.username))),(0,i.Z)(pe.eA,{className:"profile-page-header-details"},void 0,(0,i.Z)(de.gq,{},void 0,(0,i.Z)(de.kw,{auto:!0},void 0,(0,i.Z)(de.Z6,{},void 0,(0,i.Z)(Fe,{profile:t}))),s&&(0,i.Z)(de.kw,{},void 0,(0,i.Z)(de.Z6,{},void 0,(0,i.Z)(me,{className:"btn btn-default btn-block btn-outline",profile:t,user:n})),a.available&&!o&&(0,i.Z)(de.Z6,{shrink:!0},void 0,(0,i.Z)("div",{className:"dropdown"},void 0,Be||(Be=(0,i.Z)(qe,{})),(0,i.Z)(ze,{profile:t,moderation:a})))),o&&(0,i.Z)(de.kw,{},void 0,(0,i.Z)(de.Z6,{},void 0,(0,i.Z)(ie,{className:"btn btn-block btn-outline",profile:t})),a.available&&(0,i.Z)(de.Z6,{shrink:!0},void 0,(0,i.Z)("div",{className:"dropdown"},void 0,Ie||(Ie=(0,i.Z)(qe,{})),(0,i.Z)(ze,{profile:t,moderation:a})))),a.available&&!o&&!s&&(0,i.Z)(de.kw,{},void 0,(0,i.Z)(de.Z6,{className:"hidden-xs",shrink:!0},void 0,(0,i.Z)("div",{className:"dropdown"},void 0,je||(je=(0,i.Z)(qe,{})),(0,i.Z)(ze,{profile:t,moderation:a}))),(0,i.Z)(de.Z6,{className:"hidden-sm hidden-md hidden-lg"},void 0,(0,i.Z)("div",{className:"dropdown"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-block btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,De||(De=(0,i.Z)("span",{className:"material-icon"},void 0,"settings")),gettext("Options")),(0,i.Z)(ze,{profile:t,moderation:a}))))))))};var Ve=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"update",(function(e){q.Z.dispatch((0,se.ZB)(e))})),t.startPolling(e.profile.api.index),t}return(0,r.Z)(s,[{key:"startPolling",value:function(e){y.Z.start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=b.Z.get("PROFILE").url,t=b.Z.get("PROFILE_PAGES"),n=this.props,a=n.profile,s=n.user,o=$e(a,s),r=s.acl.can_start_private_threads&&a.id!==s.id,l=a.acl.can_follow&&a.id!==s.id;return(0,i.Z)("div",{className:"page page-user-profile"},void 0,(0,i.Z)(Ye,{profile:this.props.profile,user:this.props.user,moderation:o,message:r,follow:l}),(0,i.Z)(ce.Z,{},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-3 hidden-sm"},void 0,(0,i.Z)(re,{baseUrl:e,pages:t,profile:this.props.profile})),(0,i.Z)("div",{className:"col-md-9"},void 0,this.props.children))))}}]),s}(le.Z),$e=function(e,t){var n={available:!1,rename:!1,avatar:!1,delete:!1};return t.is_anonumous||(n.rename=e.acl.can_rename,n.avatar=e.acl.can_moderate_avatar,n.delete=e.acl.can_delete,n.available=n.rename||n.avatar||n.delete),n};function Ge(e){return{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}var We={posts:function(e){var t;t=e.user.id===e.profile.id?gettext("You have posted no messages."):interpolate(gettext("%(username)s posted no messages."),{username:e.profile.username},!0);var n=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var a=ngettext("You have posted %(posts)s message.","You have posted %(posts)s messages.",e.profile.posts);n=interpolate(a,{posts:e.profile.posts},!0)}else{var s=ngettext("%(username)s has posted %(posts)s message.","%(username)s has posted %(posts)s messages.",e.profile.posts);n=interpolate(s,{username:e.profile.username,posts:e.profile.posts},!0)}else n=gettext("Loading...");return f().createElement(V,(0,U.Z)({api:e.profile.api.posts,emptyMessage:t,header:n,title:gettext("Posts")},e))},threads:function(e){var t;t=e.user.id===e.profile.id?gettext("You have no started threads."):interpolate(gettext("%(username)s started no threads."),{username:e.profile.username},!0);var n=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var a=ngettext("You have started %(threads)s thread.","You have started %(threads)s threads.",e.profile.threads);n=interpolate(a,{threads:e.profile.threads},!0)}else{var s=ngettext("%(username)s has started %(threads)s thread.","%(username)s has started %(threads)s threads.",e.profile.threads);n=interpolate(s,{username:e.profile.username,threads:e.profile.threads},!0)}else n=gettext("Loading...");return f().createElement(V,(0,U.Z)({api:e.profile.api.threads,emptyMessage:t,header:n,title:gettext("Threads")},e))},followers:Q,follows:X,details:M,"username-history":ne,"ban-details":N};function Ke(){var e=[];return b.Z.get("PROFILE_PAGES").forEach((function(t){e.push(Object.assign({},t,{path:b.Z.get("PROFILE").url+t.component+"/",component:(0,s.$j)(Ge)(We[t.component])}))})),e}var Je=n(39633);b.Z.addInitializer({name:"component:profile",initializer:function(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,Je.Z)({root:b.Z.get("PROFILE").url,component:(0,s.$j)(Ge)(Ve),paths:Ke()})},after:"reducer:profile-hydrate"})},32488:function(e,t,n){"use strict";var a,s=n(32233),i=n(97326),o=n(4942),r=n(22928),l=n(15671),c=n(43144),u=n(79340),d=n(6215),p=n(61120),h=n(57588),f=n.n(h),v=n(82211),m=n(43345),Z=n(78657),g=n(53904),b=n(55210),y=n(93051);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}var N=function(e){(0,u.Z)(n,e);var t=_(n);function n(e){var a;return(0,l.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,email:"",validators:{email:[b.Do()]}},a}return(0,c.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(g.Z.error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return Z.Z.post(s.Z.get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?g.Z.info(e.detail):403===e.status&&e.ban?(0,y.Z)(e.ban):g.Z.apiError(e)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-request-activation-link"},void 0,(0,r.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,r.Z)("div",{className:"form-group"},void 0,(0,r.Z)("div",{className:"control-input"},void 0,(0,r.Z)("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),(0,r.Z)(v.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Send link"))))}}]),n}(m.Z),k=function(e){(0,u.Z)(n,e);var t=_(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-request-activation-link well-done"},void 0,(0,r.Z)("div",{className:"done-message"},void 0,a||(a=(0,r.Z)("div",{className:"message-icon"},void 0,(0,r.Z)("span",{className:"material-icon"},void 0,"check"))),(0,r.Z)("div",{className:"message-body"},void 0,(0,r.Z)("p",{},void 0,this.getMessage())),(0,r.Z)("button",{className:"btn btn-primary btn-block",type:"button",onClick:this.props.callback},void 0,gettext("Request another link"))))}}]),n}(f().Component),x=function(e){(0,u.Z)(n,e);var t=_(n);function n(e){var a;return(0,l.Z)(this,n),a=t.call(this,e),(0,o.Z)((0,i.Z)(a),"complete",(function(e){a.setState({complete:e})})),(0,o.Z)((0,i.Z)(a),"reset",(function(){a.setState({complete:!1})})),a.state={complete:!1},a}return(0,c.Z)(n,[{key:"render",value:function(){return this.state.complete?(0,r.Z)(k,{user:this.state.complete,callback:this.reset}):(0,r.Z)(N,{callback:this.complete})}}]),n}(f().Component),w=n(4869);s.Z.addInitializer({name:"component:request-activation-link",initializer:function(){document.getElementById("request-activation-link-mount")&&(0,w.Z)(x,"request-activation-link-mount",!1)},after:"store"})},11768:function(e,t,n){"use strict";var a,s,i=n(32233),o=n(97326),r=n(4942),l=n(22928),c=n(15671),u=n(43144),d=n(79340),p=n(6215),h=n(61120),f=n(57588),v=n.n(f),m=n(73935),Z=n.n(m),g=n(82211),b=n(43345),y=n(78657),_=n(53904),N=n(55210),k=n(93051);function x(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,h.Z)(e);if(t){var s=(0,h.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,p.Z)(this,n)}}var w=function(e){(0,d.Z)(n,e);var t=x(n);function n(e){var a;return(0,c.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,email:"",validators:{email:[N.Do()]}},a}return(0,u.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(_.Z.error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y.Z.post(i.Z.get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,k.Z)(e.ban):_.Z.apiError(e)}},{key:"render",value:function(){return(0,l.Z)("div",{className:"well well-form well-form-request-password-reset"},void 0,(0,l.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,l.Z)("div",{className:"form-group"},void 0,(0,l.Z)("div",{className:"control-input"},void 0,(0,l.Z)("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),(0,l.Z)(g.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Send link"))))}}]),n}(b.Z),R=function(e){(0,d.Z)(n,e);var t=x(n);function n(){return(0,c.Z)(this,n),t.apply(this,arguments)}return(0,u.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return(0,l.Z)("div",{className:"well well-form well-form-request-password-reset well-done"},void 0,(0,l.Z)("div",{className:"done-message"},void 0,a||(a=(0,l.Z)("div",{className:"message-icon"},void 0,(0,l.Z)("span",{className:"material-icon"},void 0,"check"))),(0,l.Z)("div",{className:"message-body"},void 0,(0,l.Z)("p",{},void 0,this.getMessage())),(0,l.Z)("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},void 0,gettext("Request another link"))))}}]),n}(v().Component),C=function(e){(0,d.Z)(n,e);var t=x(n);function n(){return(0,c.Z)(this,n),t.apply(this,arguments)}return(0,u.Z)(n,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?(0,l.Z)("p",{},void 0,(0,l.Z)("a",{href:i.Z.get("REQUEST_ACTIVATION_URL")},void 0,gettext("Activate your account."))):null}},{key:"render",value:function(){return(0,l.Z)("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},void 0,(0,l.Z)("div",{className:"container"},void 0,(0,l.Z)("div",{className:"message-panel"},void 0,s||(s=(0,l.Z)("div",{className:"message-icon"},void 0,(0,l.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,l.Z)("div",{className:"message-body"},void 0,(0,l.Z)("p",{className:"lead"},void 0,gettext("Your account is inactive.")),(0,l.Z)("p",{},void 0,this.props.message),this.getActivateButton()))))}}]),n}(v().Component),E=function(e){(0,d.Z)(n,e);var t=x(n);function n(e){var a;return(0,c.Z)(this,n),a=t.call(this,e),(0,r.Z)((0,o.Z)(a),"complete",(function(e){a.setState({complete:e})})),(0,r.Z)((0,o.Z)(a),"reset",(function(){a.setState({complete:!1})})),a.state={complete:!1},a}return(0,u.Z)(n,[{key:"showInactivePage",value:function(e){Z().render((0,l.Z)(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?(0,l.Z)(R,{callback:this.reset,user:this.state.complete}):(0,l.Z)(w,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),n}(v().Component),S=n(4869);i.Z.addInitializer({name:"component:request-password-reset",initializer:function(){document.getElementById("request-password-reset-mount")&&(0,S.Z)(E,"request-password-reset-mount",!1)},after:"store"})},61323:function(e,t,n){"use strict";var a,s=n(32233),i=n(97326),o=n(4942),r=n(22928),l=n(15671),c=n(43144),u=n(79340),d=n(6215),p=n(61120),h=n(57588),f=n.n(h),v=n(73935),m=n.n(v),Z=n(82211),g=n(43345),b=n(14467),y=n(78657),_=n(98274),N=n(59801),k=n(53904),x=n(93051),w=n(19755);function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}var C=function(e){(0,u.Z)(n,e);var t=R(n);function n(e){var a;return(0,l.Z)(this,n),(a=t.call(this,e)).state={isLoading:!1,password:""},a}return(0,c.Z)(n,[{key:"clean",value:function(){return!!this.state.password.trim().length||(k.Z.error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return y.Z.post(s.Z.get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,x.Z)(e.ban):k.Z.apiError(e)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"well well-form well-form-reset-password"},void 0,(0,r.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,r.Z)("div",{className:"form-group"},void 0,(0,r.Z)("div",{className:"control-input"},void 0,(0,r.Z)("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),(0,r.Z)(Z.Z,{className:"btn-primary btn-block",loading:this.state.isLoading},void 0,gettext("Change password"))))}}]),n}(g.Z),E=function(e){(0,u.Z)(n,e);var t=R(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){N.Z.show(b.Z)}},{key:"render",value:function(){return(0,r.Z)("div",{className:"page page-message page-message-success page-forgotten-password-changed"},void 0,(0,r.Z)("div",{className:"container"},void 0,(0,r.Z)("div",{className:"message-panel"},void 0,a||(a=(0,r.Z)("div",{className:"message-icon"},void 0,(0,r.Z)("span",{className:"material-icon"},void 0,"check"))),(0,r.Z)("div",{className:"message-body"},void 0,(0,r.Z)("p",{className:"lead"},void 0,this.getMessage()),(0,r.Z)("p",{},void 0,gettext("You will have to sign in using new password before continuing.")),(0,r.Z)("p",{},void 0,(0,r.Z)("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},void 0,gettext("Sign in")))))))}}]),n}(f().Component),S=function(e){(0,u.Z)(n,e);var t=R(n);function n(){var e;(0,l.Z)(this,n);for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return e=t.call.apply(t,[this].concat(s)),(0,o.Z)((0,i.Z)(e),"complete",(function(e){_.Z.softSignOut(),w('#hidden-login-form input[name="redirect_to"]').remove(),m().render((0,r.Z)(E,{user:e}),document.getElementById("page-mount"))})),e}return(0,c.Z)(n,[{key:"render",value:function(){return(0,r.Z)(C,{callback:this.complete})}}]),n}(f().Component),L=n(4869);s.Z.addInitializer({name:"component:reset-password-form",initializer:function(){document.getElementById("reset-password-form-mount")&&(0,L.Z)(S,"reset-password-form-mount",!1)},after:"store"})},15049:function(e,t,n){"use strict";var a,s=n(37424),i=n(22928),o=n(87462),r=n(57588),l=n.n(r),c=n(59131),u=n(15671),d=n(43144),p=n(97326),h=n(79340),f=n(6215),v=n(61120),m=n(4942),Z=n(32233),g=n(43345),b=n(21981),y=n(16427),_=n(6935),N=n(78657),k=n(53904),x=n(90287),w=n(98936),R=n(99755);var C=function(e){(0,h.Z)(o,e);var t,n,s=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function o(e){var t;return(0,u.Z)(this,o),t=s.call(this,e),(0,m.Z)((0,p.Z)(t),"onQueryChange",(function(e){t.changeValue("query",e.target.value)})),t.state={isLoading:!1,query:e.search.query},t}return(0,d.Z)(o,[{key:"componentDidMount",value:function(){this.state.query.length&&this.handleSubmit()}},{key:"clean",value:function(){return!!this.state.query.trim().length||(k.Z.error(gettext("You have to enter search query.")),!1)}},{key:"send",value:function(){x.Z.dispatch((0,y.Vx)({isLoading:!0}));var e=this.state.query.trim(),t=window.location.href,n=t.indexOf("?q=");return n>0&&(t=t.substring(0,n+3)),window.history.pushState({},"",t+encodeURIComponent(e)),N.Z.get(Z.Z.get("SEARCH_API"),{q:e})}},{key:"handleSuccess",value:function(e){x.Z.dispatch((0,y.Vx)({query:this.state.query.trim(),isLoading:!1,providers:e})),e.forEach((function(e){"users"===e.id?x.Z.dispatch((0,_.ZB)(e.results.results)):"threads"===e.id&&x.Z.dispatch((0,b.zD)(e.results))}))}},{key:"handleError",value:function(e){k.Z.apiError(e),x.Z.dispatch((0,y.Vx)({isLoading:!1}))}},{key:"render",value:function(){return(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)(R.sP,{},void 0,(0,i.Z)(R.mr,{styleName:"site-search"},void 0,(0,i.Z)(R.gC,{styleName:"site-search"},void 0,(0,i.Z)("h1",{},void 0,gettext("Search"))),(0,i.Z)(R.eA,{className:"page-header-search-form"},void 0,(0,i.Z)(w.gq,{},void 0,(0,i.Z)(w.kw,{auto:!0},void 0,(0,i.Z)(w.Z6,{},void 0,(0,i.Z)("input",{className:"form-control",disabled:this.state.isLoading,type:"text",value:this.state.query,placeholder:gettext("Search"),onChange:this.onQueryChange})),(0,i.Z)(w.Z6,{shrink:!0},void 0,(0,i.Z)("button",{className:"btn btn-secondary btn-icon btn-outline",disabled:this.state.isLoading},void 0,a||(a=(0,i.Z)("span",{className:"material-icon"},void 0,"search"))))))))))}}]),o}(g.Z),E=n(69987);function S(e){return(0,i.Z)("div",{className:"list-group nav-side"},void 0,e.providers.map((function(e){return(0,i.Z)(E.rU,{activeClassName:"active",className:"list-group-item",to:e.url},e.id,(0,i.Z)("span",{className:"material-icon"},void 0,e.icon),e.name,(0,i.Z)(L,{results:e.results}))})))}function L(e){if(!e.results)return null;var t=e.results.count;return t>1e6?t=Math.ceil(t/1e6)+"KK":t>1e3&&(t=Math.ceil(t/1e3)+"K"),(0,i.Z)("span",{className:"badge"},void 0,t)}function P(e){return(0,i.Z)("div",{className:"page page-search"},void 0,(0,i.Z)(C,{provider:e.provider,search:e.search}),(0,i.Z)(c.Z,{},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-3"},void 0,(0,i.Z)(S,{providers:e.search.providers})),(0,i.Z)("div",{className:"col-md-9"},void 0,e.children,(0,i.Z)(O,{provider:e.provider,search:e.search})))))}function O(e){var t=null;if(e.search.providers.forEach((function(n){n.id===e.provider.id&&(t=n.time)})),null===t)return null;var n=gettext("Search took %(time)s s to complete");return(0,i.Z)("footer",{className:"search-footer"},void 0,(0,i.Z)("p",{},void 0,interpolate(n,{time:t},!0)))}var T=n(11005),A=n(82211);function B(e){return(0,i.Z)("div",{},void 0,(0,i.Z)(T.Z,{isReady:!0,posts:e.results}),l().createElement(I,e))}n(69092);var I=function(e){(0,h.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function s(){var e;(0,u.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,m.Z)((0,p.Z)(e),"onClick",(function(){x.Z.dispatch((0,b.Vx)({isBusy:!0})),N.Z.get(e.props.provider.api,{q:e.props.query,page:e.props.next}).then((function(e){e.forEach((function(e){"threads"===e.id&&(x.Z.dispatch((0,b.R3)(e.results)),x.Z.dispatch((0,y.P0)(e)))})),x.Z.dispatch((0,b.Vx)({isBusy:!1}))}),(function(e){k.Z.apiError(e),x.Z.dispatch((0,b.Vx)({isBusy:!1}))}))})),e}return(0,d.Z)(s,[{key:"render",value:function(){return this.props.more?(0,i.Z)("div",{className:"pager-more"},void 0,(0,i.Z)(A.Z,{className:"btn btn-default btn-outline",loading:this.props.isBusy,onClick:this.onClick},void 0,gettext("Show more"))):null}}]),s}(l().Component);function j(e){var t=e.children,n=e.loading,a=e.posts,s=e.query;return a&&a.count?t:s.length?(0,i.Z)("p",{className:"lead"},void 0,n?gettext("Loading results..."):gettext("No threads matching search query have been found.")):(0,i.Z)("p",{className:"lead"},void 0,gettext("Enter at least two characters to search threads."))}var D=n(40429);function M(e){var t=e.children,n=e.loading,a=e.query;return e.users.length?t:a.length?(0,i.Z)("p",{className:"lead"},void 0,n?gettext("Loading results..."):gettext("No users matching search query have been found.")):(0,i.Z)("p",{className:"lead"},void 0,gettext("Enter at least two characters to search users."))}var U={threads:function(e){return(0,i.Z)(P,{provider:e.route.provider,search:e.search},void 0,(0,i.Z)(j,{loading:e.search.isLoading,query:e.search.query,posts:e.posts},void 0,l().createElement(B,(0,o.Z)({provider:e.route.provider,query:e.search.query},e.posts))))},users:function(e){return(0,i.Z)(P,{provider:e.route.provider,search:e.search},void 0,(0,i.Z)(M,{loading:e.search.isLoading,query:e.search.query,users:e.users},void 0,(0,i.Z)(D.Z,{cols:3,isReady:!e.search.isLoading,users:e.users})))}};function z(e){return{posts:e.posts,search:e.search,tick:e.tick.tick,user:e.auth.user,users:e.users}}var H=n(39633);Z.Z.addInitializer({name:"component:search",initializer:function(e){var t;"misago:search"===e.get("CURRENT_LINK")&&(0,H.Z)({paths:(t=Z.Z.get("SEARCH_PROVIDERS"),t.map((function(e){return{path:e.url,component:(0,s.$j)(z)(U[e.id]),provider:e}})))})},after:"store"})},61814:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588);var p={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"},h=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(){return(0,o.Z)(this,s),a.apply(this,arguments)}return(0,r.Z)(s,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return this.props.isVisible?e+=" in":e+=" out",e}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getSnackbarClass()},void 0,(0,i.Z)("p",{className:"alert "+p[this.props.type]},void 0,this.props.message))}}]),s}(n.n(d)().Component);function f(e){return e.snackbar}var v=n(4869);s.Z.addInitializer({name:"component:snackbar",initializer:function(){(0,v.Z)((0,a.$j)(f)(h),"snackbar-mount")},after:"snackbar"})},95920:function(e,t,n){"use strict";var a=n(57588),s=n.n(a),i=n(22928),o=n(15671),r=n(43144),l=n(97326),c=n(79340),u=n(6215),d=n(61120),p=n(4942),h=n(32233),f=n(26106),v=n(82211),m=n(43345),Z=n(96359),g=n(78657),b=n(53904),y=n(55210),_=function(e){var t=e.backendName,n=gettext("Sign in with %(backend)s"),a=interpolate(n,{backend:t},!0);return(0,i.Z)("div",{className:"page-header-bg"},void 0,(0,i.Z)("div",{className:"page-header"},void 0,(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("h1",{},void 0,a))))};function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){(0,p.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var x=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"handlePrivacyPolicyChange",(function(e){var n=e.target.value;t.handleToggleAgreement("privacyPolicy",n)})),(0,p.Z)((0,l.Z)(t),"handleTermsOfServiceChange",(function(e){var n=e.target.value;t.handleToggleAgreement("termsOfService",n)})),(0,p.Z)((0,l.Z)(t),"handleToggleAgreement",(function(e,n){t.setState((function(a,s){if(null===a[e]){var i=k(k({},a.errors),{},(0,p.Z)({},e,null));return(0,p.Z)({errors:i},e,n)}var o=t.state.validators[e][0],r=k(k({},a.errors),{},(0,p.Z)({},e,[o(null)]));return(0,p.Z)({errors:r},e,null)}))}));var n={email:[y.Do()],username:[y.lG()]};return h.Z.get("TERMS_OF_SERVICE_ID")&&(n.termsOfService=[y.fT()]),h.Z.get("PRIVACY_POLICY_ID")&&(n.privacyPolicy=[y.jA()]),t.state={email:e.email||"",emailProtected:!!e.email,username:e.username||"",termsOfService:null,privacyPolicy:null,validators:n,errors:{},isLoading:!1},t}return(0,r.Z)(s,[{key:"clean",value:function(){if(this.validate(),-1!==[this.state.email.trim().length,this.state.username.trim().length].indexOf(0))return b.Z.error(gettext("Fill out all fields.")),!1;var e=this.state.validators;return h.Z.get("TERMS_OF_SERVICE_ID")&&null===this.state.termsOfService?(b.Z.error(e.termsOfService[0](null)),!1):!h.Z.get("PRIVACY_POLICY_ID")||null!==this.state.privacyPolicy||(b.Z.error(e.privacyPolicy[0](null)),b.Z.error(gettext("You need to accept the privacy policy.")),!1)}},{key:"send",value:function(){return g.Z.post(this.props.url,{email:this.state.email,username:this.state.username,terms_of_service:this.state.termsOfService,privacy_policy:this.state.privacyPolicy})}},{key:"handleSuccess",value:function(e){(0,this.props.onRegistrationComplete)(e)}},{key:"handleError",value:function(e){if(200===e.status)(0,this.props.onRegistrationComplete)({activation:"active",step:"done",username:this.state.username});else if(400===e.status){var t={errors:e};e.email&&(t.emailProtected=!1),this.setState(t)}else b.Z.apiError(e)}},{key:"render",value:function(){var e=this.props.backend_name,t=this.state,n=t.email,a=t.emailProtected,s=t.username,o=t.isLoading,r=null;if(a){var l=gettext("Your e-mail address has been verified by %(backend)s.");r=interpolate(l,{backend:e},!0)}return(0,i.Z)("div",{className:"page page-social-auth page-social-sauth-register"},void 0,(0,i.Z)(_,{backendName:e}),(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Complete your details"))),(0,i.Z)("div",{className:"panel-body"},void 0,(0,i.Z)(Z.Z,{for:"id_username",label:gettext("Username"),validation:this.state.errors.username},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control",disabled:o,onChange:this.bindInput("username"),value:s})),(0,i.Z)(Z.Z,{for:"id_email",label:gettext("E-mail address"),helpText:r,validation:a?null:this.state.errors.email},void 0,(0,i.Z)("input",{type:"email",id:"id_email",className:"form-control",disabled:o||a,onChange:this.bindInput("email"),value:n})),(0,i.Z)(f.Z,{errors:this.state.errors,privacyPolicy:this.state.privacyPolicy,termsOfService:this.state.termsOfService,onPrivacyPolicyChange:this.handlePrivacyPolicyChange,onTermsOfServiceChange:this.handleTermsOfServiceChange})),(0,i.Z)("div",{className:"panel-footer"},void 0,(0,i.Z)(v.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Sign in")))))))))}}]),s}(m.Z),w=function(e){var t,n,a=e.activation,s=e.backend_name,o=e.username;return n="user"===a?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===a?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):gettext("%(username)s, your account has been created and you have been signed in to it."),t="active"===a?"check":"info_outline",(0,i.Z)("div",{className:"page page-social-auth page-social-sauth-register"},void 0,(0,i.Z)(_,{backendName:s}),(0,i.Z)("div",{className:"container"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)("div",{className:"panel panel-default panel-form"},void 0,(0,i.Z)("div",{className:"panel-heading"},void 0,(0,i.Z)("h3",{className:"panel-title"},void 0,gettext("Registration completed!"))),(0,i.Z)("div",{className:"panel-body panel-message-body"},void 0,(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,t)),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,interpolate(n,{username:o},!0)),(0,i.Z)("p",{className:"help-block"},void 0,(0,i.Z)("a",{className:"btn btn-default",href:h.Z.get("MISAGO_PATH")},void 0,gettext("Return to forum index"))))))))))};var R=function(e){(0,c.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,d.Z)(t);if(n){var s=(0,d.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,u.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,p.Z)((0,l.Z)(t),"handleRegistrationComplete",(function(e){var n=e.activation,a=e.email,s=e.step,i=e.username;t.setState({activation:n,email:a,step:s,username:i})})),t.state={step:e.step,activation:e.activation||"",email:e.email||"",username:e.username||""},t}return(0,r.Z)(s,[{key:"render",value:function(){var e=this.props,t=e.backend_name,n=e.url,a=this.state,s=a.activation,o=a.email,r=a.step,l=a.username;return"register"===r?(0,i.Z)(x,{backend_name:t,email:o,url:n,username:l,onRegistrationComplete:this.handleRegistrationComplete}):(0,i.Z)(w,{activation:s,backend_name:t,email:o,url:n,username:l})}}]),s}(s().Component),C=n(4869);h.Z.addInitializer({name:"component:social-auth",initializer:function(e){if("misago:social-complete"===e.get("CURRENT_LINK")){var t=e.get("SOCIAL_AUTH_FORM");(0,C.Z)(s().createElement(R,t),"page-mount")}},after:"store"})},59203:function(e,t,n){"use strict";var a,s,i=n(37424),o=n(22928),r=n(15671),l=n(43144),c=n(97326),u=n(79340),d=n(6215),p=n(61120),h=n(4942),f=n(57588),v=n.n(f),m=n(87462),Z=n(43345),g=n(96359),b=n(8154),y=n(7738),_=n(78657),N=n(59801),k=n(53904),x=n(90287);var w,R=function(e){(0,u.Z)(i,e);var t,n,s=(t=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function i(e){var t;return(0,r.Z)(this,i),t=s.call(this,e),(0,h.Z)((0,c.Z)(t),"onUsernameChange",(function(e){t.changeValue("username",e.target.value)})),t.state={isLoading:!1,username:""},t}return(0,l.Z)(i,[{key:"clean",value:function(){return!!this.state.username.trim().length||(k.Z.error(gettext("You have to enter user name.")),!1)}},{key:"send",value:function(){return _.Z.patch(this.props.thread.api.index,[{op:"add",path:"participants",value:this.state.username},{op:"add",path:"acl",value:1}])}},{key:"handleSuccess",value:function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants)),k.Z.success(gettext("New participant has been added to thread.")),N.Z.hide()}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog modal-sm",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,a||(a=(0,o.Z)(C,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_username",label:gettext("User to add")},void 0,(0,o.Z)("input",{id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.onUsernameChange,type:"text",value:this.state.username}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-block btn-primary",disabled:this.state.isLoading},void 0,gettext("Add participant")),(0,o.Z)("button",{className:"btn btn-block btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel"))))))}}]),i}(Z.Z);function C(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,s||(s=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Add participant")))}var E=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(R,{thread:e.props.thread}))})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.thread.acl.can_add_participants?(0,o.Z)("div",{className:"col-xs-12 col-sm-3"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-block",onClick:this.onClick,type:"button"},void 0,w||(w=(0,o.Z)("span",{className:"material-icon"},void 0,"person_add")),gettext("Add participant"))):null}}]),s}(v().Component),S=n(32233);var L=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onClick",(function(){var e,n,a=!1;if(t.isUser)a=window.confirm(gettext("Are you sure you want to take over this thread?"));else{var s=gettext("Are you sure you want to change thread owner to %(user)s?");a=window.confirm(interpolate(s,{user:t.props.participant.username},!0))}a&&(e=t.props.thread,n=t.props.participant,_.Z.patch(e.api.index,[{op:"replace",path:"owner",value:n.id},{op:"add",path:"acl",value:1}]).then((function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants));var t=gettext("%(user)s has been made new thread owner.");k.Z.success(interpolate(t,{user:n.username},!0))}),(function(e){k.Z.apiError(e)})))})),t.isUser=e.participant.id===e.user.id,t}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.participant.is_owner?null:this.props.thread.acl.can_change_owner?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,gettext("Make owner"))):null}}]),s}(v().Component);var P,O,T,A=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onClick",(function(){var e,n,a=!1;if(t.isUser)a=window.confirm(gettext("Are you sure you want to leave this thread?"));else{var s=gettext("Are you sure you want to remove %(user)s from this thread?");a=window.confirm(interpolate(s,{user:t.props.participant.username},!0))}a&&(t.isUser?(e=t.props.thread,n=t.props.participant,_.Z.patch(e.api.index,[{op:"remove",path:"participants",value:n.id}]).then((function(){k.Z.success(gettext("You have left this thread.")),window.setTimeout((function(){window.location=S.Z.get("PRIVATE_THREADS_URL")}),3e3)}),(function(e){k.Z.apiError(e)}))):function(e,t){_.Z.patch(e.api.index,[{op:"remove",path:"participants",value:t.id},{op:"add",path:"acl",value:1}]).then((function(e){x.Z.dispatch((0,y.y8)(e)),x.Z.dispatch(b.gx(e.participants));var n=gettext("%(user)s has been removed from this thread.");k.Z.success(interpolate(n,{user:t.username},!0))}),(function(e){k.Z.apiError(e)}))}(t.props.thread,t.props.participant))})),t.isUser=e.participant.id===e.user.id,t}return(0,l.Z)(s,[{key:"render",value:function(){var e=this.props.user.acl.can_moderate_private_threads;return this.props.userIsOwner||this.isUser||e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,this.isUser?gettext("Leave thread"):gettext("Remove"))):null}}]),s}(v().Component),B=n(19605);function I(e){var t=e.participant,n="btn btn-default";return t.is_owner&&(n="btn btn-primary"),n+=" btn-user btn-block",(0,o.Z)("div",{className:"col-xs-12 col-sm-3 col-md-2 participant-card"},void 0,(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{"aria-haspopup":"true","aria-expanded":"false",className:n,"data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)(B.ZP,{size:"34",user:t}),(0,o.Z)("span",{className:"btn-text"},void 0,t.username)),(0,o.Z)("ul",{className:"dropdown-menu stick-to-bottom"},void 0,(0,o.Z)(j,{isOwner:t.is_owner}),P||(P=(0,o.Z)("li",{className:"dropdown-header"})),(0,o.Z)("li",{},void 0,(0,o.Z)("a",{href:t.url},void 0,gettext("See profile"))),O||(O=(0,o.Z)("li",{role:"separator",className:"divider"})),v().createElement(L,e),v().createElement(A,e))))}function j(e){return e.isOwner?(0,o.Z)("li",{className:"dropdown-header dropdown-header-owner"},void 0,T||(T=(0,o.Z)("span",{className:"material-icon"},void 0,"start")),(0,o.Z)("span",{className:"icon-text"},void 0,gettext("Thread owner"))):null}function D(e){var t=e.participants,n=e.thread,a=e.user,s=e.userIsOwner;return(0,o.Z)("div",{className:"participants-cards"},void 0,(0,o.Z)("div",{className:"row"},void 0,t.map((function(e){return(0,o.Z)(I,{participant:e,thread:n,user:a,userIsOwner:s},e.id)}))))}function M(e){return e.participants.length?(0,o.Z)("div",{className:"panel panel-default panel-participants"},void 0,(0,o.Z)("div",{className:"panel-body"},void 0,v().createElement(D,(0,m.Z)({userIsOwner:U(e.user,e.participants)},e)),(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)(E,{thread:e.thread}),(0,o.Z)("div",{className:"col-xs-12 col-sm-9"},void 0,(0,o.Z)("p",{},void 0,function(e){var t=e.length,n=ngettext("This thread has %(users)s participant.","This thread has %(users)s participants.",t);return interpolate(n,{users:t},!0)}(e.participants)))))):null}function U(e,t){return t[0].id===e.id}var z=n(91876),H={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off",changed_owner:"grade",tookover:"grade",added_participant:"person_add",owner_left:"person_outline",participant_left:"person_outline",removed_participant:"remove_circle_outline"};function F(e){return(0,o.Z)("div",{className:"post-avatar"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,H[e.post.event_type]))}var q=n(89627),Y=n(30381),V=n.n(Y),$=n(92747);function G(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function W(e){return e.post.acl.can_hide?(0,o.Z)("li",{className:"event-controls"},void 0,v().createElement(K,e),v().createElement(J,e),v().createElement(Q,e)):null}var K=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){x.Z.dispatch($.r$(e.props.post,{is_hidden:!0,hidden_on:V()(),hidden_by_name:e.props.user.username,url:Object.assign(e.props.post.url,{hidden_by:e.props.user.url})})),_.Z.patch(e.props.post.api.index,[{op:"replace",path:"is-hidden",value:!0}]).then((function(t){x.Z.dispatch($.r$(e.props.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{is_hidden:!1}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.is_hidden?null:(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Hide"))}}]),n}(v().Component),J=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){x.Z.dispatch($.r$(e.props.post,{is_hidden:!1})),_.Z.patch(e.props.post.api.index,[{op:"replace",path:"is-hidden",value:!1}]).then((function(t){x.Z.dispatch($.r$(e.props.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{is_hidden:!0}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.is_hidden?(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Unhide")):null}}]),n}(v().Component),Q=function(e){(0,u.Z)(n,e);var t=G(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){window.confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"))&&e.delete()})),(0,h.Z)((0,c.Z)(e),"delete",(function(){x.Z.dispatch($.r$(e.props.post,{isDeleted:!0})),_.Z.delete(e.props.post.api.index).then((function(){k.Z.success(gettext("Event has been deleted."))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.props.post,{isDeleted:!1}))}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,gettext("Delete"))}}]),n}(v().Component),X='<span class="item-title">%(user)s</span>',ee='<a href="%(url)s" class="item-title">%(user)s</a>';function te(e){return(0,o.Z)("ul",{className:"list-inline event-info"},void 0,v().createElement(ne,e),v().createElement(ae,e),v().createElement(W,e))}function ne(e){if(e.post.is_hidden){var t;t=e.post.url.hidden_by?interpolate(ee,{url:(0,q.Z)(e.post.url.hidden_by),user:(0,q.Z)(e.post.hidden_by_name)},!0):interpolate(X,{user:(0,q.Z)(e.post.hidden_by_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.post.hidden_on.format("LLL")),relative:(0,q.Z)(e.post.hidden_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:n},!0);return(0,o.Z)("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:a}})}return null}function ae(e){var t;t=e.post.poster?interpolate(ee,{url:(0,q.Z)(e.post.poster.url),user:(0,q.Z)(e.post.poster_name)},!0):interpolate(X,{user:(0,q.Z)(e.post.poster_name)},!0);var n=interpolate('<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',{url:(0,q.Z)(e.post.url.index),absolute:(0,q.Z)(e.post.posted_on.format("LLL")),relative:(0,q.Z)(e.post.posted_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:n},!0);return(0,o.Z)("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:a}})}var se={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden."),tookover:gettext("Took thread over."),owner_left:gettext("Owner has left thread. This thread is now closed."),participant_left:gettext("Participant has left thread.")},ie='<a href="%(url)s" class="item-title">%(name)s</a>',oe='<span class="item-title">%(name)s</span>';function re(e){return se[e.post.event_type]?(0,o.Z)("p",{className:"event-message"},void 0,se[e.post.event_type]):"changed_title"===e.post.event_type?v().createElement(le,e):"moved"===e.post.event_type?v().createElement(ce,e):"merged"===e.post.event_type?v().createElement(ue,e):"changed_owner"===e.post.event_type?v().createElement(de,e):"added_participant"===e.post.event_type?v().createElement(pe,e):"removed_participant"===e.post.event_type?v().createElement(he,e):null}function le(e){var t=(0,q.Z)(gettext("Thread title has been changed from %(old_title)s.")),n=interpolate(oe,{name:(0,q.Z)(e.post.event_context.old_title)},!0),a=interpolate(t,{old_title:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function ce(e){var t=(0,q.Z)(gettext("Thread has been moved from %(from_category)s.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.from_category.url),name:(0,q.Z)(e.post.event_context.from_category.name)},!0),a=interpolate(t,{from_category:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function ue(e){var t=(0,q.Z)(gettext("The %(merged_thread)s thread has been merged into this thread.")),n=interpolate(oe,{name:(0,q.Z)(e.post.event_context.merged_thread)},!0),a=interpolate(t,{merged_thread:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function de(e){var t=(0,q.Z)(gettext("Changed thread owner to %(user)s.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function pe(e){var t=(0,q.Z)(gettext("Added %(user)s to thread.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function he(e){var t=(0,q.Z)(gettext("Removed %(user)s from thread.")),n=interpolate(ie,{url:(0,q.Z)(e.post.event_context.user.url),name:(0,q.Z)(e.post.event_context.user.username)},!0),a=interpolate(t,{user:n},!0);return(0,o.Z)("p",{className:"event-message",dangerouslySetInnerHTML:{__html:a}})}function fe(e){return e.post.is_read?null:(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left"},void 0,(0,o.Z)("div",{className:"event-label"},void 0,(0,o.Z)("span",{className:"label label-unread"},void 0,gettext("New event")))))}var ve=n(19755);var me=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){return(0,r.Z)(this,s),a.apply(this,arguments)}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||ve(this.element).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout((function(){var t=e.element.getBoundingClientRect(),n=t.height+t.top,a=document.documentElement.clientHeight;n<5||n>a||(x.Z.dispatch($.r$(e.props.post,{is_read:!0})),_.Z.post(e.props.post.api.read).then((function(t){x.Z.dispatch(y.Vx(e.props.thread,{is_read:t.thread_is_read}))}),(function(e){k.Z.apiError(e)})))}),1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){var e=this;return v().createElement("div",{className:this.props.className,ref:function(t){t&&(e.element=t)}},this.props.children)}}]),s}(v().Component);function Ze(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&(t="event post-hidden"),(0,o.Z)("li",{id:"post-"+e.post.id,className:t},void 0,(0,o.Z)(fe,{post:e.post}),(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-2 col-sm-3 text-right"},void 0,v().createElement(F,e)),(0,o.Z)("div",{className:"col-xs-10 col-sm-9 text-left"},void 0,(0,o.Z)(me,{post:e.post},void 0,v().createElement(re,e),v().createElement(te,e)))))}var ge=n(69130),be=n(48772);function ye(e){return(0,o.Z)("div",{className:"col-xs-12 col-md-6"},void 0,v().createElement(_e,e),(0,o.Z)("div",{className:"post-attachment"},void 0,(0,o.Z)("a",{href:e.attachment.url.index,className:"attachment-name item-title"},void 0,e.attachment.filename),v().createElement(xe,e)))}function _e(e){return e.attachment.is_image?(0,o.Z)("div",{className:"post-attachment-preview"},void 0,v().createElement(ke,e)):(0,o.Z)("div",{className:"post-attachment-preview"},void 0,v().createElement(Ne,e))}function Ne(e){return(0,o.Z)("a",{href:e.attachment.url.index,className:"material-icon"},void 0,"insert_drive_file")}function ke(e){var t=e.attachment.url.thumb||e.attachment.url.index;return(0,o.Z)("a",{className:"post-thumbnail",href:e.attachment.url.index,style:{backgroundImage:'url("'+(0,q.Z)(t)+'")'}})}function xe(e){var t;t=e.attachment.url.uploader?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.attachment.url.uploader),user:(0,q.Z)(e.attachment.uploader_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.attachment.uploader_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.attachment.uploaded_on.format("LLL")),relative:(0,q.Z)(e.attachment.uploaded_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.attachment.filetype,size:(0,be.Z)(e.attachment.size),uploader:t,uploaded_on:n},!0);return(0,o.Z)("p",{className:"post-attachment-description",dangerouslySetInnerHTML:{__html:a}})}function we(e){return function(e){return(!e.is_hidden||e.acl.can_see_hidden)&&e.attachments}(e.post)?(0,o.Z)("div",{className:"post-attachments"},void 0,(0,ge.Z)(e.post.attachments,2).map((function(e){var t=e.map((function(e){return e?e.id:0})).join("_");return(0,o.Z)(Re,{row:e},t)}))):null}function Re(e){return(0,o.Z)("div",{className:"row"},void 0,e.row.map((function(e){return(0,o.Z)(ye,{attachment:e},e?e.id:0)})))}var Ce,Ee,Se,Le,Pe=n(69092);function Oe(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?v().createElement(Ae,e):e.post.content?v().createElement(Te,e):v().createElement(Be,e)}function Te(e){return(0,o.Z)(me,{className:"post-body",post:e.post},void 0,(0,o.Z)(Pe.Z,{markup:e.post.content}))}function Ae(e){var t;t=e.post.hidden_by?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.post.url.hidden_by),user:(0,q.Z)(e.post.hidden_by_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.post.hidden_by_name)},!0);var n=interpolate('<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.post.hidden_on.format("LLL")),relative:(0,q.Z)(e.post.hidden_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:n},!0);return(0,o.Z)(me,{className:"post-body post-body-hidden",post:e.post},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("This post is hidden. You cannot see its contents.")),(0,o.Z)("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:a}}))}function Be(e){return(0,o.Z)(me,{className:"post-body post-body-invalid",post:e.post},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("This post's contents cannot be displayed.")),(0,o.Z)("p",{className:"text-muted"},void 0,gettext("This error is caused by invalid post content manipulation.")))}function Ie(e){var t=e.post,n=e.thread,a=e.user;if(!Ue(t)||t.id!==n.best_answer)return null;var s;return s=a.id&&n.best_answer_marked_by===a.id?interpolate(gettext("Marked as best answer by you %(marked_on)s."),{marked_on:n.best_answer_marked_on.fromNow()},!0):interpolate(gettext("Marked as best answer by %(marked_by)s %(marked_on)s."),{marked_by:n.best_answer_marked_by_name,marked_on:n.best_answer_marked_on.fromNow()},!0),(0,o.Z)("div",{className:"post-status-message post-status-best-answer"},void 0,Ce||(Ce=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),(0,o.Z)("p",{},void 0,s))}function je(e){return Ue(e.post)&&e.post.is_hidden?(0,o.Z)("div",{className:"post-status-message post-status-hidden"},void 0,Ee||(Ee=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),(0,o.Z)("p",{},void 0,gettext("This post is hidden. Only users with permission may see its contents."))):null}function De(e){return Ue(e.post)&&e.post.is_unapproved?(0,o.Z)("div",{className:"post-status-message post-status-unapproved"},void 0,Se||(Se=(0,o.Z)("span",{className:"material-icon"},void 0,"remove_circle_outline")),(0,o.Z)("p",{},void 0,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function Me(e){return Ue(e.post)&&e.post.is_protected?(0,o.Z)("div",{className:"post-status-message post-status-protected visible-xs-block"},void 0,Le||(Le=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),(0,o.Z)("p",{},void 0,gettext("This post is protected. Only moderators may change it."))):null}function Ue(e){return!e.is_hidden||e.acl.can_see_hidden}function ze(e){x.Z.dispatch($.r$(e.post,{is_unapproved:!1})),Ge(e,[{op:"replace",path:"is-unapproved",value:!1}],{is_unapproved:e.post.is_unapproved})}function He(e){x.Z.dispatch($.r$(e.post,{is_protected:!0})),Ge(e,[{op:"replace",path:"is-protected",value:!0}],{is_protected:e.post.is_protected})}function Fe(e){x.Z.dispatch($.r$(e.post,{is_protected:!1})),Ge(e,[{op:"replace",path:"is-protected",value:!1}],{is_protected:e.post.is_protected})}function qe(e){x.Z.dispatch($.r$(e.post,{is_hidden:!0,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.url})})),Ge(e,[{op:"replace",path:"is-hidden",value:!0}],{is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url})}function Ye(e){x.Z.dispatch($.r$(e.post,{is_hidden:!1})),Ge(e,[{op:"replace",path:"is-hidden",value:!1}],{is_hidden:e.post.is_hidden})}function Ve(e){var t=e.post.last_likes||[],n=[e.user].concat(t),a=n.length>3?n.slice(0,-1):n;x.Z.dispatch($.r$(e.post,{is_liked:!0,likes:e.post.likes+1,last_likes:a})),Ge(e,[{op:"replace",path:"is-liked",value:!0}],{is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes})}function $e(e){x.Z.dispatch($.r$(e.post,{is_liked:!1,likes:e.post.likes-1,last_likes:e.post.last_likes.filter((function(t){return!t.id||t.id!==e.user.id}))}));var t={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};Ge(e,[{op:"replace",path:"is-liked",value:!1}],t)}function Ge(e,t,n){_.Z.patch(e.post.api.index,t).then((function(t){x.Z.dispatch($.r$(e.post,t))}),(function(t){400===t.status?k.Z.error(t.detail[0]):k.Z.apiError(t),x.Z.dispatch($.r$(e.post,n))}))}function We(e){window.confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"))&&(x.Z.dispatch($.r$(e.post,{isDeleted:!0})),_.Z.delete(e.post.api.index).then((function(){k.Z.success(gettext("Post has been deleted."))}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),x.Z.dispatch($.r$(e.post,{isDeleted:!1}))})))}function Ke(e){var t=e.post,n=e.user;x.Z.dispatch(y.Vx({best_answer:t.id,best_answer_is_protected:t.is_protected,best_answer_marked_on:V()(),best_answer_marked_by:n.id,best_answer_marked_by_name:n.username,best_answer_marked_by_slug:n.slug})),Qe(e,[{op:"replace",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],{best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug})}function Je(e){var t=e.post;x.Z.dispatch(y.Vx({best_answer:null,best_answer_is_protected:!1,best_answer_marked_on:null,best_answer_marked_by:null,best_answer_marked_by_name:null,best_answer_marked_by_slug:null})),Qe(e,[{op:"remove",path:"best-answer",value:t.id},{op:"add",path:"acl",value:!0}],{best_answer:e.thread.best_answer,best_answer_is_protected:e.thread.best_answer_is_protected,best_answer_marked_on:e.thread.best_answer_marked_on,best_answer_marked_by:e.thread.best_answer_marked_by,best_answer_marked_by_name:e.thread.best_answer_marked_by_name,best_answer_marked_by_slug:e.thread.best_answer_marked_by_slug})}function Qe(e,t,n){_.Z.patch(e.thread.api.index,t).then((function(e){e.best_answer_marked_on&&(e.best_answer_marked_on=V()(e.best_answer_marked_on)),x.Z.dispatch(y.Vx(e))}),(function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e),x.Z.dispatch(y.Vx(n))}))}var Xe,et,tt,nt=n(30337),at=n(3784);var st=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=a.call(this,e)).state={isReady:!1,error:null,likes:[]},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(this.props.post.api.likes).then((function(t){e.setState({isReady:!0,likes:t.map(it)})}),(function(t){e.setState({isReady:!0,error:t.detail})}))}},{key:"render",value:function(){return this.state.error?(0,o.Z)(ot,{className:"modal-message"},void 0,(0,o.Z)(nt.Z,{message:this.state.error})):this.state.isReady?this.state.likes.length?(0,o.Z)(ot,{className:"modal-sm",likes:this.state.likes},void 0,(0,o.Z)(rt,{likes:this.state.likes})):(0,o.Z)(ot,{className:"modal-message"},void 0,(0,o.Z)(nt.Z,{message:gettext("No users have liked this post.")})):Xe||(Xe=(0,o.Z)(ot,{className:"modal-sm"},void 0,(0,o.Z)(at.Z,{})))}}]),s}(v().Component);function it(e){return Object.assign({},e,{liked_on:V()(e.liked_on)})}function ot(e){var t=e.className,n=e.children,a=e.likes,s=gettext("Post Likes");if(a){var i=a.length,r=ngettext("%(likes)s like","%(likes)s likes",i);s=interpolate(r,{likes:i},!0)}return(0,o.Z)("div",{className:"modal-dialog "+(t||""),role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,et||(et=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,s)),n))}function rt(e){return(0,o.Z)("div",{className:"modal-body modal-post-likers"},void 0,(0,o.Z)("ul",{className:"media-list"},void 0,e.likes.map((function(e){return v().createElement(lt,(0,m.Z)({key:e.id},e))}))))}function lt(e){if(e.url){var t={id:e.liker_id,avatars:e.avatars};return(0,o.Z)("li",{className:"media"},void 0,(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("a",{className:"user-avatar",href:e.url},void 0,(0,o.Z)(B.ZP,{size:"50",user:t}))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("a",{className:"item-title",href:e.url},void 0,e.username)," ",(0,o.Z)(ct,{likedOn:e.liked_on})))}return(0,o.Z)("li",{className:"media"},void 0,tt||(tt=(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("span",{className:"user-avatar"},void 0,(0,o.Z)(B.ZP,{size:"50"})))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("strong",{},void 0,e.username)," ",(0,o.Z)(ct,{likedOn:e.liked_on})))}function ct(e){return(0,o.Z)("span",{className:"text-muted",title:e.likedOn.format("LLL")},void 0,e.likedOn.fromNow())}var ut,dt,pt,ht,ft=n(27950);function vt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function mt(e){return function(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes&&(e.last_likes||[]).length||e.acl.can_like)}(e.post)?(0,o.Z)("div",{className:"post-footer"},void 0,v().createElement(Zt,e),v().createElement(gt,e),v().createElement(bt,e),v().createElement(yt,(0,m.Z)({lastLikes:e.post.last_likes,likes:e.post.likes},e)),v().createElement(_t,(0,m.Z)({likes:e.post.likes},e)),v().createElement(wt,e),v().createElement(Rt,e)):null}var Zt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("button",{className:"hidden-xs btn btn-default btn-sm pull-left",disabled:this.props.post.isBusy||t.id===n.best_answer,onClick:this.onClick,type:"button"},void 0,ut||(ut=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Best answer")):null}}]),n}(v().Component),gt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("button",{className:"visible-xs-inline-block btn btn-default btn-sm pull-left",disabled:this.props.post.isBusy||t.id===n.best_answer,onClick:this.onClick,type:"button"},void 0,dt||(dt=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box"))):null}}]),n}(v().Component),bt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.post.is_liked?$e(e.props):Ve(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){if(!this.props.post.acl.can_like)return null;var e="btn btn-default btn-sm pull-left";return this.props.post.is_liked&&(e="btn btn-success btn-sm pull-left"),(0,o.Z)("button",{className:e,disabled:this.props.post.isBusy,onClick:this.onClick,type:"button"},void 0,this.props.post.is_liked?gettext("Liked"):gettext("Like"))}}]),n}(v().Component),yt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(st,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?(0,o.Z)("button",{className:"btn btn-link btn-sm pull-left hidden-xs",onClick:this.onClick,type:"button"},void 0,Nt(this.props.likes,this.props.lastLikes)):(0,o.Z)("p",{className:"pull-left hidden-xs"},void 0,Nt(this.props.likes,this.props.lastLikes)):null}}]),n}(v().Component),_t=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?(0,o.Z)("button",{className:"btn btn-link btn-sm likes-compact pull-left visible-xs-block",onClick:this.onClick,type:"button"},void 0,pt||(pt=(0,o.Z)("span",{className:"material-icon"},void 0,"favorite")),this.props.likes):(0,o.Z)("p",{className:"likes-compact pull-left visible-xs-block"},void 0,ht||(ht=(0,o.Z)("span",{className:"material-icon"},void 0,"favorite")),this.props.likes):null}}]),n}(yt);function Nt(e,t){var n=t.slice(0,3).map((function(e){return e.username}));if(1==n.length)return interpolate(gettext("%(user)s likes this."),{user:n[0]},!0);var a=e-n.length,s=n.slice(0,-1).join(", "),i=n.slice(-1)[0],o=interpolate(gettext("%(users)s and %(last_user)s"),{users:s,last_user:i},!0);if(0===a)return interpolate(gettext("%(users)s like this."),{users:o},!0);var r=ngettext("%(users)s and %(likes)s other user like this.","%(users)s and %(likes)s other users like this.",a);return interpolate(r,{users:n.join(", "),likes:a},!0)}var kt,xt,wt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"REPLY",config:e.props.thread.api.editor,submit:e.props.thread.api.posts.index,context:{reply:e.props.post.id}})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_reply?(0,o.Z)("button",{className:"btn btn-primary btn-sm pull-right",type:"button",onClick:this.onClick},void 0,gettext("Reply")):null}}]),n}(v().Component),Rt=function(e){(0,u.Z)(n,e);var t=vt(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"EDIT",config:e.props.post.api.editor,submit:e.props.post.api.index})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_edit?(0,o.Z)("button",{className:"hidden-xs btn btn-default btn-sm pull-right",type:"button",onClick:this.onClick},void 0,gettext("Edit")):null}}]),n}(v().Component),Ct=n(82211);var Et=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x.Z.dispatch($.r$(this.props.post,{isDeleted:!0})),N.Z.hide(),k.Z.success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail):k.Z.apiError(e)}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,kt||(kt=(0,o.Z)(St,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to move post to")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-primary",disabled:this.state.isLoading},void 0,gettext("Move post"))))))}}]),s}(Z.Z);function St(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,xt||(xt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move post")))}function Lt(e){return(0,o.Z)("div",{className:"modal-body post-changelog-diff"},void 0,(0,o.Z)("ul",{className:"list-unstyled"},void 0,e.diff.map((function(e,t){return(0,o.Z)(Pt,{item:e},t)}))))}function Pt(e){return"?"===e.item[0]?null:(0,o.Z)("li",{className:(t=e.item,n="diff-item","-"===t[0]?n+=" diff-item-sub":"+"===t[0]&&(n+=" diff-item-add"),n)},void 0,e.item.substr(2));var t,n}var Ot,Tt,At,Bt=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.revertEdit(e.props.edit.id)})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.canRevert?(0,o.Z)("div",{className:"modal-footer visible-xs-block"},void 0,(0,o.Z)(Ct.Z,{className:"btn-default btn-sm btn-block",disabled:this.props.disabled,onClick:this.onClick,title:gettext("Revert post to state from before this edit.")},void 0,gettext("Revert"))):null}}]),s}(v().Component);var It,jt,Dt=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"goLast",(function(){e.props.goToEdit()})),(0,h.Z)((0,c.Z)(e),"goForward",(function(){e.props.goToEdit(e.props.edit.next)})),(0,h.Z)((0,c.Z)(e),"goBack",(function(){e.props.goToEdit(e.props.edit.previous)})),(0,h.Z)((0,c.Z)(e),"revertEdit",(function(){e.props.revertEdit(e.props.edit.id)})),e}return(0,l.Z)(s,[{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-toolbar post-changelog-toolbar"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-12 col-sm-4"},void 0,(0,o.Z)("div",{className:"row"},void 0,(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(Mt,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goBack})),(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(Ut,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goForward})),(0,o.Z)("div",{className:"col-xs-4"},void 0,(0,o.Z)(zt,{disabled:this.props.disabled,edit:this.props.edit,onClick:this.goLast})))),(0,o.Z)("div",{className:"col-xs-12 col-sm-5 xs-margin-top-half post-change-label"},void 0,(0,o.Z)(Ft,{edit:this.props.edit})),(0,o.Z)(Ht,{canRevert:this.props.canRevert,disabled:this.props.disabled,onClick:this.revertEdit})))}}]),s}(v().Component);function Mt(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.previous,onClick:e.onClick,title:gettext("See previous change")},void 0,Ot||(Ot=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left")))}function Ut(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See next change")},void 0,Tt||(Tt=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right")))}function zt(e){return(0,o.Z)(Ct.Z,{className:"btn-default btn-block btn-icon btn-sm",disabled:e.disabled||!e.edit.next,onClick:e.onClick,title:gettext("See previous change")},void 0,At||(At=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page")))}function Ht(e){return e.canRevert?(0,o.Z)("div",{className:"col-sm-3 hidden-xs"},void 0,(0,o.Z)(Ct.Z,{className:"btn-default btn-sm btn-block",disabled:e.disabled,onClick:e.onClick,title:gettext("Revert post to state from before this edit.")},void 0,gettext("Revert"))):null}function Ft(e){var t;t=e.edit.url.editor?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,q.Z)(e.edit.url.editor),user:(0,q.Z)(e.edit.editor_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,q.Z)(e.edit.editor_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,q.Z)(e.edit.edited_on.format("LLL")),relative:(0,q.Z)(e.edit.edited_on.fromNow())},!0),a=interpolate((0,q.Z)(gettext("By %(edited_by)s %(edited_on)s.")),{edited_by:t,edited_on:n},!0);return(0,o.Z)("p",{dangerouslySetInnerHTML:{__html:a}})}function qt(e){return Object.assign({},e,{edited_on:V()(e.edited_on)})}var Yt=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"goToEdit",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;t.setState({isBusy:!0});var n=t.props.post.api.edits;null!==e&&(n+="?edit="+e),_.Z.get(n).then((function(e){t.setState({isReady:!0,isBusy:!1,edit:qt(e)})}),(function(e){t.setState({isReady:!0,isBusy:!1,error:e.detail})}))})),(0,h.Z)((0,c.Z)(t),"revertEdit",(function(e){if(!t.state.isBusy&&window.confirm(gettext("Are you sure you with to revert this post to the state from before this edit?"))){t.setState({isBusy:!0});var n=t.props.post.api.edits+"?edit="+e;_.Z.post(n).then((function(e){var t=$.ZB(e);x.Z.dispatch($.r$(e,t)),k.Z.success(gettext("Post has been reverted to previous state.")),N.Z.hide()}),(function(e){k.Z.apiError(e),t.setState({isBusy:!1})}))}})),t.state={isReady:!1,isBusy:!0,canRevert:e.post.acl.can_edit,error:null,edit:null},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){this.goToEdit()}},{key:"render",value:function(){return this.state.error?(0,o.Z)(Vt,{className:"modal-dialog modal-message"},void 0,(0,o.Z)(nt.Z,{message:this.state.error})):this.state.isReady?(0,o.Z)(Vt,{},void 0,(0,o.Z)(Dt,{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,goToEdit:this.goToEdit,revertEdit:this.revertEdit}),(0,o.Z)(Lt,{diff:this.state.edit.diff}),(0,o.Z)(Bt,{canRevert:this.state.canRevert,disabled:this.state.isBusy,edit:this.state.edit,revertEdit:this.revertEdit})):It||(It=(0,o.Z)(Vt,{},void 0,(0,o.Z)(at.Z,{})))}}]),s}(v().Component);function Vt(e){return(0,o.Z)("div",{className:e.className||"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,jt||(jt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Post edits history"))),e.children))}var $t,Gt,Wt,Kt,Jt,Qt,Xt=n(57026),en=n(60471),tn=n(55210);function nn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function an(e){return v().createElement(gn,(0,m.Z)({},e,{Form:bn}))}var sn,on,rn,ln,cn,un,dn,pn,hn,fn,vn,mn,Zn,gn=function(e){(0,u.Z)(n,e);var t=nn(n);function n(e){var a;return(0,r.Z)(this,n),(a=t.call(this,e)).state={isLoaded:!1,isError:!1,categories:[]},a}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(misago.get("THREAD_EDITOR_API")).then((function(t){var n=t.map((function(e){return Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id,post:e.post})}));e.setState({isLoaded:!0,categories:n})}),(function(t){e.setState({isError:t.detail})}))}},{key:"render",value:function(){return this.state.isError?(0,o.Z)(_n,{message:this.state.isError}):this.state.isLoaded?v().createElement(bn,(0,m.Z)({},this.props,{categories:this.state.categories})):$t||($t=(0,o.Z)(yn,{}))}}]),n}(v().Component),bn=function(e){(0,u.Z)(n,e);var t=nn(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this,e),(0,h.Z)((0,c.Z)(a),"onCategoryChange",(function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)})),a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[tn.C1()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach((function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})})),a}return(0,l.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(k.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x.Z.dispatch($.r$(this.props.post,{isDeleted:!0})),N.Z.hide(),k.Z.success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),k.Z.error(gettext("Form contains errors."))):k.Z.apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,o.Z)(g.Z,{label:gettext("Thread weight"),for:"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,o.Z)(g.Z,{label:gettext("Hide thread"),for:"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,o.Z)(g.Z,{label:gettext("Close thread"),for:"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return(0,o.Z)(Nn,{className:"modal-dialog"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{label:gettext("Thread title"),for:"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},void 0,(0,o.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),Gt||(Gt=(0,o.Z)("div",{className:"clearfix"})),(0,o.Z)(g.Z,{label:gettext("Category"),for:"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},void 0,(0,o.Z)(Xt.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),Wt||(Wt=(0,o.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)(Ct.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Split post")))))}}]),n}(Z.Z);function yn(){return Kt||(Kt=(0,o.Z)(Nn,{className:"modal-dialog"},void 0,(0,o.Z)(at.Z,{})))}function _n(e){return(0,o.Z)(Nn,{className:"modal-dialog modal-message"},void 0,Jt||(Jt=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move this post at the moment.")),(0,o.Z)("p",{},void 0,e.message)))}function Nn(e){return(0,o.Z)("div",{className:e.className,role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Qt||(Qt=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Split post into new thread"))),e.children))}function kn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function xn(e){return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,v().createElement(Rn,e),v().createElement(Cn,e),v().createElement(En,e),v().createElement(Sn,e),v().createElement(Ln,e),v().createElement(Pn,e),v().createElement(On,e),v().createElement(Tn,e),v().createElement(An,e),v().createElement(Bn,e),v().createElement(In,e),v().createElement(jn,e),v().createElement(Dn,e))}var wn,Rn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){var t=window.location.protocol+"//";t+=window.location.host,t+=e.props.post.url.index,prompt(gettext("Permament link to this post:"),t)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,sn||(sn=(0,o.Z)("span",{className:"material-icon"},void 0,"link")),gettext("Permament link")))}}]),n}(v().Component),Cn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ft.Z.open({mode:"EDIT",config:e.props.post.api.editor,submit:e.props.post.api.index})})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_edit?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,on||(on=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),gettext("Edit"))):null}}]),n}(v().Component),En=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ke(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return n.acl.can_mark_best_answer&&t.acl.can_mark_as_best_answer?t.id===n.best_answer||n.best_answer&&!n.acl.can_change_best_answer?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,rn||(rn=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Mark as best answer"))):null}}]),n}(v().Component),Sn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Je(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id!==n.best_answer?null:n.acl.can_unmark_best_answer?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,ln||(ln=(0,o.Z)("span",{className:"material-icon"},void 0,"check_box_outline_blank")),gettext("Unmark best answer"))):null}}]),n}(v().Component),Ln=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(Yt,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits);return interpolate(n,{edits:this.props.post.edits},!0),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,cn||(cn=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),gettext("Changes history")))}}]),n}(v().Component),Pn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){ze(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,un||(un=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))):null}}]),n}(v().Component),On=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(Et,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_move?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,dn||(dn=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))):null}}]),n}(v().Component),Tn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(an,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_move?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,pn||(pn=(0,o.Z)("span",{className:"material-icon"},void 0,"call_split")),gettext("Split"))):null}}]),n}(v().Component),An=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){He(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_protect?this.props.post.is_protected?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,hn||(hn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Protect"))):null}}]),n}(v().Component),Bn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Fe(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,fn||(fn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Remove protection"))):null}}]),n}(v().Component),In=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){qe(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id===n.best_answer?null:t.acl.can_hide?t.is_hidden?null:(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,vn||(vn=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))):null}}]),n}(v().Component),jn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ye(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,mn||(mn=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))):null}}]),n}(v().Component),Dn=function(e){(0,u.Z)(n,e);var t=kn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){We(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.post,n=e.thread;return t.id===n.best_answer?null:t.acl.can_delete?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},void 0,Zn||(Zn=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))):null}}]),n}(v().Component);function Mn(e){return(0,o.Z)("div",{className:"pull-right dropdown"},void 0,wn||(wn=(0,o.Z)("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"expand_more"))),v().createElement(xn,e))}var Un=n(21981);var zn,Hn=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){e.props.post.isSelected?x.Z.dispatch(Un._H(e.props.post)):x.Z.dispatch(Un.Ys(e.props.post))})),e}return(0,l.Z)(s,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||(e=this.props.post.acl).can_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move?(0,o.Z)("div",{className:"pull-right"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null;var e}}]),s}(v().Component),Fn=n(24678);function qn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function Yn(e){return(0,o.Z)("div",{className:"post-heading"},void 0,v().createElement(Vn,e),v().createElement($n,e),v().createElement(Gn,e),v().createElement(Wn,e),v().createElement(Jn,e),v().createElement(Qn,e),v().createElement(Xn,e),v().createElement(Hn,e),v().createElement(Mn,e))}function Vn(e){return e.post.is_read?null:(0,o.Z)("span",{className:"label label-unread hidden-xs"},void 0,gettext("New post"))}function $n(e){return e.post.is_read?null:(0,o.Z)("span",{className:"label label-unread visible-xs-inline-block"},void 0,gettext("New"))}function Gn(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0);return(0,o.Z)("a",{href:e.post.url.index,className:"btn btn-link posted-on hidden-xs",title:t},void 0,e.post.posted_on.fromNow())}function Wn(e){return(0,o.Z)("a",{href:e.post.url.index,className:"btn btn-link posted-on visible-xs-inline-block"},void 0,e.post.posted_on.fromNow(!0))}var Kn,Jn=function(e){(0,u.Z)(n,e);var t=qn(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show((0,o.Z)(Yt,{post:e.props.post}))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits),a=interpolate(n,{edits:this.props.post.edits},!0),s=ngettext("edited %(edits)s time","edited %(edits)s times",this.props.post.edits);return(0,o.Z)("button",{className:"btn btn-link btn-see-edits hidden-xs",onClick:this.onClick,title:a,type:"button"},void 0,interpolate(s,{edits:this.props.post.edits},!0))}}]),n}(v().Component),Qn=function(e){(0,u.Z)(n,e);var t=qn(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var n=ngettext("%(edits)s edit","%(edits)s edits",this.props.post.edits);return(0,o.Z)("button",{className:"btn btn-link btn-see-edits visible-xs-inline-block",onClick:this.onClick,type:"button"},void 0,interpolate(n,{edits:this.props.post.edits},!0))}}]),n}(Jn);function Xn(e){var t=e.post.poster&&e.post.poster.id===e.user.id,n=e.post.acl.can_protect;return e.user.id&&e.post.is_protected&&(t||n)?(0,o.Z)("span",{className:"label label-protected hidden-xs",title:gettext("This post is protected and may not be edited.")},void 0,zn||(zn=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("protected")):null}function ea(e){var t=e.title,n=e.rank;return n.is_tab||!!t||!!n.title}function ta(e){var t=e.poster,n=ngettext("%(posts)s post","%(posts)s posts",t.posts),a="user-postcount";return ea(t)&&(a+=" hidden-xs hidden-sm"),(0,o.Z)("span",{className:a},void 0,interpolate(n,{posts:t.posts},!0))}function na(e){var t=e.rank,n=e.title||t.title;if(!n&&t.is_tab&&(n=t.name),!n)return null;var a="user-title";return t.css_class&&(a+=" user-title-"+t.css_class),t.is_tab?(0,o.Z)("div",{className:a},void 0,(0,o.Z)("a",{href:t.url},void 0,n)):(0,o.Z)("div",{className:a},void 0,n)}function aa(e){var t=e.post,n=e.thread;return(0,o.Z)("div",{className:"col-xs-12 col-md-3 post-side post-side-anonymous"},void 0,(0,o.Z)(Hn,{post:t,thread:n}),(0,o.Z)(Mn,{post:t,thread:n}),(0,o.Z)("div",{className:"media"},void 0,Kn||(Kn=(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("span",{},void 0,(0,o.Z)(B.ZP,{className:"poster-avatar",size:100})))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("span",{className:"media-heading item-title"},void 0,t.poster_name),(0,o.Z)("span",{className:"user-title user-title-anonymous"},void 0,gettext("Removed user")))))}function sa(e){var t=e.poster,n="hidden-xs";return ea(t)&&(n+=" hidden-sm"),(0,o.Z)("span",{className:n},void 0,(0,o.Z)(Fn.ZP,{status:t.status},void 0,(0,o.Z)(Fn.pg,{status:t.status,user:t})))}function ia(e){var t=e.post,n=e.thread,a=t.poster;return(0,o.Z)("div",{className:"col-xs-12 col-md-3 post-side post-side-registered"},void 0,(0,o.Z)(Hn,{post:t,thread:n}),(0,o.Z)(Mn,{post:t,thread:n}),(0,o.Z)("div",{className:"media"},void 0,(0,o.Z)("div",{className:"media-left"},void 0,(0,o.Z)("a",{href:a.url},void 0,(0,o.Z)(B.ZP,{className:"poster-avatar",size:100,user:a}))),(0,o.Z)("div",{className:"media-body"},void 0,(0,o.Z)("div",{className:"media-heading"},void 0,(0,o.Z)("a",{className:"item-title",href:a.url},void 0,a.username),(0,o.Z)(Fn.ZP,{status:a.status},void 0,(0,o.Z)(Fn.Jj,{status:a.status}))),(0,o.Z)(na,{rank:a.rank,title:a.title}),(0,o.Z)(sa,{poster:a}),(0,o.Z)(ta,{poster:a}))))}function oa(e){return e.post.poster?v().createElement(ia,e):v().createElement(aa,e)}function ra(e){var t="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.poster&&e.post.poster.rank.css_class&&(t+=" post-"+e.post.poster.rank.css_class),e.post.is_read||(t+=" post-new"),(0,o.Z)("li",{id:"post-"+e.post.id,className:t},void 0,(0,o.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,o.Z)("div",{className:"panel-body"},void 0,(0,o.Z)("div",{className:"row"},void 0,v().createElement(oa,e),(0,o.Z)("div",{className:"col-xs-12 col-md-9"},void 0,v().createElement(Yn,e),v().createElement(Ie,e),v().createElement(De,e),v().createElement(Me,e),v().createElement(je,e),v().createElement(Oe,e),v().createElement(we,e),v().createElement(mt,e))))))}var la,ca,ua=n(44039);function da(e){return(0,o.Z)("li",{className:"post"},void 0,(0,o.Z)("div",{className:"post-border"},void 0,la||(la=(0,o.Z)("div",{className:"post-avatar"},void 0,(0,o.Z)(B.ZP,{size:"100"}))),(0,o.Z)("div",{className:"post-body"},void 0,(0,o.Z)("div",{className:"panel panel-default panel-post"},void 0,(0,o.Z)("div",{className:"panel-heading post-heading"},void 0,(0,o.Z)("span",{className:"ui-preview-text",style:{width:ua.e(30,100)+"px"}},void 0," "),(0,o.Z)("span",{className:"ui-preview-text",style:{width:ua.e(30,100)+"px"}},void 0," ")),(0,o.Z)("div",{className:"panel-body"},void 0,(0,o.Z)("article",{className:"misago-markup"},void 0,(0,o.Z)("p",{className:"ui-preview-text",style:{width:ua.e(50,100)+"%"}},void 0," "),(0,o.Z)("p",{className:"ui-preview-text",style:{width:ua.e(50,100)+"%"}},void 0," "),(0,o.Z)("p",{className:"ui-preview-text",style:{width:ua.e(50,100)+"%"}},void 0," ")))))))}function pa(e){return e.posts.isLoaded?(0,o.Z)("ul",{className:"posts-list ui-ready"},void 0,e.posts.results.map((function(t){return v().createElement(ha,(0,m.Z)({key:t.id,post:t},e))}))):ca||(ca=(0,o.Z)("ul",{className:"posts-list ui-preview"},void 0,(0,o.Z)(da,{})))}function ha(e){return e.post.is_event?v().createElement(Ze,e):v().createElement(ra,e)}var fa,va,ma,Za=n(59752),ga=n(55547),ba=n(53328),ya=n(59131),_a=n(98936),Na=n(50366),ka=n(16768),xa=function(e){var t=e.thread;return(0,o.Z)("div",{className:"thread-user-card"},void 0,(0,o.Z)("div",{className:"thread-user-card-media"},void 0,t.starter?(0,o.Z)("a",{href:t.url.starter},void 0,(0,o.Z)(B.ZP,{size:40,user:t.starter})):fa||(fa=(0,o.Z)(B.ZP,{size:40}))),(0,o.Z)("div",{className:"thread-user-card-body"},void 0,(0,o.Z)("div",{className:"thread-user-card-header"},void 0,t.starter?(0,o.Z)("a",{className:"item-title",href:t.url.starter,title:gettext("Thread author")},void 0,t.starter.username):(0,o.Z)("span",{className:"item-title",title:gettext("Thread author")},void 0,t.starter_name)),(0,o.Z)("div",{},void 0,(0,o.Z)("span",{className:"text-muted",title:interpolate(gettext("Started on: %(timestamp)s"),{timestamp:t.started_on.format("LLL")},!0)},void 0,t.started_on.fromNow()))))},wa=n(99755),Ra=n(12891);var Ca=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"handleSuccess",(function(e){t.handleSuccessUnmounted(e),t.setState({isLoading:!0}),N.Z.hide()})),(0,h.Z)((0,c.Z)(t),"handleSuccessUnmounted",(function(e){x.Z.dispatch(y.Ar()),x.Z.dispatch(y.Vx(e))})),(0,h.Z)((0,c.Z)(t),"handleError",(function(e){x.Z.dispatch(y.Ar()),400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)})),(0,h.Z)((0,c.Z)(t),"onChange",(function(e){t.changeValue("title",e.target.value)})),t.state={isLoading:!1,title:e.thread.title,validators:{title:(0,Ra.jn)()},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){if(!this.state.title.trim().length)return k.Z.error(gettext("You have to enter thread title.")),!1;var e=this.validate();return!e.title||(k.Z.error(e.title[0]),!1)}},{key:"send",value:function(){return x.Z.dispatch(y.n6()),_.Z.patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,va||(va=(0,o.Z)(Ea,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_modal_title",label:gettext("Thread title")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_modal_title",onChange:this.onChange,value:this.state.title}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",disabled:this.state.isLoading||this.props.thread.isBusy},void 0,gettext("Change title"))))))}}]),s}(Z.Z);function Ea(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,ma||(ma=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Change title")))}var Sa,La,Pa=n(52753);var Oa,Ta,Aa,Ba,Ia,ja,Da=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"handleSuccess",(function(e){t.handleSuccessUnmounted(e),t.setState({isLoading:!0})})),(0,h.Z)((0,c.Z)(t),"handleSuccessUnmounted",(function(e){k.Z.success(gettext("Thread has been merged with other one.")),window.location=e.url})),(0,h.Z)((0,c.Z)(t),"handleError",(function(e){x.Z.dispatch(y.Ar()),400===e.status?e.best_answers||e.polls?N.Z.show((0,o.Z)(Pa.ZP,{api:t.props.thread.api.merge,bestAnswers:e.best_answers,data:{other_thread:t.state.url},polls:e.polls,onError:t.handleError,onSuccess:t.handleSuccessUnmounted})):e.best_answer?k.Z.error(e.best_answer[0]):e.poll?k.Z.error(e.poll[0]):k.Z.error(e.detail):k.Z.apiError(e)})),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return x.Z.dispatch(y.n6()),_.Z.post(this.props.thread.api.merge,{other_thread:this.state.url})}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,Sa||(Sa=(0,o.Z)(Ma,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",disabled:this.state.isLoading||this.props.thread.isBusy},void 0,gettext("Merge thread"))))))}}]),s}(Z.Z);function Ma(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,La||(La=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Merge thread")))}var Ua,za,Ha,Fa,qa,Ya,Va,$a,Ga,Wa,Ka,Ja,Qa=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onCategoryChange",(function(e){t.changeValue("category",e.target.value)})),t.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},t}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(S.Z.get("THREAD_EDITOR_API")).then((function(t){var n=null,a=t.map((function(e){return!1===e.post||n||(n=e.id),Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id})}));e.setState({isReady:!0,category:n,categories:a})}),(function(t){e.setState({isError:t.detail})}))}},{key:"send",value:function(){return x.Z.dispatch(y.n6()),_.Z.patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){_.Z.get(this.props.thread.api.posts.index,{page:this.props.posts.page}).then((function(e){x.Z.dispatch(y.gx(e)),x.Z.dispatch(Un.zD(e.post_set)),x.Z.dispatch(y.Ar()),k.Z.success(gettext("Thread has been moved.")),N.Z.hide()}),(function(e){x.Z.dispatch(y.Ar()),k.Z.apiError(e)}))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,Oa||(Oa=(0,o.Z)(Xa,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_category",label:gettext("New category")},void 0,(0,o.Z)(Xt.Z,{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",disabled:this.state.isLoading||this.props.thread.isBusy},void 0,gettext("Move thread")))))):this.state.isError?(0,o.Z)(ts,{message:this.state.isError}):Ta||(Ta=(0,o.Z)(es,{}))}}]),s}(Z.Z);function Xa(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Aa||(Aa=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move thread")))}function es(e){return Ba||(Ba=(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)(Xa,{}),(0,o.Z)(at.Z,{}))))}function ts(e){return(0,o.Z)("div",{className:"modal-dialog modal-message",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,Ia||(Ia=(0,o.Z)(Xa,{})),ja||(ja=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move this thread at the moment.")),(0,o.Z)("p",{},void 0,e.message),(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok")))))}var ns,as,ss,is,os=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"callApi",(function(t,n){x.Z.dispatch(y.n6()),t.push({op:"add",path:"acl",value:!0}),_.Z.patch(e.props.thread.api.index,t).then((function(e){x.Z.dispatch(y.Vx(e)),x.Z.dispatch(y.Ar()),k.Z.success(n)}),(function(e){x.Z.dispatch(y.Ar()),400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e)}))})),(0,h.Z)((0,c.Z)(e),"changeTitle",(function(){N.Z.show((0,o.Z)(Ca,{thread:e.props.thread}))})),(0,h.Z)((0,c.Z)(e),"pinGlobally",(function(){e.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))})),(0,h.Z)((0,c.Z)(e),"pinLocally",(function(){e.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))})),(0,h.Z)((0,c.Z)(e),"unpin",(function(){e.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))})),(0,h.Z)((0,c.Z)(e),"approve",(function(){e.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))})),(0,h.Z)((0,c.Z)(e),"open",(function(){e.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))})),(0,h.Z)((0,c.Z)(e),"close",(function(){e.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))})),(0,h.Z)((0,c.Z)(e),"unhide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))})),(0,h.Z)((0,c.Z)(e),"hide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))})),(0,h.Z)((0,c.Z)(e),"move",(function(){N.Z.show((0,o.Z)(Qa,{posts:e.props.posts,thread:e.props.thread}))})),(0,h.Z)((0,c.Z)(e),"merge",(function(){N.Z.show((0,o.Z)(Da,{thread:e.props.thread}))})),(0,h.Z)((0,c.Z)(e),"delete",(function(){window.confirm(gettext("Are you sure you want to delete this thread?"))&&(x.Z.dispatch(y.n6()),_.Z.delete(e.props.thread.api.index).then((function(t){k.Z.success(gettext("Thread has been deleted.")),window.location=e.props.thread.category.url.index}),(function(e){x.Z.dispatch(y.Ar()),k.Z.apiError(e)})))})),e}return(0,l.Z)(s,[{key:"render",value:function(){var e=this.props.moderation;return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,!!e.edit&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.changeTitle,type:"button"},void 0,Ua||(Ua=(0,o.Z)("span",{className:"material-icon"},void 0,"edit")),gettext("Change title"))),!!e.pinGlobally&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},void 0,za||(za=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark")),gettext("Pin globally"))),!!e.pinLocally&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},void 0,Ha||(Ha=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark_border")),gettext("Pin locally"))),!!e.unpin&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},void 0,Fa||(Fa=(0,o.Z)("span",{className:"material-icon"},void 0,"panorama_fish_eye")),gettext("Unpin"))),!!e.move&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.move,type:"button"},void 0,qa||(qa=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))),!!e.merge&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.merge,type:"button"},void 0,Ya||(Ya=(0,o.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge"))),!!e.approve&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.approve,type:"button"},void 0,Va||(Va=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))),!!e.open&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.open,type:"button"},void 0,$a||($a=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Open"))),!!e.close&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.close,type:"button"},void 0,Ga||(Ga=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Close"))),!!e.unhide&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},void 0,Wa||(Wa=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))),!!e.hide&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.hide,type:"button"},void 0,Ka||(Ka=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))),!!e.delete&&(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:this.delete,type:"button"},void 0,Ja||(Ja=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))))}}]),s}(v().Component),rs=os,ls=function(e){var t=e.thread,n=e.posts,a=e.moderation;return(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Thread options"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:t.isBusy},void 0,ns||(ns=(0,o.Z)("span",{className:"material-icon"},void 0,"settings"))),(0,o.Z)(rs,{thread:t,posts:n,moderation:a}))},cs=n(94184),us=n.n(cs);function ds(e,t,n){var a={subscription:e.subscription};x.Z.dispatch(y.Vx({subscription:t})),_.Z.patch(e.api.index,[{op:"replace",path:"subscription",value:n}]).then((function(e){x.Z.dispatch(y.Vx(e))}),(function(e){400===e.status?k.Z.error(e.detail[0]):k.Z.apiError(e),x.Z.dispatch(y.Vx(a))}))}var ps,hs,fs,vs,ms,Zs,gs,bs,ys,_s,Ns,ks,xs,ws=function(e){var t,n=e.stickToBottom,a=e.thread;return(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-outline btn-block","aria-expanded":"true","aria-haspopup":"true","data-toggle":"dropdown",type:"button"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,!0===(t=a.subscription)?"star":!1===t?"star_half":"star_border"),function(e){return!0===e?gettext("E-mail"):!1===e?gettext("Enabled"):gettext("Disabled")}(a.subscription)),(0,o.Z)("ul",{className:us()("dropdown-menu dropdown-menu-right",{"stick-to-bottom":n})},void 0,(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){null!==e.subscription&&ds(e,null,"unsubscribe")}(a)}},void 0,as||(as=(0,o.Z)("span",{className:"material-icon"},void 0,"star_border")),gettext("Unsubscribe"))),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){!1!==e.subscription&&ds(e,!1,"notify")}(a)}},void 0,ss||(ss=(0,o.Z)("span",{className:"material-icon"},void 0,"star_half")),gettext("Subscribe"))),(0,o.Z)("li",{},void 0,(0,o.Z)("button",{className:"btn btn-link",onClick:function(){return function(e){!0!==e.subscription&&ds(e,!0,"email")}(a)}},void 0,is||(is=(0,o.Z)("span",{className:"material-icon"},void 0,"star")),gettext("Subscribe with e-mail")))))},Rs=function(e){var t=e.children,n=e.className;return(0,o.Z)("ul",{className:us()("breadcrumbs",n)},void 0,t)},Cs=function(e){var t=e.category,n=e.className;return(0,o.Z)("li",{className:us()("breadcrumbs-item",n)},void 0,(0,o.Z)("a",{href:t.url.index},void 0,(0,o.Z)("span",{className:"material-icon",style:{color:t.color||"inherit"}},void 0,"label"),!!t.short_name&&(0,o.Z)("span",{className:"breadcrumbs-item-name hidden-sm hidden-md hidden-lg",title:t.name},void 0,t.short_name),!!t.short_name&&(0,o.Z)("span",{className:"breadcrumbs-item-name hidden-xs"},void 0,t.name),!t.short_name&&(0,o.Z)("span",{className:"breadcrumbs-item-name"},void 0,t.name)))},Es=function(e){var t=e.category,n=e.className;return(0,o.Z)("li",{className:us()("breadcrumbs-item",n)},void 0,(0,o.Z)("a",{href:t.url.index},void 0,ps||(ps=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right")),(0,o.Z)("span",{className:"breadcrumbs-item-name"},void 0,"root_category"===t.special_role?gettext("Threads"):gettext("Private threads"))))},Ss=function(e){var t=e.breadcrumbs;return(0,o.Z)(Rs,{},void 0,t.map((function(e){return e.special_role?(0,o.Z)(Es,{category:e},e.id):(0,o.Z)(Cs,{category:e},e.id)})))},Ls=function(e){var t=e.styleName,n=e.thread,a=e.posts,s=e.user,i=e.moderation;return(0,o.Z)(wa.sP,{},void 0,(0,o.Z)(wa.mr,{styleName:t},void 0,(0,o.Z)(wa.gC,{styleName:t},void 0,(0,o.Z)(Ss,{breadcrumbs:n.path}),(0,o.Z)("h1",{},void 0,n.title)),(0,o.Z)(wa.eA,{className:"page-header-thread-details"},void 0,(0,o.Z)(_a.gq,{},void 0,(0,o.Z)(_a.kw,{auto:!0},void 0,(0,o.Z)(_a.Z6,{shrink:!0},void 0,(0,o.Z)(xa,{thread:n})),hs||(hs=(0,o.Z)(_a.Z6,{auto:!0})),n.replies>0&&(0,o.Z)(_a.Z6,{shrink:!0},void 0,(0,o.Z)(ka.Z,{thread:n})),function(e){return e.is_closed||e.is_hidden||e.is_unapproved||e.weight>0||e.best_answer||e.has_poll||e.has_unapproved_posts}(n)&&(0,o.Z)(_a.Z6,{shrink:!0},void 0,(0,o.Z)(Na.Z,{thread:n}))),s.is_authenticated&&(0,o.Z)(_a.kw,{},void 0,(0,o.Z)(_a.Z6,{},void 0,(0,o.Z)(ws,{thread:n})),i.enabled&&(0,o.Z)(_a.Z6,{shrink:!0},void 0,(0,o.Z)(ls,{thread:n,posts:a,moderation:i})))))))},Ps=n(92490),Os=n(69987),Ts=function(e){var t=e.baseUrl,n=e.posts;return(0,o.Z)("div",{className:"misago-pagination"},void 0,n.isLoaded&&n.first?(0,o.Z)(Os.rU,{className:"btn btn-default btn-outline btn-icon",to:t,title:gettext("Go to first page")},void 0,fs||(fs=(0,o.Z)("span",{className:"material-icon"},void 0,"first_page"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to first page"),type:"button",disabled:!0},void 0,vs||(vs=(0,o.Z)("span",{className:"material-icon"},void 0,"first_page"))),n.isLoaded&&n.previous?(0,o.Z)(Os.rU,{className:"btn btn-default btn-outline btn-icon",to:t+(n.previous>1?n.previous+"/":""),title:gettext("Go to previous page")},void 0,ms||(ms=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to previous page"),type:"button",disabled:!0},void 0,Zs||(Zs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_left"))),n.isLoaded&&n.next?(0,o.Z)(Os.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.next+"/",title:gettext("Go to next page")},void 0,gs||(gs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to next page"),type:"button",disabled:!0},void 0,bs||(bs=(0,o.Z)("span",{className:"material-icon"},void 0,"chevron_right"))),n.isLoaded&&n.last?(0,o.Z)(Os.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.last+"/",title:gettext("Go to last page")},void 0,ys||(ys=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page"))):(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to last page"),type:"button",disabled:!0},void 0,_s||(_s=(0,o.Z)("span",{className:"material-icon"},void 0,"last_page"))))},As=function(e){var t=e.posts;return t.more?(0,o.Z)("p",{},void 0,interpolate(ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",t.more),{more:t.more},!0)):(0,o.Z)("p",{},void 0,gettext("There are no more posts in this thread."))};function Bs(e){var t=e.errors,n=e.posts;return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Ns||(Ns=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Moderation"))),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("One or more posts could not be changed:")),(0,o.Z)("ul",{className:"list-unstyled list-errored-items"},void 0,t.map((function(e){return(0,o.Z)(Is,{errors:e.detail,post:n[e.id]},e.id)}))))))}function Is(e){var t=e.errors,n=e.post,a=interpolate(gettext("%(username)s on %(posted_on)s"),{posted_on:n.posted_on.format("LL, LT"),username:n.poster_name},!0);return(0,o.Z)("li",{},void 0,(0,o.Z)("h5",{},void 0,a,":"),t.map((function(e,t){return(0,o.Z)("p",{},t,e)})))}function js(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_unapproved:!1}})),a=t.map((function(e){return{id:e.id,is_unapproved:e.is_unapproved}}));Hs(e,[{op:"replace",path:"is-unapproved",value:!1}],n,a)}function Ds(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_protected:!0}})),a=t.map((function(e){return{id:e.id,is_protected:e.is_protected}}));Hs(e,[{op:"replace",path:"is-protected",value:!0}],n,a)}function Ms(e){var t=e.selection,n=t.map((function(e){return{id:e.id,is_protected:!1}})),a=t.map((function(e){return{id:e.id,is_protected:e.is_protected}}));Hs(e,[{op:"replace",path:"is-protected",value:!1}],n,a)}function Us(e){var t=e.selection,n=t.map((function(t){return{id:t.id,is_hidden:!0,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}})),a=t.map((function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}}));Hs(e,[{op:"replace",path:"is-hidden",value:!0}],n,a)}function zs(e){var t=e.selection,n=t.map((function(t){return{id:t.id,is_hidden:!1,hidden_on:V()(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}})),a=t.map((function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}}));Hs(e,[{op:"replace",path:"is-hidden",value:!1}],n,a)}function Hs(e,t,n,a){var s=e.selection,i=e.thread;n.forEach((function(e){$.r$(e,e)})),x.Z.dispatch(Un.kR());var r={ops:t,ids:s.map((function(e){return e.id}))};_.Z.patch(i.api.posts.index,r).then((function(e){e.forEach((function(e){x.Z.dispatch($.r$(e,e))}))}),(function(e){if(400!==e.status)return a.forEach((function(e){x.Z.dispatch($.r$(e,e))})),k.Z.apiError(e);var t=[],n=[];e.forEach((function(e){e.detail?(t.push(e),n.push(e.id)):x.Z.dispatch($.r$(e,e)),a.forEach((function(e){-1!==n.indexOf(e)&&x.Z.dispatch($.r$(e,e))}))}));var i={};s.forEach((function(e){i[e.id]=e})),N.Z.show((0,o.Z)(Bs,{errors:t,posts:i}))}))}function Fs(e){window.confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"))&&(e.selection.slice(1).map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),_.Z.post(e.thread.api.posts.merge,{posts:e.selection.map((function(e){return e.id}))}).then((function(e){x.Z.dispatch($.r$(e,$.ZB(e)))}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),e.selection.slice(1).map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!1}))}))})),x.Z.dispatch(Un.kR()))}function qs(e){if(window.confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"))){e.selection.map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))}));var t=e.selection.map((function(e){return e.id}));_.Z.delete(e.thread.api.posts.index,t).then((function(){}),(function(t){400===t.status?k.Z.error(t.detail):k.Z.apiError(t),e.selection.map((function(e){x.Z.dispatch($.r$(e,{isDeleted:!1}))}))})),x.Z.dispatch(Un.kR())}}var Ys,Vs,$s,Gs,Ws,Ks,Js=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),t=a.call(this,e),(0,h.Z)((0,c.Z)(t),"onUrlChange",(function(e){t.changeValue("url",e.target.value)})),t.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},t}return(0,l.Z)(s,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k.Z.error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.move,{new_thread:this.state.url,posts:this.props.selection.map((function(e){return e.id}))})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),N.Z.hide(),k.Z.success(gettext("Selected posts were moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k.Z.error(e.detail):k.Z.apiError(e)}},{key:"render",value:function(){return(0,o.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,ks||(ks=(0,o.Z)(Qs,{})),(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{for:"id_url",label:gettext("Link to thread you want to move posts to")},void 0,(0,o.Z)("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)("button",{className:"btn btn-primary",disabled:this.state.isLoading},void 0,gettext("Move posts"))))))}}]),s}(Z.Z);function Qs(e){return(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,xs||(xs=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Move posts")))}function Xs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function ei(e){return v().createElement(ui,(0,m.Z)({},e,{Form:di}))}var ti,ni,ai,si,ii,oi,ri,li,ci,ui=function(e){(0,u.Z)(n,e);var t=Xs(n);function n(e){var a;return(0,r.Z)(this,n),(a=t.call(this,e)).state={isLoaded:!1,isError:!1,categories:[]},a}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;_.Z.get(misago.get("THREAD_EDITOR_API")).then((function(t){var n=t.map((function(e){return Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id,post:e.post})}));e.setState({isLoaded:!0,categories:n})}),(function(t){e.setState({isError:t.detail})}))}},{key:"render",value:function(){return this.state.isError?(0,o.Z)(hi,{message:this.state.isError}):this.state.isLoaded?v().createElement(di,(0,m.Z)({},this.props,{categories:this.state.categories})):Ys||(Ys=(0,o.Z)(pi,{}))}}]),n}(v().Component),di=function(e){(0,u.Z)(n,e);var t=Xs(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this,e),(0,h.Z)((0,c.Z)(a),"onCategoryChange",(function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)})),a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[tn.C1()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach((function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})})),a}return(0,l.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(k.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return _.Z.post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:this.props.selection.map((function(e){return e.id}))})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach((function(e){x.Z.dispatch($.r$(e,{isDeleted:!0}))})),N.Z.hide(),k.Z.success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),k.Z.error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?N.Z.show((0,o.Z)(Bs,{errors:e})):k.Z.apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,o.Z)(g.Z,{label:gettext("Thread weight"),for:"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,o.Z)(g.Z,{label:gettext("Hide thread"),for:"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,o.Z)(g.Z,{label:gettext("Close thread"),for:"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},void 0,(0,o.Z)(en.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return(0,o.Z)(fi,{className:"modal-dialog"},void 0,(0,o.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,o.Z)("div",{className:"modal-body"},void 0,(0,o.Z)(g.Z,{label:gettext("Thread title"),for:"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},void 0,(0,o.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),Vs||(Vs=(0,o.Z)("div",{className:"clearfix"})),(0,o.Z)(g.Z,{label:gettext("Category"),for:"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},void 0,(0,o.Z)(Xt.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),$s||($s=(0,o.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,o.Z)("div",{className:"modal-footer"},void 0,(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,o.Z)(Ct.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Split posts")))))}}]),n}(Z.Z);function pi(){return Gs||(Gs=(0,o.Z)(fi,{className:"modal-dialog"},void 0,(0,o.Z)(at.Z,{})))}function hi(e){return(0,o.Z)(fi,{className:"modal-dialog modal-message"},void 0,Ws||(Ws=(0,o.Z)("div",{className:"message-icon"},void 0,(0,o.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,o.Z)("div",{className:"message-body"},void 0,(0,o.Z)("p",{className:"lead"},void 0,gettext("You can't move selected posts at the moment.")),(0,o.Z)("p",{},void 0,e.message),(0,o.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}function fi(e){return(0,o.Z)("div",{className:e.className,role:"document"},void 0,(0,o.Z)("div",{className:"modal-content"},void 0,(0,o.Z)("div",{className:"modal-header"},void 0,(0,o.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Ks||(Ks=(0,o.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,o.Z)("h4",{className:"modal-title"},void 0,gettext("Split posts into new thread"))),e.children))}function vi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,p.Z)(e);if(t){var s=(0,p.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,d.Z)(this,n)}}function mi(e){return(0,o.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,v().createElement(Ci,e),v().createElement(Ei,e),v().createElement(Si,e),v().createElement(Li,e),v().createElement(Pi,e),v().createElement(Oi,e),v().createElement(Ai,e),v().createElement(Ti,e),v().createElement(Bi,e))}var Zi,gi,bi,yi,_i,Ni,ki,xi,wi,Ri,Ci=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){js(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_approve&&e.is_unapproved}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ti||(ti=(0,o.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve"))):null}}]),n}(v().Component),Ei=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Fs(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.length>1&&this.props.selection.find((function(e){return e.acl.can_merge}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ni||(ni=(0,o.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge"))):null}}]),n}(v().Component),Si=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(Js,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_move}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ai||(ai=(0,o.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move"))):null}}]),n}(v().Component),Li=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){N.Z.show(v().createElement(ei,e.props))})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_move}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,si||(si=(0,o.Z)("span",{className:"material-icon"},void 0,"call_split")),gettext("Split"))):null}}]),n}(v().Component),Pi=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ds(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return!e.is_protected&&e.acl.can_protect}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ii||(ii=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Protect"))):null}}]),n}(v().Component),Oi=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Ms(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.is_protected&&e.acl.can_protect}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,oi||(oi=(0,o.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Unprotect"))):null}}]),n}(v().Component),Ti=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){Us(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_hide&&!e.is_hidden}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ri||(ri=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide"))):null}}]),n}(v().Component),Ai=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){zs(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_unhide&&e.is_hidden}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,li||(li=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide"))):null}}]),n}(v().Component),Bi=function(e){(0,u.Z)(n,e);var t=vi(n);function n(){var e;(0,r.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,h.Z)((0,c.Z)(e),"onClick",(function(){qs(e.props)})),e}return(0,l.Z)(n,[{key:"render",value:function(){var e=this.props.selection.find((function(e){return e.acl.can_delete}));return e?(0,o.Z)("li",{},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-link",onClick:this.onClick},void 0,ci||(ci=(0,o.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete"))):null}}]),n}(v().Component),Ii=function(e){var t=e.thread,n=e.user,a=e.selection,s=e.dropup;return(0,o.Z)("div",{className:s?"dropup":"dropdown"},void 0,(0,o.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Posts options"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:0===a.length},void 0,Zi||(Zi=(0,o.Z)("span",{className:"material-icon"},void 0,"settings"))),(0,o.Z)(mi,{thread:t,user:n,selection:a}))},ji=function(e){var t=e.onClick;return(0,o.Z)("button",{className:"btn btn-primary btn-outline btn-block",type:"button",onClick:t},void 0,gi||(gi=(0,o.Z)("span",{className:"material-icon"},void 0,"chat")),gettext("Reply"))},Di=function(e){var t=e.thread,n=e.posts,a=e.user,s=e.selection,i=e.moderation,r=e.onReply;return(0,o.Z)(Ps.o8,{},void 0,(0,o.Z)(Ps.Z2,{},void 0,(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(Ts,{baseUrl:t.url.index,posts:n})),(0,o.Z)(Ps.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Ii,{thread:t,user:a,selection:s,dropup:!0}))),(0,o.Z)(Ps.Z2,{className:"hidden-xs hidden-sm",auto:!0},void 0,(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(As,{posts:n}))),bi||(bi=(0,o.Z)(Ps.tw,{className:"hidden-md hidden-lg"})),a.is_authenticated&&(0,o.Z)(Ps.Z2,{},void 0,(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(ws,{thread:t})),t.acl.can_reply&&(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(ji,{onClick:r})),i.enabled&&(0,o.Z)(Ps.Eg,{className:"hidden-xs",shrink:!0},void 0,(0,o.Z)(Ii,{thread:t,user:a,selection:s,dropup:!0}))))},Mi=function(e){var t=e.compact,n=e.onClick;return(0,o.Z)("button",{className:us()("btn btn-default btn-outline",{"btn-block":!t,"btn-icon":t}),type:"button",title:t?gettext("Add poll"):null,onClick:n},void 0,yi||(yi=(0,o.Z)("span",{className:"material-icon"},void 0,"poll")),!t&&gettext("Add poll"))},Ui=function(e){var t=e.user,n=e.thread;return(0,o.Z)("div",{className:"dropdown"},void 0,(0,o.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Shortcuts"),"aria-expanded":"true","aria-haspopup":"true","data-toggle":"dropdown",type:"button"},void 0,_i||(_i=(0,o.Z)("span",{className:"material-icon"},void 0,"bookmark"))),(0,o.Z)("ul",{className:"dropdown-menu"},void 0,t.is_authenticated&&n.is_new&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.new_post},void 0,Ni||(Ni=(0,o.Z)("span",{className:"material-icon"},void 0,"comment")),gettext("Go to new post"))),n.best_answer&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.best_answer},void 0,ki||(ki=(0,o.Z)("span",{className:"material-icon"},void 0,"check_circle")),gettext("Go to best answer"))),n.has_unapproved_posts&&n.acl.can_approve&&(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.unapproved_post},void 0,xi||(xi=(0,o.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Go to unapproved post"))),(0,o.Z)("li",{},void 0,(0,o.Z)("a",{className:"btn btn-link",href:n.url.last_post},void 0,wi||(wi=(0,o.Z)("span",{className:"material-icon"},void 0,"reply")),gettext("Go to last post")))))},zi=function(e){var t=e.thread,n=e.posts,a=e.user,s=e.selection,i=e.moderation,r=e.onPoll,l=e.onReply;return(0,o.Z)(Ps.o8,{},void 0,(0,o.Z)(Ps.Z2,{className:"hidden-xs"},void 0,(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(Ui,{thread:t,user:a})),(0,o.Z)(Ps.Eg,{className:"hidden-xs hidden-sm"},void 0,(0,o.Z)(Ts,{baseUrl:t.url.index,posts:n}))),Ri||(Ri=(0,o.Z)(Ps.tw,{})),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(Ps.Z2,{className:"hidden-xs"},void 0,(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(Mi,{onClick:r}))),t.acl.can_reply?(0,o.Z)(Ps.Z2,{},void 0,(0,o.Z)(Ps.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Ui,{thread:t,user:a})),(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(ji,{onClick:l})),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(Ps.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Mi,{onClick:r,compact:!0})),i.enabled&&(0,o.Z)(Ps.Eg,{className:"hidden-xs",shrink:!0},void 0,(0,o.Z)(Ii,{thread:t,user:a,selection:s}))):(0,o.Z)(Ps.Z2,{},void 0,(0,o.Z)(Ps.Eg,{className:"hidden-sm hidden-md hidden-lg",shrink:!0},void 0,(0,o.Z)(Ui,{thread:t,user:a})),t.acl.can_start_poll&&!t.poll&&(0,o.Z)(Ps.Eg,{},void 0,(0,o.Z)(Mi,{onClick:r})),i.enabled&&(0,o.Z)(Ps.Eg,{shrink:!0},void 0,(0,o.Z)(Ii,{thread:t,user:a,selection:s}))))};var Hi=function(e){(0,u.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,p.Z)(t);if(n){var s=(0,p.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,d.Z)(this,e)});function s(){var e;(0,r.Z)(this,s);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=a.call.apply(a,[this].concat(n)),(0,h.Z)((0,c.Z)(e),"update",(function(t){x.Z.dispatch(y.gx(t)),x.Z.dispatch(Un.zD(t.post_set)),t.participants&&x.Z.dispatch(b.gx(t.participants)),t.poll&&x.Z.dispatch(Za.gx(t.poll)),e.setPageTitle()})),(0,h.Z)((0,c.Z)(e),"openPollForm",(function(){ft.Z.open({mode:"POLL",submit:e.props.thread.api.poll,thread:e.props.thread,poll:null})})),(0,h.Z)((0,c.Z)(e),"openReplyForm",(function(){ft.Z.open({mode:"REPLY",config:e.props.thread.api.editor,submit:e.props.thread.api.posts.index})})),e}return(0,l.Z)(s,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){return!!this.props.posts.isLoaded&&1*(this.props.params.page||1)!=this.props.posts.page}},{key:"fetchData",value:function(){var e=this;x.Z.dispatch(Un.Rz()),_.Z.get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then((function(t){e.update(t)}),(function(e){k.Z.apiError(e)}))}},{key:"startPollingApi",value:function(){ga.Z.start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){ga.Z.stop("thread-posts")}},{key:"setPageTitle",value:function(){ba.Z.set({title:this.props.thread.title,parent:this.props.thread.category.name,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){var e=this.props.thread.category,t="page page-thread";e.css_class&&(t+=" page-thread-"+e.css_class);var n="private_threads"===e.special_role?"private-threads":e.css_class||"category-threads",a=Fi(this.props.thread,this.props.user),s=qi(this.props.posts.results,this.props.user),i=this.props.posts.results.filter((function(e){return e.isSelected}));return(0,o.Z)("div",{className:t},void 0,(0,o.Z)(Ls,{styleName:n,thread:this.props.thread,posts:this.props.posts,user:this.props.user,moderation:a}),(0,o.Z)(ya.Z,{},void 0,(0,o.Z)(M,{participants:this.props.participants,thread:this.props.thread,user:this.props.user}),(0,o.Z)(zi,{thread:this.props.thread,posts:this.props.posts,user:this.props.user,selection:i,moderation:s,onPoll:this.openPollForm,onReply:this.openReplyForm}),(0,o.Z)(z.n,{poll:this.props.poll,thread:this.props.thread,user:this.props.user}),v().createElement(pa,this.props),(0,o.Z)(Di,{thread:this.props.thread,posts:this.props.posts,user:this.props.user,selection:i,moderation:s,onReply:this.openReplyForm})))}}]),s}(v().Component),Fi=function(e,t){var n={enabled:!1,edit:!1,approve:!1,close:!1,open:!1,hide:!1,unhide:!1,move:!1,merge:!1,pinGlobally:!1,pinLocally:!1,unpin:!1,delete:!1};return t.is_authenticated?(n.edit=e.acl.can_edit,n.approve=e.acl.can_approve&&e.is_unapproved,n.close=e.acl.can_close&&!e.is_closed,n.open=e.acl.can_close&&e.is_closed,n.hide=e.acl.can_hide&&!e.is_hidden,n.unhide=e.acl.can_unhide&&e.is_hidden,n.move=e.acl.can_move,n.merge=e.acl.can_merge,n.pinGlobally=e.acl.can_pin_globally&&e.weight<2,n.pinLocally=e.acl.can_pin&&1!==e.weight,n.unpin=e.acl.can_pin&&1===e.weight||e.acl.can_pin_globally&&2===e.weight,n.delete=e.acl.can_delete,n.enabled=n.edit||n.approve||n.close||n.open||n.hide||n.unhide||n.move||n.merge||n.pinGlobally||n.pinLocally||n.unpin||n.delete,n):n},qi=function(e,t){var n={enabled:!1,approve:!1,move:!1,merge:!1,protect:!1,hide:!1,delete:!1};return t.is_authenticated?(e.forEach((function(e){e.is_event||(e.acl.can_approve&&e.is_unapproved&&(n.approve=!0),e.acl.can_move&&(n.move=!0),e.acl.can_merge&&(n.merge=!0),(e.acl.can_protect||e.acl.can_unprotect)&&(n.protect=!0),(e.acl.can_hide||e.acl.can_unhide)&&(n.hide=!0),e.acl.can_delete&&(n.delete=!0),(n.approve||n.move||n.merge||n.protect||n.hide||n.delete)&&(n.enabled=!0))})),n):n};function Yi(e){return{participants:e.participants,poll:e.poll,posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}var Vi=n(39633);S.Z.addInitializer({name:"component:thread",initializer:function(e){var t,n;e.has("THREAD")&&e.has("POSTS")&&(0,Vi.Z)({paths:(t=S.Z.get("THREAD"),n=t.url.index.replace(t.slug+"-"+t.pk,":slug"),[{path:n,component:(0,i.$j)(Yi)(Hi)},{path:n+":page/",component:(0,i.$j)(Yi)(Hi)}])})},after:"store"})},72168:function(e,t,n){"use strict";var a=n(37424),s=n(22928),i=n(15671),o=n(43144),r=n(97326),l=n(79340),c=n(6215),u=n(61120),d=n(4942),p=n(57588),h=n.n(p),f=n(82211);function v(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function m(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:v(e,t)}function Z(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:v(e,t)}var g,b,y=n(59131),_=n(27950),N=n(92490),k=n(69987),x=function(e){var t=e.allItems,n=e.parentUrl,a=e.category,i=e.categories,o=e.list;return(0,s.Z)("div",{className:"dropdown threads-category-picker"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block text-ellipsis","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,a&&(0,s.Z)("span",{className:"material-icon",style:{color:a.color||"inherit"}},void 0,"label"),a&&a.short_name&&(0,s.Z)("span",{className:a.short_name&&"hidden-md hidden-lg"},void 0,a.short_name),a?(0,s.Z)("span",{className:a.short_name&&"hidden-xs hidden-sm"},void 0,a.name):t),(0,s.Z)("ul",{className:"dropdown-menu"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)(k.rU,{to:n+o.path},void 0,t)),g||(g=(0,s.Z)("li",{role:"separator",className:"divider"})),i.map((function(e){return(0,s.Z)("li",{},e.id,(0,s.Z)(k.rU,{to:e.url.index+o.path},void 0,(0,s.Z)("span",{className:"material-icon",style:{color:e.color||"inherit"}},void 0,"label"),e.name))}))))},w=function(e){var t=e.baseUrl,n=e.list,a=e.lists;return(0,s.Z)("div",{className:"dropdown threads-list-picker"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,n.longName),(0,s.Z)("ul",{className:"dropdown-menu stick-to-bottom"},void 0,a.map((function(e){return(0,s.Z)("li",{},e.type,(0,s.Z)(k.rU,{to:t+e.path},void 0,e.longName))}))))};var R=function(e){(0,l.Z)(r,e);var t,n,a=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function r(){return(0,i.Z)(this,r),a.apply(this,arguments)}return(0,o.Z)(r,[{key:"render",value:function(){return(0,s.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,b||(b=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Threads moderation"))),(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("One or more threads could not be deleted:")),(0,s.Z)("ul",{className:"list-unstyled list-errored-items"},void 0,this.props.errors.map((function(e){return(0,s.Z)(C,{errors:e.errors,thread:e.thread},e.thread.id)}))))))}}]),r}(h().Component);function C(e){var t=e.errors,n=e.thread;return(0,s.Z)("li",{},void 0,(0,s.Z)("h5",{},void 0,n.title),t.map((function(e,t){return(0,s.Z)("p",{},void 0,e)})))}var E,S,L,P,O=n(43345),T=n(96359),A=n(57026),B=n(60471),I=n(32233),j=n(61340),D=n(77751),M=n(52753),U=n(78657),z=n(59801),H=n(53904),F=n(90287),q=n(55210);var Y,V,$=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;for(var n in(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"getFormdata",(function(){return{threads:t.props.threads.map((function(e){return e.id})),title:t.state.title,category:t.state.category,weight:t.state.weight,is_hidden:t.state.is_hidden,is_closed:t.state.is_closed}})),(0,d.Z)((0,r.Z)(t),"handleSuccess",(function(e){t.props.threads.forEach((function(e){t.props.freezeThread(e.id),t.props.deleteThread(e)})),F.Z.dispatch(D.YP()),t.props.addThreads([e]),F.Z.dispatch((0,j.V8)(t.props.route.category,t.props.categoriesMap)),z.Z.hide()})),(0,d.Z)((0,r.Z)(t),"handleError",(function(e){400===e.status?e.best_answers||e.polls?z.Z.show((0,s.Z)(M.ZP,{api:I.Z.get("MERGE_THREADS_API"),bestAnswers:e.best_answers,data:t.getFormdata(),polls:e.polls,onError:t.handleError,onSuccess:t.handleSuccess})):(t.setState({errors:Object.assign({},t.state.errors,e)}),H.Z.error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?z.Z.show((0,s.Z)(R,{errors:e})):e.best_answer?H.Z.error(e.best_answer[0]):e.poll?H.Z.error(e.poll[0]):H.Z.apiError(e)})),(0,d.Z)((0,r.Z)(t),"onCategoryChange",(function(e){var n=e.target.value,a={category:n};t.acl[n].can_pin_threads<a.weight&&(a.weight=0),t.acl[n].can_hide_threads||(a.is_hidden=0),t.acl[n].can_close_threads||(a.is_closed=!1),t.setState(a)})),t.state={isLoading:!1,title:"",category:null,weight:0,is_hidden:0,is_closed:!1,validators:{title:[q.C1()]},errors:{}},t.acl={},e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var o=e.user.acl.categories[n];t.acl[o.id]=o}return t.categoryChoices=[],e.categories.forEach((function(e){if(e.level>0){var n=t.acl[e.id],a=!n.can_start_threads||e.is_closed&&!n.can_close_threads;t.categoryChoices.push({value:e.id,disabled:a,level:e.level-1,label:e.name}),a||t.state.category||(t.state.category=e.id)}})),t.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],t.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],t}return(0,o.Z)(p,[{key:"clean",value:function(){return!!this.isValid()||(H.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return U.Z.post(I.Z.get("MERGE_THREADS_API"),this.getFormdata())}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?(0,s.Z)(T.Z,{label:gettext("Thread weight"),for:"id_weight"},void 0,(0,s.Z)(B.Z,{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?(0,s.Z)(T.Z,{label:gettext("Hide thread"),for:"id_is_hidden"},void 0,(0,s.Z)(B.Z,{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?(0,s.Z)(T.Z,{label:gettext("Close thread"),for:"id_is_closed"},void 0,(0,s.Z)(B.Z,{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(T.Z,{label:gettext("Thread title"),for:"id_title",validation:this.state.errors.title},void 0,(0,s.Z)("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),E||(E=(0,s.Z)("div",{className:"clearfix"})),(0,s.Z)(T.Z,{label:gettext("Category"),for:"id_category",validation:this.state.errors.category},void 0,(0,s.Z)(A.Z,{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),S||(S=(0,s.Z)("div",{className:"clearfix"})),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)(f.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return(0,s.Z)("div",{className:"modal-body"},void 0,L||(L=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"message-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("You can't move threads because there are no categories you are allowed to move them to.")),(0,s.Z)("p",{},void 0,gettext("You need permission to start threads in category to be able to merge threads to it.")),(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"render",value:function(){return(0,s.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,P||(P=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),p}(O.Z);var G,W,K,J,Q,X,ee,te,ne,ae,se,ie,oe,re,le=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"handleSubmit",(function(e){e.preventDefault(),z.Z.hide(),t.props.callApi([{op:"replace",path:"category",value:t.state.category},{op:"replace",path:"flatten-categories",value:null},{op:"add",path:"acl",value:!0}],gettext("Selected threads were moved."),(function(){F.Z.dispatch((0,j.V8)(t.props.route.category,t.props.categoriesMap));var e=F.Z.getState(),n=e.threads.map((function(e){return e.id}));F.Z.dispatch(D.$6(e.selection.filter((function(e){return-1!==n.indexOf(e)}))))}))})),t.state={category:null};var n={};for(var s in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(s)){var o=e.user.acl.categories[s];n[o.id]=o}return t.categoryChoices=[],e.categories.forEach((function(e){if(e.level>0){var a=n[e.id],s=!a.can_start_threads||e.is_closed&&!a.can_close_threads;t.categoryChoices.push({value:e.id,disabled:s,level:e.level-1,label:e.name}),s||t.state.category||(t.state.category=e.id)}})),t}return(0,o.Z)(p,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return(0,s.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,s.Z)("div",{className:"modal-body"},void 0,(0,s.Z)(T.Z,{label:gettext("New category"),for:"id_new_category"},void 0,(0,s.Z)(A.Z,{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),(0,s.Z)("div",{className:"modal-footer"},void 0,(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,s.Z)("button",{className:"btn btn-primary"},void 0,gettext("Move threads"))))}},{key:"renderCantMoveMessage",value:function(){return(0,s.Z)("div",{className:"modal-body"},void 0,Y||(Y=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,s.Z)("div",{className:"message-body"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("You can't move threads because there are no categories you are allowed to move them to.")),(0,s.Z)("p",{},void 0,gettext("You need permission to start threads in category to be able to move threads to it.")),(0,s.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}},{key:"render",value:function(){return(0,s.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,s.Z)("div",{className:"modal-content"},void 0,(0,s.Z)("div",{className:"modal-header"},void 0,(0,s.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,V||(V=(0,s.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,s.Z)("h4",{className:"modal-title"},void 0,gettext("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),p}(O.Z);var ce,ue,de,pe=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(){var e;(0,i.Z)(this,p);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n)),(0,d.Z)((0,r.Z)(e),"callApi",(function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e.props.threads.forEach((function(t){e.props.freezeThread(t.id)}));var i=e.props.threads.map((function(e){return e.id}));t.push({op:"add",path:"acl",value:!0}),U.Z.patch(e.props.api,{ids:i,ops:t}).then((function(t){e.props.threads.forEach((function(t){e.props.freezeThread(t.id)})),t.forEach((function(t){e.props.updateThread(t)})),H.Z.success(n),a&&a()}),(function(t){if(e.props.threads.forEach((function(t){e.props.freezeThread(t.id)})),400!==t.status)return H.Z.apiError(t);var n=[],a={};e.props.threads.forEach((function(e){a[e.id]=e})),t.forEach((function(e){var t=e.id,s=e.detail;void 0!==a[t]&&n.push({errors:s,thread:a[t]})})),z.Z.show((0,s.Z)(R,{errors:n}))}))})),(0,d.Z)((0,r.Z)(e),"pinGlobally",(function(){e.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))})),(0,d.Z)((0,r.Z)(e),"pinLocally",(function(){e.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))})),(0,d.Z)((0,r.Z)(e),"unpin",(function(){e.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))})),(0,d.Z)((0,r.Z)(e),"approve",(function(){e.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))})),(0,d.Z)((0,r.Z)(e),"open",(function(){e.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))})),(0,d.Z)((0,r.Z)(e),"close",(function(){e.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))})),(0,d.Z)((0,r.Z)(e),"unhide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))})),(0,d.Z)((0,r.Z)(e),"hide",(function(){e.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))})),(0,d.Z)((0,r.Z)(e),"move",(function(){z.Z.show((0,s.Z)(le,{callApi:e.callApi,categories:e.props.categories,categoriesMap:e.props.categoriesMap,route:e.props.route,user:e.props.user}))})),(0,d.Z)((0,r.Z)(e),"merge",(function(){var t=[];if(e.props.threads.forEach((function(e){e.acl.can_merge||t.append({id:e.id,title:e.title,errors:[gettext("You don't have permission to merge this thread with others.")]})})),e.props.threads.length<2)H.Z.info(gettext("You have to select at least two threads to merge."));else{if(t.length)return void z.Z.show((0,s.Z)(R,{errors:t}));z.Z.show(h().createElement($,e.props))}})),(0,d.Z)((0,r.Z)(e),"delete",(function(){if(window.confirm(gettext("Are you sure you want to delete selected threads?"))){e.props.threads.map((function(t){e.props.freezeThread(t.id)}));var t=e.props.threads.map((function(e){return e.id}));U.Z.delete(e.props.api,t).then((function(){e.props.threads.map((function(t){e.props.freezeThread(t.id),e.props.deleteThread(t)})),H.Z.success(gettext("Selected threads were deleted."))}),(function(t){if(400===t.status){var n=t.map((function(e){return e.id}));e.props.threads.map((function(t){e.props.freezeThread(t.id),-1===n.indexOf(t.id)&&e.props.deleteThread(t)})),z.Z.show((0,s.Z)(R,{errors:t}))}else H.Z.apiError(t)}))}})),e}return(0,o.Z)(p,[{key:"render",value:function(){var e=this.props,t=e.moderation,n=e.threads,a=0==this.props.selection.length;return(0,s.Z)("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",onClick:function(){return F.Z.dispatch(D.$6(n.map((function(e){return e.id}))))}},void 0,G||(G=(0,s.Z)("span",{className:"material-icon"},void 0,"check_box")),gettext("Select all"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:function(){return F.Z.dispatch(D.YP())}},void 0,W||(W=(0,s.Z)("span",{className:"material-icon"},void 0,"check_box_outline_blank")),gettext("Select none"))),K||(K=(0,s.Z)("li",{role:"separator",className:"divider"})),!!t.can_pin_globally&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.pinGlobally},void 0,J||(J=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark")),gettext("Pin threads globally"))),!!t.can_pin&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.pinLocally},void 0,Q||(Q=(0,s.Z)("span",{className:"material-icon"},void 0,"bookmark_border")),gettext("Pin threads locally"))),!!t.can_pin&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.unpin},void 0,X||(X=(0,s.Z)("span",{className:"material-icon"},void 0,"panorama_fish_eye")),gettext("Unpin threads"))),!!t.can_move&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.move},void 0,ee||(ee=(0,s.Z)("span",{className:"material-icon"},void 0,"arrow_forward")),gettext("Move threads"))),!!t.can_merge&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.merge},void 0,te||(te=(0,s.Z)("span",{className:"material-icon"},void 0,"call_merge")),gettext("Merge threads"))),!!t.can_approve&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.approve},void 0,ne||(ne=(0,s.Z)("span",{className:"material-icon"},void 0,"done")),gettext("Approve threads"))),!!t.can_close&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.open},void 0,ae||(ae=(0,s.Z)("span",{className:"material-icon"},void 0,"lock_open")),gettext("Open threads"))),!!t.can_close&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.close},void 0,se||(se=(0,s.Z)("span",{className:"material-icon"},void 0,"lock_outline")),gettext("Close threads"))),!!t.can_unhide&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.unhide},void 0,ie||(ie=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility")),gettext("Unhide threads"))),!!t.can_hide&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.hide},void 0,oe||(oe=(0,s.Z)("span",{className:"material-icon"},void 0,"visibility_off")),gettext("Hide threads"))),!!t.can_delete&&(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn btn-link",type:"button",disabled:a,onClick:this.delete},void 0,re||(re=(0,s.Z)("span",{className:"material-icon"},void 0,"clear")),gettext("Delete threads"))))}}]),p}(h().Component),he=function(e){var t=e.api,n=e.categoriesMap,a=e.categories,i=e.threads,o=e.addThreads,r=e.freezeThread,l=e.updateThread,c=e.deleteThread,u=e.selection,d=e.moderation,p=e.route,h=e.user,f=e.disabled;return(0,s.Z)("div",{className:"dropdown threads-moderation"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle",title:gettext("Moderation"),"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:f},void 0,ce||(ce=(0,s.Z)("span",{className:"material-icon"},void 0,"settings"))),(0,s.Z)(pe,{api:t,categories:a,categoriesMap:n,threads:i,addThreads:o,freezeThread:r,updateThread:l,deleteThread:c,selection:u,moderation:d,route:p,user:h,disabled:f}))},fe=function(e){var t=e.api,n=e.baseUrl,a=e.category,i=e.categories,o=e.categoriesMap,r=e.topCategory,l=e.topCategories,c=e.subCategory,u=e.subCategories,d=e.list,p=e.lists,h=e.threads,v=e.addThreads,m=e.startThread,Z=e.freezeThread,g=e.updateThread,b=e.deleteThread,y=e.selection,k=e.moderation,R=e.route,C=e.user,E=e.disabled;return(0,s.Z)(N.o8,{},void 0,l.length>0&&(0,s.Z)(N.Z2,{},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(x,{allItems:gettext("All categories"),parentUrl:d.path,category:r,categories:l,list:d})),r&&u.length>0&&(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(x,{allItems:gettext("All subcategories"),parentUrl:r.url.index,category:c,categories:u,list:d}))),p.length>1&&(0,s.Z)(N.Z2,{className:"hidden-xs"},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(w,{baseUrl:n,list:d,lists:p}))),ue||(ue=(0,s.Z)(N.tw,{})),!!C.id&&(0,s.Z)(N.Z2,{},void 0,(0,s.Z)(N.Eg,{},void 0,(0,s.Z)(f.Z,{className:"btn-primary btn-outline btn-block",disabled:E,onClick:function(){_.Z.open(m||{mode:"START",config:misago.get("THREAD_EDITOR_API"),submit:misago.get("THREADS_API"),category:a.id})}},void 0,de||(de=(0,s.Z)("span",{className:"material-icon"},void 0,"chat")),gettext("Start thread"))),k.allow&&(0,s.Z)(N.Eg,{shrink:!0},void 0,(0,s.Z)(he,{api:t,categories:i,categoriesMap:o,threads:h.filter((function(e){return-1!==y.indexOf(e.id)})),addThreads:v,freezeThread:Z,updateThread:g,deleteThread:b,selection:y,moderation:k,route:R,user:C,disabled:E}))))};var ve=function(e){(0,l.Z)(r,e);var t,n,a=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function r(){return(0,i.Z)(this,r),a.apply(this,arguments)}return(0,o.Z)(r,[{key:"render",value:function(){var e=this.props.root,t=this.props.route,n=t.category,a=t.categories,i=t.categoriesMap,o=me(e,n,i);return(0,s.Z)(y.Z,{},void 0,(0,s.Z)(fe,{api:this.props.api,baseUrl:n.url.index,category:n,categories:a,categoriesMap:i,topCategory:o,topCategories:a.filter((function(t){return t.parent===e.id})),subCategories:o?a.filter((function(e){return e.parent===o.id})):[],subCategory:2===n.level?n:null,subcategories:this.props.subcategories,list:this.props.route.list,lists:this.props.route.lists,threads:this.props.threads,addThreads:this.props.addThreads,startThread:this.props.startThread,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,selection:this.props.selection,moderation:this.props.moderation,route:this.props.route,user:this.props.user,disabled:!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}),this.props.children)}}]),r}(h().Component),me=function(e,t,n){return t.parent?t.parent===e.id?t:n[t.parent]:null};function Ze(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach((function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.is_hidden&&e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide})),t}var ge,be,ye,_e,Ne=function(e){var t=e.category,n=e.list,a=e.message;return"all"===n.type?a?(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,a),(0,s.Z)("p",{},void 0,gettext("Why not start one yourself?"))):(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,t.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),(0,s.Z)("p",{},void 0,gettext("Why not start one yourself?"))):(0,s.Z)("li",{className:"list-group-item empty-message"},void 0,(0,s.Z)("p",{className:"lead"},void 0,gettext("No threads matching specified criteria were found.")))},ke=n(50366),xe=n(16768),we=function(e){var t=e.thread;return(0,s.Z)("a",{href:t.url.last_post,className:"threads-list-item-last-activity",title:interpolate(gettext("Last activity: %(timestamp)s"),{timestamp:t.last_post_on.format("LLL")},!0)},void 0,t.last_post_on.fromNow(!0))},Re=function(e){var t="threads-list-item-category threads-list-category-label";return e.color&&(t+=" threads-list-category-label-color"),t},Ce=function(e){var t=e.parent,n=e.category;return(0,s.Z)("span",{},void 0,t&&(0,s.Z)("a",{href:t.url.index,className:Re(t)+" threads-list-item-parent-category",style:t.color?{"--label-color":t.color}:null,title:t.short_name?t.name:null},void 0,t.short_name||t.name),(0,s.Z)("a",{href:n.url.index,className:Re(n),style:n.color?{"--label-color":n.color}:null,title:n.short_name?n.name:null},void 0,n.short_name||n.name))},Ee=function(e){var t=e.checked,n=e.disabled,a=e.thread;return(0,s.Z)("button",{className:"btn btn-default btn-icon",type:"button",disabled:n,onClick:function(){return F.Z.dispatch(D.wc(a.id))}},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,t?"check_box":"check_box_outline_blank"))},Se=function(e){var t=e.thread,n="threads-list-icon";return t.is_read||(n+=" threads-list-icon-new"),(0,s.Z)("a",{title:t.is_read?gettext("No new posts"):gettext("New posts"),href:t.is_read?t.url.last_post:t.url.new_post,className:n},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,t.is_read?"chat_bubble_outline":"chat_bubble"))},Le=n(19605),Pe=function(e){var t=e.thread;return t.last_poster?(0,s.Z)("a",{href:t.url.last_poster,className:"threads-list-item-last-poster",title:interpolate(gettext("Last post by: %(poster)s"),{poster:t.last_poster.username},!0)},void 0,(0,s.Z)(Le.ZP,{size:32,user:t.last_poster})):(0,s.Z)("span",{className:"threads-list-item-last-poster",title:interpolate(gettext("Last post by: %(poster)s"),{poster:t.last_poster_name},!0)},void 0,ge||(ge=(0,s.Z)(Le.ZP,{size:32})))};var Oe,Te,Ae,Be,Ie,je,De,Me,Ue,ze,He={unsubscribe:null,notify:!1,email:!0},Fe=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;return(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"update",(function(e){var n=t.props.thread;t.setState({loading:!0}),F.Z.dispatch((0,j.r$)(n,{subscription:He[e]})),U.Z.patch(n.api.index,[{op:"replace",path:"subscription",value:e}]).then((function(){}),(function(e){F.Z.dispatch((0,j.r$)(n,{subscription:He[n.subscription]})),H.Z.apiError(e)})).then((function(){return t.setState({loading:!1})}))})),(0,d.Z)((0,r.Z)(t),"render",(function(){var e=t.state.loading,n=t.props,a=n.disabled,i=n.thread;return(0,s.Z)("ul",{className:"dropdown-menu dropdown-menu-right"},void 0,(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||null===i.subscription,onClick:function(){return t.update("unsubscribe")}},void 0,be||(be=(0,s.Z)("span",{className:"material-icon"},void 0,"star_border")),gettext("Unsubscribe"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||!1===i.subscription,onClick:function(){return t.update("notify")}},void 0,ye||(ye=(0,s.Z)("span",{className:"material-icon"},void 0,"star_half")),gettext("Subscribe with alert"))),(0,s.Z)("li",{},void 0,(0,s.Z)("button",{className:"btn-link",disabled:a||e||!0===i.subscription,onClick:function(){return t.update("email")}},void 0,_e||(_e=(0,s.Z)("span",{className:"material-icon"},void 0,"star")),gettext("Subscribe with e-mail"))))})),t.state={loading:!1},t}return(0,o.Z)(p)}(h().Component),qe=function(e){var t,n=e.disabled,a=e.thread;return(0,s.Z)("div",{className:"dropdown"},void 0,(0,s.Z)("button",{className:"btn btn-default btn-icon",type:"button",title:(t=a.subscription,!0===t?gettext("Subscribed to e-mails"):!1===t?gettext("Subscribed to alerts"):gettext("Not subscribed")),disabled:n,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,function(e){return!0===e?"star":!1===e?"star_half":"star_border"}(a.subscription))),(0,s.Z)(Fe,{disabled:n,thread:a}))},Ye=function(e){var t=e.activeCategory,n=e.categories,a=e.showOptions,i=e.showSubscription,o=e.thread,r=e.isBusy,l=e.isSelected,c=null,u=null;t.id!==o.category&&(u=n[o.category]).parent&&u.parent!==t.id&&n[u.parent]&&!n[u.parent].special_role&&(c=n[u.parent]);var d=o.is_closed||o.is_hidden||o.is_unapproved||o.weight>0||o.best_answer||o.has_poll||o.has_unapproved_posts,p=!a||o.is_new;return(0,s.Z)("li",{className:"list-group-item threads-list-item"+(r?" threads-list-item-is-busy":"")},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,a&&(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)(Se,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("a",{href:o.url.index,className:"threads-list-item-title"},void 0,o.title),(0,s.Z)("a",{href:p?o.url.new_post:o.url.index,className:"threads-list-item-title-sm"+(p?" threads-list-item-title-new":"")},void 0,o.title)),a&&o.moderation.length>0&&(0,s.Z)("div",{className:"threads-list-item-col-checkbox-sm"},void 0,(0,s.Z)(Ee,{checked:l,disabled:r,thread:o}))),(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,d&&(0,s.Z)("div",{className:"threads-list-item-col-flags"},void 0,(0,s.Z)(ke.Z,{thread:o})),!!u&&(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(Ce,{parent:c,category:u})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(xe.Z,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)(Pe,{thread:o})),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)(we,{thread:o})),a&&i&&(0,s.Z)("div",{className:"threads-list-item-col-subscription"},void 0,(0,s.Z)(qe,{disabled:r,thread:o})),a&&o.moderation.length>0&&(0,s.Z)("div",{className:"threads-list-item-col-checkbox"},void 0,(0,s.Z)(Ee,{checked:l,disabled:r,thread:o}))))},Ve=function(e){var t=e.width;return(0,s.Z)("span",{className:"ui-preview-text",style:{width:t+"px"}},void 0," ")},$e=function(e){var t=e.showOptions;return(0,s.Z)("div",{className:"threads-list threads-list-loader"},void 0,(0,s.Z)("ul",{className:"list-group"},void 0,(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&(Oe||(Oe=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Te||(Te=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(Ve,{width:"90"})," ",(0,s.Z)(Ve,{width:"40"})," ",(0,s.Z)(Ve,{width:"120"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(Ve,{width:"90"})," ",(0,s.Z)(Ve,{width:"40"})," ",(0,s.Z)(Ve,{width:"120"}))))),Ae||(Ae=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(Ve,{width:"70"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(Ve,{width:"50"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(Le.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(Ve,{width:"50"})))))),(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&(Be||(Be=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Ie||(Ie=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(Ve,{width:"120"})," ",(0,s.Z)(Ve,{width:"30"})," ",(0,s.Z)(Ve,{width:"60"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(Ve,{width:"120"})," ",(0,s.Z)(Ve,{width:"30"})," ",(0,s.Z)(Ve,{width:"60"}))))),je||(je=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(Ve,{width:"55"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(Ve,{width:"60"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(Le.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(Ve,{width:"70"})))))),(0,s.Z)("li",{className:"list-group-item threads-list-item"},void 0,(0,s.Z)("div",{className:"threads-list-item-top-row"},void 0,t&&(De||(De=(0,s.Z)("div",{className:"threads-list-item-col-icon"},void 0,(0,s.Z)("span",{className:"threads-list-icon ui-preview-img"})))),Me||(Me=(0,s.Z)("div",{className:"threads-list-item-col-title"},void 0,(0,s.Z)("span",{className:"threads-list-item-title"},void 0,(0,s.Z)(Ve,{width:"40"})," ",(0,s.Z)(Ve,{width:"120"})," ",(0,s.Z)(Ve,{width:"80"})),(0,s.Z)("span",{className:"threads-list-item-title-sm"},void 0,(0,s.Z)(Ve,{width:"40"})," ",(0,s.Z)(Ve,{width:"120"})," ",(0,s.Z)(Ve,{width:"80"}))))),Ue||(Ue=(0,s.Z)("div",{className:"threads-list-item-bottom-row"},void 0,(0,s.Z)("div",{className:"threads-list-item-col-category"},void 0,(0,s.Z)(Ve,{width:"75"})),(0,s.Z)("div",{className:"threads-list-item-col-replies"},void 0,(0,s.Z)(Ve,{width:"40"})),(0,s.Z)("div",{className:"threads-list-item-col-last-poster"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-poster"},void 0,(0,s.Z)(Le.ZP,{size:32}))),(0,s.Z)("div",{className:"threads-list-item-col-last-activity"},void 0,(0,s.Z)("span",{className:"threads-list-item-last-activity"},void 0,(0,s.Z)(Ve,{width:"60"}))))))))},Ge=function(e){var t=e.threads,n=e.onClick;return(0,s.Z)("li",{className:"list-group-item threads-list-update-prompt"},void 0,(0,s.Z)("button",{type:"button",className:"btn btn-block threads-list-update-prompt-btn",onClick:n},void 0,ze||(ze=(0,s.Z)("span",{className:"material-icon"},void 0,"cached")),(0,s.Z)("span",{className:"threads-list-update-prompt-message"},void 0,interpolate(ngettext("There is %(threads)s new or updated thread. Click here to show it.","There are %(threads)s new or updated threads. Click here to show them.",t),{threads:t},!0))))},We=function(e){var t=e.list,n=e.categories,a=e.category,i=e.threads,o=e.busyThreads,r=e.selection,l=e.isLoaded,c=e.showOptions,u=e.updatedThreads,d=e.applyUpdate,p=e.emptyMessage;return l?(0,s.Z)("div",{className:"threads-list"},void 0,i.length>0?(0,s.Z)("ul",{className:"list-group"},void 0,u>0&&(0,s.Z)(Ge,{threads:u,onClick:d}),i.map((function(e){return(0,s.Z)(Ye,{activeCategory:a,categories:n,thread:e,showOptions:c,showSubscription:c&&"subscribed"===t.type,isBusy:o.indexOf(e.id)>=0,isSelected:r.indexOf(e.id)>=0},e.id)}))):(0,s.Z)("ul",{className:"list-group"},void 0,u>0&&(0,s.Z)(Ge,{threads:u,onClick:d}),(0,s.Z)(Ne,{category:a,list:t,message:p}))):(0,s.Z)($e,{showOptions:c})},Ke=n(82125),Je=n(55547),Qe=n(53328),Xe=n(20370),et=n(99755);var tt=function(e){(0,l.Z)(p,e);var t,n,a=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function p(e){var t;(0,i.Z)(this,p),t=a.call(this,e),(0,d.Z)((0,r.Z)(t),"loadMore",(function(){t.setState({isBusy:!0}),t.loadThreads(t.getCategory(),t.state.next)})),(0,d.Z)((0,r.Z)(t),"pollResponse",(function(e){var n,a,s;t.setState({diff:Object.assign({},e,{results:(n=t.props.threads,a=e.results,s={},n.forEach((function(e){s[e.id]=e})),a.filter((function(e){return!s[e.id]||function(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}(s[e.id],e)})))})})})),(0,d.Z)((0,r.Z)(t),"addThreads",(function(e){F.Z.dispatch((0,j.R3)(e,t.getSorting()))})),(0,d.Z)((0,r.Z)(t),"applyDiff",(function(){t.addThreads(t.state.diff.results),t.setState(Object.assign({},t.state.diff,{moderation:Ze(F.Z.getState().threads),diff:{results:[]}}))})),(0,d.Z)((0,r.Z)(t),"freezeThread",(function(e){t.setState((function(t){return{busyThreads:Xe.ZN(t.busyThreads,e)}}))})),(0,d.Z)((0,r.Z)(t),"updateThread",(function(e){F.Z.dispatch((0,j.r$)(e,e,t.getSorting()))})),(0,d.Z)((0,r.Z)(t),"deleteThread",(function(e){F.Z.dispatch((0,j.l8)(e))})),t.state={isMounted:!0,isLoaded:!1,isBusy:!1,diff:{results:[]},moderation:[],busyThreads:[],dropdown:!1,subcategories:[],next:0};var n=t.getCategory();return I.Z.has("THREADS")?t.initWithPreloadedData(n,I.Z.get("THREADS")):t.initWithoutPreloadedData(n),t}return(0,o.Z)(p,[{key:"getCategory",value:function(){return this.props.route.category.special_role?null:this.props.route.category.id}},{key:"initWithPreloadedData",value:function(e,t){this.state=Object.assign(this.state,{moderation:Ze(t.results),subcategories:t.subcategories,next:t.next}),this.startPolling(e)}},{key:"initWithoutPreloadedData",value:function(e){this.loadThreads(e)}},{key:"loadThreads",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;U.Z.get(this.props.options.api,{category:e,list:this.props.route.list.type,start:n||0},"threads").then((function(a){t.state.isMounted&&(0===n?F.Z.dispatch((0,j.ZB)(a.results)):F.Z.dispatch((0,j.R3)(a.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:Ze(F.Z.getState().threads),subcategories:a.subcategories,next:a.next}),t.startPolling(e))}),(function(e){H.Z.apiError(e)}))}},{key:"startPolling",value:function(e){Je.Z.start({poll:"threads",url:this.props.options.api,data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),I.Z.has("THREADS")&&(F.Z.dispatch((0,j.ZB)(I.Z.pop("THREADS").results)),this.setState({isLoaded:!0})),F.Z.dispatch(D.YP())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,Je.Z.stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(e=this.props.route).category.level?e.category.name:I.Z.get("THREADS_ON_INDEX")?I.Z.get("SETTINGS").index_header?I.Z.get("SETTINGS").index_header:I.Z.get("SETTINGS").forum_name:gettext("Threads");var e}},{key:"setPageTitle",value:function(){var e;this.props.route.category.level||!I.Z.get("THREADS_ON_INDEX")?Qe.Z.set((e=this.props.route).category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:I.Z.get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}):this.props.options.title?Qe.Z.set(this.props.options.title):I.Z.get("SETTINGS").index_title?document.title=I.Z.get("SETTINGS").index_title:document.title=I.Z.get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?Z:m}},{key:"getMoreButton",value:function(){return this.state.next?(0,s.Z)("div",{className:"pager-more"},void 0,(0,s.Z)(f.Z,{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},void 0,gettext("Show more"))):null}},{key:"getClassName",value:function(){var e,t="page page-threads";return t+=" page-threads-"+this.props.route.list.type,(e=this.props).route.category.level||!I.Z.get("THREADS_ON_INDEX")||e.options.title||(t+=" page-threads-index"),this.props.route.category.css_class&&(t+=" page-threads-"+this.props.route.category.css_class),t}},{key:"render",value:function(){var e=this.props.route.categories[0],t=this.props.route,n=t.category,a=t.list,i=n.special_role;return(0,s.Z)("div",{className:this.getClassName()},void 0,"root_category"==i&&I.Z.get("THREADS_ON_INDEX")&&I.Z.get("SETTINGS").index_header&&(0,s.Z)(et.Iv,{header:I.Z.get("SETTINGS").index_header,message:n.description&&(0,s.Z)(et.Ql,{message:n.description.html}),styleName:"forum-index"}),"root_category"==i&&!I.Z.get("THREADS_ON_INDEX")&&(0,s.Z)(et.Iv,{header:gettext("Threads"),styleName:"threads"}),"private_threads"==i&&(0,s.Z)(et.Iv,{header:this.props.options.title,message:this.props.options.pageLead&&(0,s.Z)(et.bM,{},void 0,(0,s.Z)("p",{},void 0,this.props.options.pageLead)),styleName:"private-threads"}),!i&&(0,s.Z)(et.Iv,{header:n.name,message:n.description&&(0,s.Z)(et.Ql,{message:n.description.html}),styleName:n.css_class||"category-threads"}),(0,s.Z)(ve,{api:this.props.options.api,root:e,route:this.props.route,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,startThread:this.props.options.startThread,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},void 0,(0,s.Z)(We,{category:n,categories:this.props.route.categoriesMap,list:a,selection:this.props.selection,threads:this.props.threads,updatedThreads:this.state.diff.results.length,applyUpdate:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads,emptyMessage:this.props.options.emptyMessage}),this.getMoreButton()))}}]),p}(Ke.Z);var nt=n(39633),at="misago:private-threads";function st(e){return e.get("CURRENT_LINK").substr(0,at.length)===at?{api:e.get("PRIVATE_THREADS_API"),startThread:{mode:"START_PRIVATE",submit:I.Z.get("PRIVATE_THREADS_API")},title:gettext("Private threads"),pageLead:gettext("Private threads are threads which only those that started them and those they have invited may see and participate in."),emptyMessage:gettext("You aren't participating in any private threads.")}:{api:e.get("THREADS_API")}}I.Z.addInitializer({name:"component:threads",initializer:function(e){var t,n,s,i,o;e.has("THREADS")&&e.has("CATEGORIES")&&(0,nt.Z)({paths:(t=e.get("user"),n=st(e),s=function(e){var t=[{type:"all",path:"",name:gettext("All"),longName:gettext("All threads")}];return e.id&&(t.push({type:"my",path:"my/",name:gettext("My"),longName:gettext("My threads")}),t.push({type:"new",path:"new/",name:gettext("New"),longName:gettext("New threads")}),t.push({type:"unread",path:"unread/",name:gettext("Unread"),longName:gettext("Unread threads")}),t.push({type:"subscribed",path:"subscribed/",name:gettext("Subscribed"),longName:gettext("Subscribed threads")}),e.acl.can_see_unapproved_content_lists&&t.push({type:"unapproved",path:"unapproved/",name:gettext("Unapproved"),longName:gettext("Unapproved content")})),t}(t),i=[],o={},I.Z.get("CATEGORIES").forEach((function(e){s.forEach((function(t){var r;o[e.id]=e,i.push({path:e.url.index+t.path,component:(0,a.$j)((r=n,function(e){return{options:r,selection:e.selection,threads:e.threads,tick:e.tick.tick,user:e.auth.user}}))(tt),categories:I.Z.get("CATEGORIES"),categoriesMap:o,category:e,lists:s,list:t})}))})),i)})},after:"store"})},47806:function(e,t,n){"use strict";var a=n(37424),s=n(32233),i=n(22928),o=n(15671),r=n(43144),l=n(79340),c=n(6215),u=n(61120),d=n(57588),p=n.n(d),h=n(19605),f=n(97326),v=n(4942),m=n(78657),Z=n(53904);function g(e){return e.filter((function(e){return e.results.count>0})).map((function(e){return Object.assign({},e,{count:e.results.count,results:e.results.results.slice(0,5)})}))}var b=n(87462),y="HEADER",_="RESULT",N="FOOTER";function k(e){var t=e.value,n=e.onChange;return(0,i.Z)("input",{"aria-haspopup":"true","aria-expanded":"false","aria-controls":"dropdown-menu dropdown-search-results",autoComplete:"off",className:"form-control",value:t,onChange:n,placeholder:gettext("Search"),role:"combobox",type:"text"})}function x(e){var t=e.children,n=e.onChange,a=e.query;return(0,i.Z)("ul",{className:"dropdown-menu dropdown-search-results",role:"menu"},void 0,(0,i.Z)("li",{className:"form-group"},void 0,(0,i.Z)(k,{value:a,onChange:n})),t)}function w(){return(0,i.Z)("li",{className:"dropdown-search-message"},void 0,gettext("Search returned no results."))}var R,C=n(37848);function E(e){return e.message,R||(R=(0,i.Z)("li",{className:"dropdown-search-loader"},void 0,(0,i.Z)(C.Z,{})))}function S(e){var t=e.provider,n=e.query,a=t.url+"?q="+encodeURI(n),s=ngettext('See full "%(provider)s" results page with %(count)s result.','See full "%(provider)s" results page with %(count)s results.',t.count);return(0,i.Z)("li",{className:"dropdown-search-footer"},void 0,(0,i.Z)("a",{href:a},void 0,interpolate(s,{count:t.count,provider:t.name},!0)))}function L(e){var t=e.provider;return(0,i.Z)("li",{className:"dropdown-search-header"},void 0,t.name)}var P,O,T,A=n(30381),B=n.n(A),I=n(19755);function j(e){var t=e.result,n=(t.poster,t.thread),a=gettext("Posted by %(poster)s on %(posted_on)s in %(category)s.");return(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:t.url.index,className:"dropdown-search-thread"},void 0,(0,i.Z)("h5",{},void 0,n.title),(0,i.Z)("small",{className:"dropdown-search-post-content"},void 0,I(t.content).text()),(0,i.Z)("small",{className:"dropdown-search-post-footer"},void 0,interpolate(a,{category:t.category.name,posted_on:B()(t.posted_on).format("LL"),poster:t.poster_name},!0))))}function D(e){var t=e.result,n=t.rank,a=gettext("%(title)s, joined on %(joined_on)s"),s=t.title||n.title||n.name;return(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:t.url,className:"dropdown-search-user"},void 0,(0,i.Z)("div",{className:"media"},void 0,(0,i.Z)("div",{className:"media-left"},void 0,(0,i.Z)(h.ZP,{size:38,user:t})),(0,i.Z)("div",{className:"media-body"},void 0,(0,i.Z)("h5",{className:"media-heading"},void 0,t.username),(0,i.Z)("small",{},void 0,interpolate(a,{title:s,joined_on:B()(t.joined_on).format("LL")},!0))))))}function M(e){var t=e.provider,n=e.result;return"threads"===t.id?(0,i.Z)(j,{result:n}):(0,i.Z)(D,{result:n})}function U(e){var t=e.provider,n=e.result,a=e.type,s=e.query;return a===y?(0,i.Z)(L,{provider:t}):a===N?(0,i.Z)(S,{provider:t,query:s}):(0,i.Z)(M,{provider:t,result:n})}function z(e,t){for(var n=e.results.length,a=0;a<n;a++){var s=e.results[a];t.push({provider:e,result:s,type:_})}t.push({provider:e,type:N})}function H(e){var t=e.isLoading,n=e.onChange,a=e.results,s=e.query;if(!s.trim().length)return(0,i.Z)(x,{onChange:n,query:s});if(a.length){var o=function(e){var t=[];return function(e,t){for(var n=e.length,a=0;a<n;a++){var s=e[a];t.push({provider:s,type:y}),z(s,t)}}(e,t),t}(a);return(0,i.Z)(x,{onChange:n,query:s},void 0,o.map((function(e){var t=e.type,n=e.provider,a=e.result;return t===_?p().createElement(U,(0,b.Z)({key:[n.id,t,a.id].join("_")},e)):p().createElement(U,(0,b.Z)({key:[n.id,t].join("_"),query:s},e))})))}return t?(0,i.Z)(x,{onChange:n,query:s},void 0,P||(P=(0,i.Z)(E,{}))):(0,i.Z)(x,{onChange:n,query:s},void 0,O||(O=(0,i.Z)(w,{})))}var F=function(e){(0,l.Z)(d,e);var t,n,a=(t=d,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function d(){var e;return(0,o.Z)(this,d),e=a.call(this),(0,v.Z)((0,f.Z)(e),"onToggle",(function(t){e.setState((function(t,n){return t.isOpen||window.setTimeout((function(){e.container.querySelector("input").focus()}),100),{isOpen:!t.isOpen}}))})),(0,v.Z)((0,f.Z)(e),"onDocumentMouseDown",(function(t){for(var n=!0,a=t.target;null!==a&&a!==document;){if(a===e.container)return void(n=!1);a=a.parentNode}n&&e.setState({isOpen:!1})})),(0,v.Z)((0,f.Z)(e),"onEscape",(function(t){"Escape"===t.key&&e.setState({isOpen:!1})})),(0,v.Z)((0,f.Z)(e),"onChange",(function(t){var n=t.target.value;e.setState({query:n}),e.loadResults(n.trim())})),e.state={isLoading:!1,isOpen:!1,query:"",results:[]},e.intervalId=null,e}return(0,r.Z)(d,[{key:"componentDidMount",value:function(){document.addEventListener("mousedown",this.onDocumentMouseDown),document.addEventListener("keydown",this.onEscape)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousedown",this.onDocumentMouseDown),document.removeEventListener("keydown",this.onEscape)}},{key:"loadResults",value:function(e){var t=this;if(e.length){var n=300+300*Math.random();this.intervalId&&window.clearTimeout(this.intervalId),this.setState({isLoading:!0}),this.intervalId=window.setTimeout((function(){m.Z.get(s.Z.get("SEARCH_API"),{q:e}).then((function(e){t.setState({intervalId:null,isLoading:!1,results:g(e)})}),(function(e){Z.Z.apiError(e),t.setState({intervalId:null,isLoading:!1,results:[]})}))}),n)}}},{key:"render",value:function(){var e=this,t="navbar-search dropdown";return this.state.isOpen&&(t+=" open"),p().createElement("div",{className:t,ref:function(t){return e.container=t}},(0,i.Z)("a",{"aria-haspopup":"true","aria-expanded":"false",className:"navbar-icon","data-toggle":"dropdown",href:s.Z.get("SEARCH_URL"),onClick:this.onToggle},void 0,T||(T=(0,i.Z)("i",{className:"material-icon"},void 0,"search"))),(0,i.Z)(H,{isLoading:this.state.isLoading,onChange:this.onChange,results:this.state.results,query:this.state.query}))}}]),d}(p().Component),q=n(82211),Y=n(43345),V=n(96359),$=n(59940);var G,W,K,J=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],Q=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],X=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),(t=a.call(this,e))._score=0,t._password=null,t._inputs=[],t.state={loaded:!1},t}return(0,r.Z)(s,[{key:"componentDidMount",value:function(){var e=this;$.Z.load().then((function(){e.setState({loaded:!0})}))}},{key:"getScore",value:function(e,t){var n=this,a=!1;return e!==this._password&&(a=!0),t.length!==this._inputs.length?a=!0:t.map((function(e,t){e.trim()!==n._inputs[t]&&(a=!0)})),a&&(this._score=$.Z.scorePassword(e,t),this._password=e,this._inputs=t.map((function(e){return e.trim()}))),this._score}},{key:"render",value:function(){if(!this.state.loaded)return null;var e=this.getScore(this.props.password,this.props.inputs);return(0,i.Z)("div",{className:"help-block password-strength"},void 0,(0,i.Z)("div",{className:"progress"},void 0,(0,i.Z)("div",{className:"progress-bar "+J[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},void 0,(0,i.Z)("span",{className:"sr-only"},void 0,Q[e]))),(0,i.Z)("p",{className:"text-small"},void 0,Q[e]))}}]),s}(p().Component),ee=n(26106),te=n(47235),ne=n(98274),ae=n(93825),se=n(59801),ie=n(93051),oe=n(55210);function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(Object(n),!0).forEach((function(t){(0,v.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ue,de=function(e){(0,l.Z)(n,e);var t=ce(n);function n(e){var a;(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"handlePrivacyPolicyChange",(function(e){var t=e.target.value;a.handleToggleAgreement("privacyPolicy",t)})),(0,v.Z)((0,f.Z)(a),"handleTermsOfServiceChange",(function(e){var t=e.target.value;a.handleToggleAgreement("termsOfService",t)})),(0,v.Z)((0,f.Z)(a),"handleToggleAgreement",(function(e,t){a.setState((function(n,s){if(null===n[e]){var i=le(le({},n.errors),{},(0,v.Z)({},e,null));return(0,v.Z)({errors:i},e,t)}var o=a.state.validators[e][0],r=le(le({},n.errors),{},(0,v.Z)({},e,[o(null)]));return(0,v.Z)({errors:r},e,null)}))}));var i=a.props.criteria,r=i.username,l=i.password,c=0;l.forEach((function(e){"MinimumLengthValidator"===e.name&&(c=e.min_length)}));var u={username:[oe.lG(),oe.HR(r.min_length),oe.gS(r.max_length)],email:[oe.Do()],password:[oe.Vb(c)],captcha:ae.ZP.validator()};return s.Z.get("TERMS_OF_SERVICE_ID")&&(u.termsOfService=[oe.fT()]),s.Z.get("PRIVACY_POLICY_ID")&&(u.privacyPolicy=[oe.jA()]),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",termsOfService:null,privacyPolicy:null,validators:u,errors:{}},a}return(0,r.Z)(n,[{key:"clean",value:function(){return!!this.isValid()||(Z.Z.error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return m.Z.post(s.Z.get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha,terms_of_service:this.state.termsOfService,privacy_policy:this.state.privacyPolicy})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?Z.Z.error(e.__all__[0]):Z.Z.error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,ie.Z)(e.ban),se.Z.hide()):Z.Z.apiError(e)}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-dialog modal-register",role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,G||(G=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Register"))),(0,i.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,i.Z)("input",{type:"type",style:{display:"none"}}),(0,i.Z)("input",{type:"password",style:{display:"none"}}),(0,i.Z)("div",{className:"modal-body"},void 0,(0,i.Z)(te.Z,{buttonClassName:"col-xs-12 col-sm-6",buttonLabel:gettext("Join with %(site)s"),formLabel:gettext("Or create forum account:")}),(0,i.Z)(V.Z,{label:gettext("Username"),for:"id_username",validation:this.state.errors.username},void 0,(0,i.Z)("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),(0,i.Z)(V.Z,{label:gettext("E-mail"),for:"id_email",validation:this.state.errors.email},void 0,(0,i.Z)("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),(0,i.Z)(V.Z,{label:gettext("Password"),for:"id_password",validation:this.state.errors.password,extra:(0,i.Z)(X,{password:this.state.password,inputs:[this.state.username,this.state.email]})},void 0,(0,i.Z)("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),ae.ZP.component({form:this}),(0,i.Z)(ee.Z,{errors:this.state.errors,privacyPolicy:this.state.privacyPolicy,termsOfService:this.state.termsOfService,onPrivacyPolicyChange:this.handlePrivacyPolicyChange,onTermsOfServiceChange:this.handleTermsOfServiceChange})),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},void 0,gettext("Cancel")),(0,i.Z)(q.Z,{className:"btn-primary",loading:this.state.isLoading},void 0,gettext("Register account"))))))}}]),n}(Y.Z),pe=function(e){(0,l.Z)(n,e);var t=ce(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-dialog modal-message modal-register",role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,W||(W=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Registration complete"))),(0,i.Z)("div",{className:"modal-body"},void 0,K||(K=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"info_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,interpolate(this.getLead(),{username:this.props.username},!0)),(0,i.Z)("p",{},void 0,interpolate(this.getSubscript(),{email:this.props.email},!0)),(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))))}}]),n}(p().Component),he=function(e){(0,l.Z)(n,e);var t=ce(n);function n(e){var a;return(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"completeRegistration",(function(e){"active"===e.activation?(se.Z.hide(),ne.Z.signIn(e)):a.setState({complete:e})})),a.state={complete:!1},a}return(0,r.Z)(n,[{key:"render",value:function(){return this.state.complete?(0,i.Z)(pe,{activation:this.state.complete.activation,email:this.state.complete.email,username:this.state.complete.username}):p().createElement(de,(0,b.Z)({callback:this.completeRegistration},this.props))}}]),n}(p().Component);var fe,ve,me=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"showRegisterForm",(function(){"closed"===misago.get("SETTINGS").account_activation?Z.Z.info(gettext("New registrations are currently disabled.")):t.state.isLoaded?se.Z.show((0,i.Z)(he,{criteria:t.state.criteria})):(t.setState({isLoading:!0}),Promise.all([ae.ZP.load(),m.Z.get(misago.get("AUTH_CRITERIA_API"))]).then((function(e){t.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),se.Z.show((0,i.Z)(he,{criteria:e[1]}))}),(function(){t.setState({isLoading:!1}),Z.Z.error(gettext("Registration is currently unavailable due to an error."))})))})),t.state={isLoading:!1,isLoaded:!1,criteria:null},t}return(0,r.Z)(s,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return(0,i.Z)("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},void 0,gettext("Register"),this.state.isLoading?ue||(ue=(0,i.Z)(C.Z,{})):null)}}]),s}(p().Component),Ze=n(14467),ge=n(8621);function be(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ye,_e=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showSignInModal",value:function(){se.Z.show(Ze.Z)}},{key:"render",value:function(){return(0,i.Z)("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},void 0,(0,i.Z)("li",{className:"guest-preview"},void 0,(0,i.Z)("h4",{},void 0,gettext("You are browsing as guest.")),(0,i.Z)("p",{},void 0,gettext("Sign in or register to start and participate in discussions.")),(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-xs-6"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-sign-in btn-block",onClick:this.showSignInModal,type:"button"},void 0,gettext("Sign in"))),(0,i.Z)("div",{className:"col-xs-6"},void 0,(0,i.Z)(me,{className:"btn-primary btn-register btn-block"},void 0,gettext("Register"))))))}}]),n}(p().Component),Ne=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return(0,i.Z)("div",{className:"nav nav-guest"},void 0,(0,i.Z)("button",{className:"btn navbar-btn btn-default btn-sign-in",onClick:this.showSignInModal,type:"button"},void 0,gettext("Sign in")),(0,i.Z)(me,{className:"navbar-btn btn-primary btn-register"},void 0,gettext("Register")),fe||(fe=(0,i.Z)("div",{className:"navbar-left"},void 0,(0,i.Z)(F,{}))))}}]),n}(_e),ke=function(e){(0,l.Z)(n,e);var t=be(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showGuestMenu",value:function(){ge.Z.show(_e)}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",onClick:this.showGuestMenu},void 0,ve||(ve=(0,i.Z)(h.ZP,{size:"64"})))}}]),n}(p().Component);var xe,we=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"setGravatar",(function(){t.callApi("gravatar")})),(0,v.Z)((0,f.Z)(t),"setGenerated",(function(){t.callApi("generated")})),t.state={isLoading:!1},t}return(0,r.Z)(s,[{key:"callApi",value:function(e){var t=this;if(this.state.isLoading)return!1;this.setState({isLoading:!0}),m.Z.post(this.props.user.api.avatar,{avatar:e}).then((function(e){t.setState({isLoading:!1}),Z.Z.success(e.detail),t.props.onComplete(e)}),(function(e){400===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))}},{key:"getGravatarButton",value:function(){return this.props.options.gravatar?(0,i.Z)(q.Z,{onClick:this.setGravatar,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gravatar"},void 0,gettext("Download my Gravatar")):null}},{key:"getCropButton",value:function(){return this.props.options.crop_src?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-crop",disabled:this.state.isLoading,onClick:this.props.showCrop},void 0,gettext("Re-crop uploaded image")):null}},{key:"getUploadButton",value:function(){return this.props.options.upload?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-upload",disabled:this.state.isLoading,onClick:this.props.showUpload},void 0,gettext("Upload new image")):null}},{key:"getGalleryButton",value:function(){return this.props.options.galleries?(0,i.Z)(q.Z,{className:"btn-default btn-block btn-avatar-gallery",disabled:this.state.isLoading,onClick:this.props.showGallery},void 0,gettext("Pick avatar from gallery")):null}},{key:"getAvatarPreview",value:function(){var e={id:this.props.user.id,avatars:this.props.options.avatars};return this.state.isLoading?(0,i.Z)("div",{className:"avatar-preview preview-loading"},void 0,(0,i.Z)(h.ZP,{size:"200",user:e}),ye||(ye=(0,i.Z)(C.Z,{}))):(0,i.Z)("div",{className:"avatar-preview"},void 0,(0,i.Z)(h.ZP,{size:"200",user:e}))}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-index"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-5"},void 0,this.getAvatarPreview()),(0,i.Z)("div",{className:"col-md-7"},void 0,this.getGravatarButton(),(0,i.Z)(q.Z,{onClick:this.setGenerated,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-generate"},void 0,gettext("Generate my individual avatar")),this.getCropButton(),this.getUploadButton(),this.getGalleryButton())))}}]),s}(p().Component),Re=n(19755);var Ce,Ee=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"cropAvatar",(function(){if(t.state.isLoading)return!1;t.setState({isLoading:!0});var e=t.props.upload?"crop_tmp":"crop_src",n=Re(".crop-form"),a=n.cropit("exportZoom"),s=n.cropit("offset");m.Z.post(t.props.user.api.avatar,{avatar:e,crop:{offset:{x:s.x*a,y:s.y*a},zoom:n.cropit("zoom")*a}}).then((function(e){t.props.onComplete(e),Z.Z.success(e.detail)}),(function(e){400===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))})),t.state={isLoading:!1,deviceRatio:1},t}return(0,r.Z)(s,[{key:"getAvatarSize",value:function(){return this.props.upload?this.props.options.crop_tmp.size:this.props.options.crop_src.size}},{key:"getImagePath",value:function(){return this.props.upload?this.props.dataUrl:this.props.options.crop_src.url}},{key:"componentDidMount",value:function(){for(var e=this,t=Re(".crop-form"),n=this.getAvatarSize(),a=t.width();a<n;)n/=2;var s=this.getAvatarSize()/n;t.width(n),t.cropit({width:n,height:n,exportZoom:s,imageState:{src:this.getImagePath()},onImageLoaded:function(){if(e.props.upload){var n=t.cropit("zoom"),a=t.cropit("imageSize");if(a.width>a.height){var s=(a.width*n-e.getAvatarSize())/-2;t.cropit("offset",{x:s,y:0})}else if(a.width<a.height){var i=(a.height*n-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:i})}else t.cropit("offset",{x:0,y:0})}else{var o=e.props.options.crop_src.crop;o&&(t.cropit("zoom",o.zoom),t.cropit("offset",{x:o.x,y:o.y}))}}})}},{key:"componentWillUnmount",value:function(){Re(".crop-form").cropit("disable")}},{key:"render",value:function(){return(0,i.Z)("div",{},void 0,xe||(xe=(0,i.Z)("div",{className:"modal-body modal-avatar-crop"},void 0,(0,i.Z)("div",{className:"crop-form"},void 0,(0,i.Z)("div",{className:"cropit-preview"}),(0,i.Z)("input",{type:"range",className:"cropit-image-zoom-input"})))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},void 0,this.props.upload?gettext("Set avatar"):gettext("Crop image")),(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},void 0,gettext("Cancel")))))}}]),s}(p().Component),Se=n(48772);var Le,Pe=function(e){(0,l.Z)(s,e);var t,n,a=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,u.Z)(t);if(n){var s=(0,u.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,c.Z)(this,e)});function s(e){var t;return(0,o.Z)(this,s),t=a.call(this,e),(0,v.Z)((0,f.Z)(t),"pickFile",(function(){document.getElementById("avatar-hidden-upload").click()})),(0,v.Z)((0,f.Z)(t),"uploadFile",(function(){var e=document.getElementById("avatar-hidden-upload").files[0];if(e){var n=t.validateFile(e);if(n)Z.Z.error(n);else{t.setState({image:e,preview:URL.createObjectURL(e),progress:0});var a=new FormData;a.append("avatar","upload"),a.append("image",e),m.Z.upload(t.props.user.api.avatar,a,(function(e){t.setState({progress:e})})).then((function(e){t.setState({options:e,uploaded:e.detail}),Z.Z.info(gettext("Your image has been uploaded and you may now crop it."))}),(function(e){400===e.status||413===e.status?(Z.Z.error(e.detail),t.setState({isLoading:!1,image:null,progress:0})):t.props.showError(e)}))}}})),t.state={image:null,preview:null,progress:0,uploaded:null,dataUrl:null},t}return(0,r.Z)(s,[{key:"validateFile",value:function(e){if(e.size>this.props.options.upload.limit)return interpolate(gettext("Selected file is too big. (%(filesize)s)"),{filesize:(0,Se.Z)(e.size)},!0);var t=gettext("Selected file type is not supported.");if(-1===this.props.options.upload.allowed_mime_types.indexOf(e.type))return t;var n=!1,a=e.name.toLowerCase();return this.props.options.upload.allowed_extensions.map((function(e){a.substr(-1*e.length)===e&&(n=!0)})),!n&&t}},{key:"getUploadRequirements",value:function(e){var t=e.allowed_extensions.map((function(e){return e.substr(1)}));return interpolate(gettext("%(files)s files smaller than %(limit)s"),{files:t.join(", "),limit:(0,Se.Z)(e.limit)},!0)}},{key:"getUploadButton",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-upload"},void 0,(0,i.Z)(q.Z,{className:"btn-pick-file",onClick:this.pickFile},void 0,Ce||(Ce=(0,i.Z)("div",{className:"material-icon"},void 0,"input")),gettext("Select file")),(0,i.Z)("p",{className:"text-muted"},void 0,this.getUploadRequirements(this.props.options.upload)))}},{key:"getUploadProgressLabel",value:function(){return interpolate(gettext("%(progress)s % complete"),{progress:this.state.progress},!0)}},{key:"getUploadProgress",value:function(){return(0,i.Z)("div",{className:"modal-body modal-avatar-upload"},void 0,(0,i.Z)("div",{className:"upload-progress"},void 0,(0,i.Z)("img",{src:this.state.preview}),(0,i.Z)("div",{className:"progress"},void 0,(0,i.Z)("div",{className:"progress-bar",role:"progressbar","aria-valuenow":"{this.state.progress}","aria-valuemin":"0","aria-valuemax":"100",style:{width:this.state.progress+"%"}},void 0,(0,i.Z)("span",{className:"sr-only"},void 0,this.getUploadProgressLabel())))))}},{key:"renderUpload",value:function(){return(0,i.Z)("div",{},void 0,(0,i.Z)("input",{type:"file",id:"avatar-hidden-upload",className:"hidden-file-upload",onChange:this.uploadFile}),this.state.image?this.getUploadProgress():this.getUploadButton(),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:!!this.state.image,className:"btn-default btn-block"},void 0,gettext("Cancel")))))}},{key:"renderCrop",value:function(){return(0,i.Z)(Ee,{options:this.state.options,user:this.props.user,upload:this.state.uploaded,dataUrl:this.state.preview,onComplete:this.props.onComplete,showError:this.props.showError,showIndex:this.props.showIndex})}},{key:"render",value:function(){return this.state.uploaded?this.renderCrop():this.renderUpload()}}]),s}(p().Component),Oe=n(69130);function Te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var Ae,Be,Ie,je=function(e){(0,l.Z)(n,e);var t=Te(n);function n(){var e;(0,o.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,v.Z)((0,f.Z)(e),"select",(function(){e.props.select(e.props.id)})),e}return(0,r.Z)(n,[{key:"getClassName",value:function(){return this.props.selection===this.props.id?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},void 0,(0,i.Z)("img",{src:this.props.url}))}}]),n}(p().Component),De=function(e){(0,l.Z)(n,e);var t=Te(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{className:"avatars-gallery"},void 0,(0,i.Z)("h3",{},void 0,this.props.name),(0,i.Z)("div",{className:"avatars-gallery-images"},void 0,(0,Oe.Z)(this.props.images,4,null).map((function(t,n){return(0,i.Z)("div",{className:"row"},n,t.map((function(t,n){return(0,i.Z)("div",{className:"col-xs-3"},n,t?p().createElement(je,(0,b.Z)({disabled:e.props.disabled,select:e.props.select,selection:e.props.selection},t)):Le||(Le=(0,i.Z)("div",{className:"blank-avatar"})))})))}))))}}]),n}(p().Component),Me=function(e){(0,l.Z)(n,e);var t=Te(n);function n(e){var a;return(0,o.Z)(this,n),a=t.call(this,e),(0,v.Z)((0,f.Z)(a),"select",(function(e){a.setState({selection:e})})),(0,v.Z)((0,f.Z)(a),"save",(function(){if(a.state.isLoading)return!1;a.setState({isLoading:!0}),m.Z.post(a.props.user.api.avatar,{avatar:"galleries",image:a.state.selection}).then((function(e){a.setState({isLoading:!1}),Z.Z.success(e.detail),a.props.onComplete(e),a.props.showIndex()}),(function(e){400===e.status?(Z.Z.error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))})),a.state={selection:null,isLoading:!1},a}return(0,r.Z)(n,[{key:"render",value:function(){var e=this;return(0,i.Z)("div",{},void 0,(0,i.Z)("div",{className:"modal-body modal-avatar-gallery"},void 0,this.props.options.galleries.map((function(t,n){return(0,i.Z)(De,{name:t.name,images:t.images,selection:e.state.selection,disabled:e.state.isLoading,select:e.select},n)}))),(0,i.Z)("div",{className:"modal-footer"},void 0,(0,i.Z)("div",{className:"row"},void 0,(0,i.Z)("div",{className:"col-md-6 col-md-offset-3"},void 0,(0,i.Z)(q.Z,{onClick:this.save,loading:this.state.isLoading,disabled:!this.state.selection,className:"btn-primary btn-block"},void 0,this.state.selection?gettext("Save choice"):gettext("Select avatar")),(0,i.Z)(q.Z,{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},void 0,gettext("Cancel"))))))}}]),n}(p().Component),Ue=n(3784),ze=n(6935),He=n(90287);function Fe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var qe,Ye,Ve,$e,Ge,We,Ke,Je,Qe,Xe,et,tt,nt=function(e){(0,l.Z)(n,e);var t=Fe(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"getErrorReason",value:function(){return this.props.reason?(0,i.Z)("p",{dangerouslySetInnerHTML:{__html:this.props.reason}}):null}},{key:"render",value:function(){return(0,i.Z)("div",{className:"modal-body"},void 0,Ae||(Ae=(0,i.Z)("div",{className:"message-icon"},void 0,(0,i.Z)("span",{className:"material-icon"},void 0,"remove_circle_outline"))),(0,i.Z)("div",{className:"message-body"},void 0,(0,i.Z)("p",{className:"lead"},void 0,this.props.message),this.getErrorReason(),(0,i.Z)("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},void 0,gettext("Ok"))))}}]),n}(p().Component),at=function(e){(0,l.Z)(n,e);var t=Fe(n);function n(){var e;(0,o.Z)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return e=t.call.apply(t,[this].concat(s)),(0,v.Z)((0,f.Z)(e),"showError",(function(t){e.setState({error:t})})),(0,v.Z)((0,f.Z)(e),"showIndex",(function(){e.setState({component:we})})),(0,v.Z)((0,f.Z)(e),"showUpload",(function(){e.setState({component:Pe})})),(0,v.Z)((0,f.Z)(e),"showCrop",(function(){e.setState({component:Ee})})),(0,v.Z)((0,f.Z)(e),"showGallery",(function(){e.setState({component:Me})})),(0,v.Z)((0,f.Z)(e),"completeFlow",(function(t){He.Z.dispatch((0,ze.n1)(e.props.user,t.avatars)),e.setState({component:we,options:t})})),e}return(0,r.Z)(n,[{key:"componentDidMount",value:function(){var e=this;m.Z.get(this.props.user.api.avatar).then((function(t){e.setState({component:we,options:t,error:null})}),(function(t){e.showError(t)}))}},{key:"getBody",value:function(){return this.state?this.state.error?(0,i.Z)(nt,{message:this.state.error.detail,reason:this.state.error.reason}):(0,i.Z)(this.state.component,{options:this.state.options,user:this.props.user,onComplete:this.completeFlow,showError:this.showError,showIndex:this.showIndex,showCrop:this.showCrop,showUpload:this.showUpload,showGallery:this.showGallery}):Be||(Be=(0,i.Z)(Ue.Z,{}))}},{key:"getClassName",value:function(){return this.state&&this.state.error?"modal-dialog modal-message modal-change-avatar":"modal-dialog modal-change-avatar"}},{key:"render",value:function(){return(0,i.Z)("div",{className:this.getClassName(),role:"document"},void 0,(0,i.Z)("div",{className:"modal-content"},void 0,(0,i.Z)("div",{className:"modal-header"},void 0,(0,i.Z)("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},void 0,Ie||(Ie=(0,i.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,i.Z)("h4",{className:"modal-title"},void 0,gettext("Change your avatar"))),this.getBody()))}}]),n}(p().Component);function st(e){return{user:e.auth.user}}function it(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var ot=function(e){(0,l.Z)(n,e);var t=it(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"changeAvatar",value:function(){se.Z.show((0,a.$j)(st)(at))}},{key:"render",value:function(){var e=this.props.user;return(0,i.Z)("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},void 0,(0,i.Z)("li",{className:"dropdown-header"},void 0,(0,i.Z)("strong",{},void 0,e.username),(0,i.Z)("div",{className:"row user-stats"},void 0,(0,i.Z)("div",{className:"col-sm-3"},void 0,qe||(qe=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),e.posts),(0,i.Z)("div",{className:"col-sm-3"},void 0,Ye||(Ye=(0,i.Z)("span",{className:"material-icon"},void 0,"forum")),e.threads),(0,i.Z)("div",{className:"col-sm-3"},void 0,Ve||(Ve=(0,i.Z)("span",{className:"material-icon"},void 0,"favorite")),e.followers),(0,i.Z)("div",{className:"col-sm-3"},void 0,$e||($e=(0,i.Z)("span",{className:"material-icon"},void 0,"favorite_outline")),e.following))),Ge||(Ge=(0,i.Z)("li",{className:"divider"})),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:e.url},void 0,We||(We=(0,i.Z)("span",{className:"material-icon"},void 0,"account_circle")),gettext("See your profile"))),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:s.Z.get("USERCP_URL")},void 0,Ke||(Ke=(0,i.Z)("span",{className:"material-icon"},void 0,"done_all")),gettext("Change options"))),(0,i.Z)("li",{},void 0,(0,i.Z)("button",{className:"btn-link",onClick:this.changeAvatar,type:"button"},void 0,Je||(Je=(0,i.Z)("span",{className:"material-icon"},void 0,"portrait")),gettext("Change avatar"))),!!e.acl.can_use_private_threads&&(0,i.Z)("li",{},void 0,(0,i.Z)("a",{href:s.Z.get("PRIVATE_THREADS_URL")},void 0,Qe||(Qe=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),gettext("Private threads"),(0,i.Z)(rt,{user:e}))),Xe||(Xe=(0,i.Z)("li",{className:"divider"})),(0,i.Z)("li",{className:"dropdown-buttons"},void 0,(0,i.Z)("button",{className:"btn btn-default btn-block",onClick:function(){return document.getElementById("hidden-logout-form").submit()},type:"button"},void 0,gettext("Log out"))))}}]),n}(p().Component);function rt(e){var t=e.user;return t.unread_private_threads?(0,i.Z)("span",{className:"badge"},void 0,t.unread_private_threads):null}function lt(e){var t=e.user;return(0,i.Z)("ul",{className:"ul nav navbar-nav nav-user"},void 0,et||(et=(0,i.Z)("li",{},void 0,(0,i.Z)(F,{}))),(0,i.Z)(ct,{user:t}),(0,i.Z)("li",{className:"dropdown"},void 0,(0,i.Z)("a",{"aria-haspopup":"true","aria-expanded":"false",className:"dropdown-toggle","data-toggle":"dropdown",href:t.url,role:"button"},void 0,(0,i.Z)(h.ZP,{user:t,size:"64"})),(0,i.Z)(ot,{user:t})))}function ct(e){var t=e.user;if(!t.acl.can_use_private_threads)return null;var n;return n=t.unread_private_threads?gettext("You have unread private threads!"):gettext("Private threads"),(0,i.Z)("li",{},void 0,(0,i.Z)("a",{className:"navbar-icon",href:s.Z.get("PRIVATE_THREADS_URL"),title:n},void 0,tt||(tt=(0,i.Z)("span",{className:"material-icon"},void 0,"message")),t.unread_private_threads>0&&(0,i.Z)("span",{className:"badge"},void 0,t.unread_private_threads)))}function ut(e){return{user:e.auth.user}}var dt,pt,ht=function(e){(0,l.Z)(n,e);var t=it(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"showUserMenu",value:function(){ge.Z.showConnected("user-menu",(0,a.$j)(ut)(ot))}},{key:"render",value:function(){return(0,i.Z)("button",{type:"button",onClick:this.showUserMenu},void 0,(0,i.Z)(h.ZP,{user:this.props.user,size:"50"}))}}]),n}(p().Component);function ft(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,u.Z)(e);if(t){var s=(0,u.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,c.Z)(this,n)}}var vt=function(e){(0,l.Z)(n,e);var t=ft(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return this.props.isAuthenticated?(0,i.Z)(lt,{user:this.props.user}):dt||(dt=(0,i.Z)(Ne,{}))}}]),n}(p().Component),mt=function(e){(0,l.Z)(n,e);var t=ft(n);function n(){return(0,o.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n,[{key:"render",value:function(){return this.props.isAuthenticated?(0,i.Z)(ht,{user:this.props.user}):pt||(pt=(0,i.Z)(ke,{}))}}]),n}(p().Component);function Zt(e){return e.auth}var gt=n(4869);s.Z.addInitializer({name:"component:user-menu",initializer:function(){(0,gt.Z)((0,a.$j)(Zt)(vt),"user-menu-mount"),(0,gt.Z)((0,a.$j)(Zt)(mt),"user-menu-compact-mount")},after:"store"})},1081:function(e,t,n){"use strict";var a=n(22928),s=n(15671),i=n(43144),o=n(79340),r=n(6215),l=n(61120),c=n(57588),u=n.n(c),d=n(37424),p=n(69987),h=n(94417);function f(e){var t=e.baseUrl,n=e.lists;return(0,a.Z)("ul",{className:"nav nav-pills"},void 0,n.map((function(e){var n=v(t,e);return(0,a.Z)(h.Z,{path:n},n,(0,a.Z)(p.rU,{to:n},void 0,e.name))})))}var v=function(e,t){var n=e;return"rank"===t.component?n+=t.slug:n+=t.component,n+"/"},m=n(97326),Z=n(4942),g=n(59131);var b,y,_=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)(g.Z,{},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.getEmptyMessage())))}}]),u}(u().Component),N=n(19605),k=n(44039);var x=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,b||(b=(0,a.Z)("div",{className:"rank-user-avatar"},void 0,(0,a.Z)("span",{},void 0,(0,a.Z)(N.ZP,{size:"50"})))),(0,a.Z)("div",{className:"rank-user"},void 0,(0,a.Z)("div",{className:"user-name"},void 0,(0,a.Z)("span",{className:"item-title"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,80)+"px"}},void 0," "))),(0,a.Z)("div",{className:"user-details"},void 0,(0,a.Z)("span",{className:"user-status"},void 0,y||(y=(0,a.Z)("span",{className:"status-icon ui-preview-text"},void 0," ")),(0,a.Z)("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:k.e(30,50)+"px"}},void 0," ")),(0,a.Z)("span",{className:"rank-name"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,50)+"px"}},void 0," ")),(0,a.Z)("span",{className:"user-title hidden-xs hidden-sm"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(30,50)+"px"}},void 0," "))),(0,a.Z)("div",{className:"user-compact-stats visible-xs-block"},void 0,(0,a.Z)("span",{className:"rank-position"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("span",{className:"rank-posts-counted"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))))),(0,a.Z)("div",{className:"rank-position hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("div",{className:"rank-posts-counted hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))),(0,a.Z)("div",{className:"rank-posts-total hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(20,30)+"px"}},void 0," ")),(0,a.Z)("small",{},void 0,gettext("Total posts"))))}}]),u}(u().Component);var w,R=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)(g.Z,{},void 0,(0,a.Z)("p",{className:"lead ui-preview"},void 0,(0,a.Z)("span",{className:"ui-preview-text",style:{width:k.e(50,220)+"px"}},void 0," ")),(0,a.Z)("div",{className:"active-posters ui-preview"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,[0,1,2].map((function(e){return(0,a.Z)(x,{hiddenOnMobile:e>0},e)}))))))}}]),u}(u().Component),C=n(24678),E=n(32233);var S=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?(0,a.Z)(C.ZP,{user:this.props.user,status:this.props.user.status},void 0,(0,a.Z)(C.Jj,{user:this.props.user,status:this.props.user.status}),(0,a.Z)(C.pg,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):(0,a.Z)("span",{className:"user-status"},void 0,w||(w=(0,a.Z)("span",{className:"status-icon ui-preview-text"},void 0," ")),(0,a.Z)("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:k.e(30,50)+"px"}},void 0," "))}},{key:"getRankName",value:function(){if(!this.props.rank.is_tab)return(0,a.Z)("span",{className:"rank-name item-title"},void 0,this.props.rank.name);var e=E.Z.get("USERS_LIST_URL")+this.props.rank.slug+"/";return(0,a.Z)(p.rU,{to:e,className:"rank-name item-title"},void 0,this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?(0,a.Z)("span",{className:"user-title hidden-xs hidden-sm"},void 0,this.props.user.title):null}},{key:"render",value:function(){return(0,a.Z)("li",{className:this.getClassName()},void 0,(0,a.Z)("div",{className:"rank-user-avatar"},void 0,(0,a.Z)("a",{href:this.props.user.url},void 0,(0,a.Z)(N.ZP,{user:this.props.user,size:50,size2x:64}))),(0,a.Z)("div",{className:"rank-user"},void 0,(0,a.Z)("div",{className:"user-name"},void 0,(0,a.Z)("a",{href:this.props.user.url,className:"item-title"},void 0,this.props.user.username)),(0,a.Z)("div",{className:"user-details"},void 0,this.getUserStatus(),this.getRankName(),this.getUserTitle()),(0,a.Z)("div",{className:"user-compact-stats visible-xs-block"},void 0,(0,a.Z)("span",{className:"rank-position"},void 0,(0,a.Z)("strong",{},void 0,"#",this.props.counter),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("span",{className:"rank-posts-counted"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.meta.score),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))))),(0,a.Z)("div",{className:"rank-position hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,"#",this.props.counter),(0,a.Z)("small",{},void 0,gettext("Rank"))),(0,a.Z)("div",{className:"rank-posts-counted hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.meta.score),(0,a.Z)("small",{},void 0,gettext("Ranked posts"))),(0,a.Z)("div",{className:"rank-posts-total hidden-xs"},void 0,(0,a.Z)("strong",{},void 0,this.props.user.posts),(0,a.Z)("small",{},void 0,gettext("Total posts"))))}}]),u}(u().Component);var L,P=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getLeadMessage",value:function(){var e=ngettext("%(posters)s top poster from last %(days)s days.","%(posters)s top posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return(0,a.Z)("div",{className:"active-posters-list"},void 0,(0,a.Z)(g.Z,{},void 0,(0,a.Z)("p",{className:"lead"},void 0,this.getLeadMessage()),(0,a.Z)("div",{className:"active-posters ui-ready"},void 0,(0,a.Z)("ul",{className:"list-group"},void 0,this.props.users.map((function(e,t){return(0,a.Z)(S,{user:e,rank:e.rank,counter:t+1},e.id)}))))))}}]),u}(u().Component),O=n(6935),T=n(55547),A=n(90287),B=n(53328);var I=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,Z.Z)((0,m.Z)(t),"update",(function(e){A.Z.dispatch((0,O.ZB)(e.results)),t.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})})),E.Z.has("USERS")?t.initWithPreloadedData(E.Z.pop("USERS")):t.initWithoutPreloadedData(),t.startPolling(),t}return(0,i.Z)(u,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},A.Z.dispatch((0,O.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){T.Z.start({poll:"active-posters",url:E.Z.get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){B.Z.set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){T.Z.stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?(0,a.Z)(P,{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):(0,a.Z)(_,{trackedPeriod:this.state.trackedPeriod}):L||(L=(0,a.Z)(R,{}))}}]),u}(u().Component);var j,D=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===function(e,t){if(e=(e+"").toLowerCase(),(t=(t+"").toLowerCase()).length<=0)return 0;for(var n=0,a=0,s=t.length;(a=e.indexOf(t,a))>=0;)n+=1,a+=s;return n}(this.props.copy,"<p")&&-1===this.props.copy.indexOf("<br")?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?(0,a.Z)("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),u}(u().Component),M=n(40429),U=function(e){var t=e.users;return(0,a.Z)(M.Z,{cols:4,isReady:!0,showStatus:!0,users:t})};var z,H,F,q,Y,V,$,G,W,K=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){var e;(0,s.Z)(this,u);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e=c.call.apply(c,[this].concat(n)),(0,Z.Z)((0,m.Z)(e),"render",(function(){return j||(j=(0,a.Z)(M.Z,{cols:4,isReady:!1}))})),e}return(0,i.Z)(u,[{key:"shouldComponentUpdate",value:function(){return!1}}]),u}(u().Component),J=K,Q=n(92490),X=function(e){var t=e.users;return t.more?(0,a.Z)("p",{},void 0,interpolate(ngettext("There is %(more)s more member with this role.","There are %(more)s more members with this role.",t.more),{more:t.more},!0)):(0,a.Z)("p",{},void 0,gettext("There are no more members with this role."))},ee=function(e){var t=e.baseUrl,n=e.users;return(0,a.Z)("div",{className:"misago-pagination"},void 0,n.isLoaded&&n.first?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t,title:gettext("Go to first page")},void 0,z||(z=(0,a.Z)("span",{className:"material-icon"},void 0,"first_page"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to first page"),type:"button",disabled:!0},void 0,H||(H=(0,a.Z)("span",{className:"material-icon"},void 0,"first_page"))),n.isLoaded&&n.previous?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+(n.previous>1?n.previous+"/":""),title:gettext("Go to previous page")},void 0,F||(F=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_left"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to previous page"),type:"button",disabled:!0},void 0,q||(q=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_left"))),n.isLoaded&&n.next?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.next+"/",title:gettext("Go to next page")},void 0,Y||(Y=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to next page"),type:"button",disabled:!0},void 0,V||(V=(0,a.Z)("span",{className:"material-icon"},void 0,"chevron_right"))),n.isLoaded&&n.last?(0,a.Z)(p.rU,{className:"btn btn-default btn-outline btn-icon",to:t+n.last+"/",title:gettext("Go to last page")},void 0,$||($=(0,a.Z)("span",{className:"material-icon"},void 0,"last_page"))):(0,a.Z)("button",{className:"btn btn-default btn-outline btn-icon",title:gettext("Go to last page"),type:"button",disabled:!0},void 0,G||(G=(0,a.Z)("span",{className:"material-icon"},void 0,"last_page"))))},te=function(e){var t=e.baseUrl,n=e.users;return(0,a.Z)(Q.o8,{},void 0,(0,a.Z)(Q.Z2,{},void 0,(0,a.Z)(Q.Eg,{},void 0,(0,a.Z)(ee,{baseUrl:t,users:n}))),(0,a.Z)(Q.Z2,{auto:!0},void 0,(0,a.Z)(Q.Eg,{},void 0,(0,a.Z)(X,{users:n}))))};var ne=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,s.Z)(this,u),t=c.call(this,e),(0,Z.Z)((0,m.Z)(t),"update",(function(e){A.Z.dispatch((0,O.ZB)(e.results)),e.isLoaded=!0,t.setState(e)})),E.Z.has("USERS")?t.initWithPreloadedData(E.Z.pop("USERS")):t.initWithoutPreloadedData(),t.startPolling(e.params.page||1),t}return(0,i.Z)(u,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),A.Z.dispatch((0,O.ZB)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){T.Z.start({poll:"rank-users",url:E.Z.get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){B.Z.set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){T.Z.stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(B.Z.set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),T.Z.stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?(0,a.Z)("div",{className:"rank-description"},void 0,(0,a.Z)(D,{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){return this.state.isLoaded?this.state.count>0?(0,a.Z)(U,{users:this.props.users}):(0,a.Z)("p",{className:"lead"},void 0,gettext("There are no users with this rank at the moment.")):W||(W=(0,a.Z)(J,{}))}},{key:"render",value:function(){return(0,a.Z)("div",{className:this.getClassName()},void 0,(0,a.Z)(g.Z,{},void 0,this.getRankDescription(),this.getComponent(),(0,a.Z)(te,{baseUrl:E.Z.get("USERS_LIST_URL")+this.props.route.rank.slug+"/",users:this.state})))}}]),u}(u().Component),ae=n(82125),se=n(99755);var ie=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,l.Z)(t);if(n){var s=(0,l.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,r.Z)(this,e)});function u(){return(0,s.Z)(this,u),c.apply(this,arguments)}return(0,i.Z)(u,[{key:"render",value:function(){return(0,a.Z)("div",{className:"page page-users-lists"},void 0,(0,a.Z)(se.sP,{},void 0,(0,a.Z)(se.mr,{styleName:"users-lists"},void 0,(0,a.Z)(se.gC,{styleName:"users-lists"},void 0,(0,a.Z)("h1",{},void 0,gettext("Users"))),(0,a.Z)(se.eA,{className:"page-header-details-tabs"},void 0,(0,a.Z)(f,{lists:E.Z.get("USERS_LISTS"),baseUrl:E.Z.get("USERS_LIST_URL")})))),this.props.children)}}]),u}(ae.Z);function oe(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function re(){var e=[];return E.Z.get("USERS_LISTS").forEach((function(t){"rank"===t.component?(e.push({path:E.Z.get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,d.$j)(oe)(ne),rank:t}),e.push({path:E.Z.get("USERS_LIST_URL")+t.slug+"/",component:(0,d.$j)(oe)(ne),rank:t})):"active-posters"===t.component&&e.push({path:E.Z.get("USERS_LIST_URL")+t.component+"/",component:(0,d.$j)(oe)(I),extra:{name:t.name}})})),e}var le=n(39633);E.Z.addInitializer({name:"component:users",initializer:function(e){e.has("USERS_LISTS")&&(0,le.Z)({root:E.Z.get("USERS_LIST_URL"),component:ie,paths:re()})},after:"store"})},97751:function(e,t,n){"use strict";var a=n(32233),s=n(96142);a.Z.addInitializer({name:"include",initializer:function(e){s.Z.init(e.get("STATIC_URL"))}})},76093:function(e,t,n){"use strict";var a=n(32233),s=n(62833);a.Z.addInitializer({name:"local-storage",initializer:function(){s.Z.init("misago_")}})},19764:function(e,t,n){"use strict";var a=n(32233),s=n(8621);a.Z.addInitializer({name:"dropdown",initializer:function(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&s.Z.init(e)},before:"store"})},47549:function(e,t,n){"use strict";var a=n(32233),s=n(59801);a.Z.addInitializer({name:"modal",initializer:function(){var e=document.getElementById("modal-mount");e&&s.Z.init(e)},before:"store"})},22331:function(e,t,n){"use strict";var a=n(30381),s=n.n(a),i=n(32233),o=n(19755);i.Z.addInitializer({name:"moment",initializer:function(){s().locale(o("html").attr("lang"))}})},21513:function(e,t,n){"use strict";var a=n(32233),s=n(53328);a.Z.addInitializer({name:"page-title",initializer:function(e){s.Z.init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}})},98749:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(53904),o=n(55547);a.Z.addInitializer({name:"polls",initializer:function(){o.Z.init(s.Z,i.Z)}})},98251:function(e,t,n){"use strict";var a=n(32233),s=n(78657),i=n(27950),o=n(53904);a.Z.addInitializer({name:"posting",initializer:function(){i.Z.init(s.Z,o.Z,document.getElementById("posting-placeholder"))}})},6720:function(e,t,n){"use strict";var a=n(32233),s=n(35486),i=n(90287);a.Z.addInitializer({name:"reducer:auth",initializer:function(e){i.Z.addReducer("auth",s.ZP,Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.E3))},before:"store"})},10846:function(e,t,n){"use strict";var a=n(32233),s=n(8154),i=n(90287);a.Z.addInitializer({name:"reducer:participants",initializer:function(){var e=null;a.Z.has("THREAD")&&(e=a.Z.get("THREAD").participants),i.Z.addReducer("participants",s.ZP,e||[])},before:"store"})},18255:function(e,t,n){"use strict";var a=n(32233),s=n(59752),i=n(90287);a.Z.addInitializer({name:"reducer:poll",initializer:function(){var e;e=a.Z.has("THREAD")&&a.Z.get("THREAD").poll?(0,s.ZB)(a.Z.get("THREAD").poll):{isBusy:!1},i.Z.addReducer("poll",s.ZP,e)},before:"store"})},14113:function(e,t,n){"use strict";var a=n(32233),s=n(21981),i=n(90287);a.Z.addInitializer({name:"reducer:posts",initializer:function(){var e;e=a.Z.has("POSTS")?(0,s.ZB)(a.Z.get("POSTS")):{isLoaded:!1,isBusy:!1},i.Z.addReducer("posts",s.ZP,e)},before:"store"})},24444:function(e,t,n){"use strict";var a=n(32233),s=n(58598),i=n(90287);a.Z.addInitializer({name:"reducer:profile-details",initializer:function(){var e=null;a.Z.has("PROFILE_DETAILS")&&(e=a.Z.get("PROFILE_DETAILS")),i.Z.addReducer("profile-details",s.ZP,e||{})},before:"store"})},1764:function(e,t,n){"use strict";var a=n(32233),s=n(27519),i=n(90287);a.Z.addInitializer({name:"reducer:profile-hydrate",initializer:function(){a.Z.has("PROFILE")&&i.Z.dispatch((0,s.ZB)(a.Z.get("PROFILE")))},after:"store"})},68351:function(e,t,n){"use strict";var a=n(32233),s=n(27519),i=n(90287);a.Z.addInitializer({name:"reducer:profile",initializer:function(){i.Z.addReducer("profile",s.ZP,{})},before:"store"})},81521:function(e,t,n){"use strict";var a=n(32233),s=n(16427),i=n(90287);a.Z.addInitializer({name:"reducer:search",initializer:function(){i.Z.addReducer("search",s.ZP,Object.assign({},s.E3,{providers:a.Z.get("SEARCH_PROVIDERS")||[],query:a.Z.get("SEARCH_QUERY")||""}))},before:"store"})},19984:function(e,t,n){"use strict";var a=n(32233),s=n(77751),i=n(90287);a.Z.addInitializer({name:"reducer:selection",initializer:function(){i.Z.addReducer("selection",s.ZP,[])},before:"store"})},41229:function(e,t,n){"use strict";var a=n(32233),s=n(27346),i=n(90287);a.Z.addInitializer({name:"reducer:snackbar",initializer:function(){i.Z.addReducer("snackbar",s.ZP,s.E3)},before:"store"})},43589:function(e,t,n){"use strict";var a=n(32233),s=n(7738),i=n(90287);a.Z.addInitializer({name:"reducer:thread",initializer:function(){var e;e=a.Z.has("THREAD")?(0,s.ZB)(a.Z.get("THREAD")):{isBusy:!1},i.Z.addReducer("thread",s.ZP,e)},before:"store"})},24108:function(e,t,n){"use strict";var a=n(32233),s=n(61340),i=n(90287);a.Z.addInitializer({name:"reducer:threads",initializer:function(){i.Z.addReducer("threads",s.ZP,[])},before:"store"})},33934:function(e,t,n){"use strict";var a=n(32233),s=n(85586),i=n(90287);a.Z.addInitializer({name:"reducer:tick",initializer:function(){i.Z.addReducer("tick",s.ZP,s.E3)},before:"store"})},85577:function(e,t,n){"use strict";var a=n(32233),s=n(48927),i=n(90287);a.Z.addInitializer({name:"reducer:username-history",initializer:function(){i.Z.addReducer("username-history",s.ZP,[])},before:"store"})},83526:function(e,t,n){"use strict";var a=n(32233),s=n(6935),i=n(90287);a.Z.addInitializer({name:"reducer:users",initializer:function(){i.Z.addReducer("users",s.ZP,[])},before:"store"})},43060:function(e,t,n){"use strict";var a=n(32233),s=n(53904),i=n(90287);a.Z.addInitializer({name:"snackbar",initializer:function(){s.Z.init(i.Z)},after:"store"})},92292:function(e,t,n){"use strict";var a=n(32233),s=n(90287);a.Z.addInitializer({name:"store",initializer:function(){s.Z.init()},before:"_end"})},33409:function(e,t,n){"use strict";var a=n(32233),s=n(85586),i=n(90287);a.Z.addInitializer({name:"tick-start",initializer:function(){window.setInterval((function(){i.Z.dispatch((0,s.bq)())}),5e4)},after:"store"})},31341:function(e,t,n){"use strict";var a=n(32233),s=n(96142),i=n(59940);a.Z.addInitializer({name:"zxcvbn",initializer:function(){i.Z.init(s.Z)}})},35486:function(e,t,n){"use strict";n.d(t,{E3:function(){return s},ZP:function(){return d},r$:function(){return l},w7:function(){return u},zB:function(){return c}});var a=n(6935),s={signedIn:!1,signedOut:!1},i="PATCH_USER",o="SIGN_IN",r="SIGN_OUT";function l(e){return{type:i,patch:e}}function c(e){return{type:o,user:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{type:r,soft:e}}function d(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:var n=Object.assign({},e);return n.user=Object.assign({},e.user,t.patch),n;case o:return Object.assign({},e,{signedIn:t.user});case r:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case a.oB:if(e.isAuthenticated&&e.user.id===t.userId){var l=Object.assign({},e);return l.user=Object.assign({},e.user,{avatars:t.avatars}),l}return e;case a.D9:if(e.isAuthenticated&&e.user.id===t.userId){var c=Object.assign({},e);return c.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),c}return e;default:return e}}},8154:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i},gx:function(){return s}});var a="REPLACE_PARTICIPANTS";function s(e){return{type:a,state:e}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===a?t.state:e}},59752:function(e,t,n){"use strict";n.d(t,{Ar:function(){return p},Od:function(){return f},ZB:function(){return u},ZH:function(){return r},ZP:function(){return v},b9:function(){return l},gx:function(){return h},n6:function(){return d}});var a=n(30381),s=n.n(a),i="BUSY_POLL",o="RELEASE_POLL",r="REMOVE_POLL",l="REPLACE_POLL",c="UPDATE_POLL";function u(e){var t=!1;for(var n in e.choices)if(e.choices[n].selected){t=!0;break}return Object.assign({},e,{posted_on:s()(e.posted_on),hasSelectedChoices:t,endsOn:e.length?s()(e.posted_on).add(e.length,"days"):null,isBusy:!1})}function d(){return{type:i}}function p(){return{type:o}}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:u(e)}}function f(){return{type:r}}function v(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:return Object.assign({},e,{isBusy:!0});case o:return Object.assign({},e,{isBusy:!1});case r:return{isBusy:!1};case l:return t.state;case c:return Object.assign({},e,t.data);default:return e}}},92747:function(e,t,n){"use strict";n.d(t,{Qu:function(){return o},ZB:function(){return r},ZP:function(){return u},r$:function(){return c}});var a=n(30381),s=n.n(a),i=n(6935),o="PATCH_POST";function r(e){return Object.assign({},e,{posted_on:s()(e.posted_on),updated_on:s()(e.updated_on),hidden_on:s()(e.hidden_on),attachments:e.attachments?e.attachments.map(l):null,poster:e.poster?(0,i.Ru)(e.poster):null,isSelected:!1,isBusy:!1,isDeleted:!1})}function l(e){return Object.assign({},e,{uploaded_on:s()(e.uploaded_on)})}function c(e,t){return{type:o,post:e,patch:t}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===o&&e.id==t.post.id?Object.assign({},e,t.patch):e}},21981:function(e,t,n){"use strict";n.d(t,{R3:function(){return m},Rz:function(){return Z},Vx:function(){return g},Ys:function(){return d},ZB:function(){return f},ZP:function(){return b},_H:function(){return p},kR:function(){return h},zD:function(){return v}});var a=n(92747),s="APPEND_POSTS",i="SELECT_POST",o="DESELECT_POST",r="DESELECT_POSTS",l="LOAD_POSTS",c="UNLOAD_POSTS",u="UPDATE_POSTS";function d(e){return{type:i,post:e}}function p(e){return{type:o,post:e}}function h(){return{type:r}}function f(e){return Object.assign({},e,{results:e.results.map(a.ZB),isLoaded:!0,isBusy:!1,isSelected:!1})}function v(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:f(e)}}function m(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:s,state:t?e:f(e)}}function Z(){return{type:c}}function g(e){return{type:u,update:e}}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:var n=e.results.map((function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!0}):e}));return Object.assign({},e,{results:n});case o:var d=e.results.map((function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!1}):e}));return Object.assign({},e,{results:d});case r:var p=e.results.map((function(e){return Object.assign({},e,{isSelected:!1})}));return Object.assign({},e,{results:p});case s:var h=e.results.slice(),f=e.results.map((function(e){return e.id}));return t.state.results.map((function(e){-1===f.indexOf(e.id)&&h.push(e)})),Object.assign({},t.state,{results:h});case l:return t.state;case c:return Object.assign({},e,{isLoaded:!1});case u:return Object.assign({},e,t.update);case a.Qu:var v=e.results.map((function(e){return(0,a.ZP)(e,t)}));return Object.assign({},e,{results:v});default:return e}}},58598:function(e,t,n){"use strict";n.d(t,{ZP:function(){return i},zD:function(){return s}});var a="LOAD_DETAILS";function s(e){return{type:a,newState:e}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===a?t.newState:e}},27519:function(e,t,n){"use strict";n.d(t,{ZB:function(){return l},ZP:function(){return u},r$:function(){return c}});var a=n(30381),s=n.n(a),i=n(6935),o="HYDRATE_PROFILE",r="PATCH_PROFILE";function l(e){return{type:o,profile:e}}function c(e){return{type:r,patch:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return Object.assign({},t.profile,{joined_on:s()(t.profile.joined_on),status:(0,i.$q)(t.profile.status)});case r:return Object.assign({},e,t.patch);case i.oB:return e.id===t.userId?Object.assign({},e,{avatars:t.avatars}):e;case i.D9:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}},16427:function(e,t,n){"use strict";n.d(t,{E3:function(){return o},P0:function(){return l},Vx:function(){return r},ZP:function(){return c}});var a="REPLACE_SEARCH",s="UPDATE_SEARCH",i="UPDATE_SEARCH_PROVIDER",o={isLoading:!1,query:"",providers:[]};function r(e){return{type:s,update:e}}function l(e){return{type:i,provider:e}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case a:return t.state;case s:return Object.assign({},e,t.update);case i:return Object.assign({},e,{providers:e.providers.map((function(e){return e.id===t.provider.id?t.provider:e}))});default:return e}}},77751:function(e,t,n){"use strict";n.d(t,{$6:function(){return r},YP:function(){return l},ZP:function(){return u},wc:function(){return c}});var a=n(20370),s="SELECT_ALL",i="SELECT_NONE",o="SELECT_ITEM";function r(e){return{type:s,items:e}}function l(){return{type:i}}function c(e){return{type:o,item:e}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case s:return t.items;case i:return[];case o:return(0,a.ZN)(e,t.item);default:return e}}},27346:function(e,t,n){"use strict";n.d(t,{E3:function(){return a},OV:function(){return o},ZP:function(){return l},p2:function(){return r}});var a={type:"info",message:"",isVisible:!1},s="SHOW_SNACKBAR",i="HIDE_SNACKBAR";function o(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:i}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===i?Object.assign({},e,{isVisible:!1}):e}},7738:function(e,t,n){"use strict";n.d(t,{Ar:function(){return h},Vx:function(){return v},ZB:function(){return d},ZP:function(){return Z},gx:function(){return f},n6:function(){return p},y8:function(){return m}});var a=n(30381),s=n.n(a),i=n(59752),o="BUSY_THREAD",r="RELEASE_THREAD",l="REPLACE_THREAD",c="UPDATE_THREAD",u="UPDATE_THREAD_ACL";function d(e){return Object.assign({},e,{started_on:s()(e.started_on),last_post_on:s()(e.last_post_on),best_answer_marked_on:e.best_answer_marked_on?s()(e.best_answer_marked_on):null,isBusy:!1})}function p(){return{type:o}}function h(){return{type:r}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:l,state:t?e:d(e)}}function v(e){return{type:c,data:e}}function m(e){return{type:u,data:e}}function Z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return Object.assign({},e,{isBusy:!0});case r:return Object.assign({},e,{isBusy:!1});case i.ZH:return Object.assign({},e,{poll:null});case i.b9:return Object.assign({},e,{poll:t.state});case l:return t.state;case c:return Object.assign({},e,t.data);case u:var n=Object.assign({},e.acl,t.data);return Object.assign({},e,{acl:n});default:return e}}},61340:function(e,t,n){"use strict";n.d(t,{R3:function(){return h},V8:function(){return v},ZB:function(){return m},ZP:function(){return b},l8:function(){return f},r$:function(){return Z}});var a=n(30381),s=n.n(a),i=n(89759),o="APPEND_THREADS",r="DELETE_THREAD",l="FILTER_THREADS",c="HYDRATE_THREADS",u="PATCH_THREAD",d="SORT_THREADS",p=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"];function h(e,t){return{type:o,items:e,sorting:t}}function f(e){return{type:r,thread:e}}function v(e,t){return{type:l,category:e,categoriesMap:t}}function m(e){return{type:c,items:e}}function Z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:u,thread:e,patch:t,sorting:n}}function g(e){return Object.assign({},e,{started_on:s()(e.started_on),last_post_on:s()(e.last_post_on),moderation:(t=e.acl,n=[],p.forEach((function(e){t[e]&&n.push(e)})),n)});var t,n}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:var n=(0,i.Z)(t.items.map(g),e);return n.sort(t.sorting);case r:return e.filter((function(e){return e.id!==t.thread.id}));case l:return e.filter((function(e){var n=t.categoriesMap[e.category];return n.lft>=t.category.lft&&n.rght<=t.category.rght||2==e.weight}));case c:return t.items.map(g);case u:var a=e.map((function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e}));return t.sorting?a.sort(t.sorting):a;case d:return e.sort(t.sorting);default:return e}}},85586:function(e,t,n){"use strict";n.d(t,{E3:function(){return a},ZP:function(){return o},bq:function(){return i}});var a={tick:0},s="TICK";function i(){return{type:s}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?Object.assign({},e,{tick:e.tick+1}):e}},48927:function(e,t,n){"use strict";n.d(t,{KP:function(){return u},R3:function(){return d},ZB:function(){return p},ZP:function(){return f}});var a=n(30381),s=n.n(a),i=n(6935),o=n(89759),r="ADD_NAME_CHANGE",l="APPEND_HISTORY",c="HYDRATE_HISTORY";function u(e,t,n){return{type:r,change:e,user:t,changedBy:n}}function d(e){return{type:l,items:e}}function p(e){return{type:c,items:e}}function h(e){return Object.assign({},e,{changed_on:s()(e.changed_on)})}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case r:var n=e.slice();return n.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:s()(),new_username:t.change.username,old_username:t.user.username}),n;case l:return(0,o.Z)(e,t.items.map(h));case c:return t.items.map(h);case i.oB:return e.map((function(e){return(e=Object.assign({},e)).changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatars:t.avatars})),e}));case i.D9:return e.map((function(e){return(e=Object.assign({},e)).changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)}));default:return e}}},6935:function(e,t,n){"use strict";n.d(t,{$q:function(){return p},D9:function(){return c},R3:function(){return u},Ru:function(){return h},ZB:function(){return d},ZP:function(){return m},_S:function(){return v},n1:function(){return f},oB:function(){return l}});var a=n(30381),s=n.n(a),i=n(89759),o="APPEND_USERS",r="HYDRATE_USERS",l="UPDATE_AVATAR",c="UPDATE_USERNAME";function u(e){return{type:o,items:e}}function d(e){return{type:r,items:e}}function p(e){return e?Object.assign({},e,{last_click:e.last_click?s()(e.last_click):null,banned_until:e.banned_until?s()(e.banned_until):null}):null}function h(e){return Object.assign({},e,{joined_on:s()(e.joined_on),status:p(e.status)})}function f(e,t){return{type:l,userId:e.id,avatars:t}}function v(e,t,n){return{type:c,userId:e.id,username:t,slug:n}}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return(0,i.Z)(e,t.items.map(h));case r:return t.items.map(h);case l:return e.map((function(e){return(e=Object.assign({},e)).id===t.userId&&(e.avatars=t.avatars),e}));default:return e}}},78657:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(19755),o=function(){function e(){(0,a.Z)(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return(0,s.Z)(e,[{key:"init",value:function(e){this._cookieName=e}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,n){var a=this;return new Promise((function(s,o){var r={url:t,method:e,headers:{"X-CSRFToken":a.getCsrfToken()},data:n?JSON.stringify(n):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){s(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};i.ajax(r)}))}},{key:"get",value:function(e,t,n){if(t&&(e+="?"+i.param(t)),n){var a=this;return this._locks[n]&&(this._locks[n].url=e),this._locks[n]&&this._locks[n].waiter?{then:function(){}}:this._locks[n]&&this._locks[n].wait?(this._locks[n].waiter=!0,new Promise((function(t,s){var i=function e(i){a._locks[n].wait?window.setTimeout((function(){e(i)}),300):a._locks[n].url!==i?e(a._locks[n].url):(a._locks[n].waiter=!1,a.request("GET",a._locks[n].url).then((function(s){a._locks[n].url===i?t(s):(a._locks[n].waiter=!0,e(a._locks[n].url))}),(function(t){a._locks[n].url===i?s(t):(a._locks[n].waiter=!0,e(a._locks[n].url))})))};window.setTimeout((function(){i(e)}),300)}))):(this._locks[n]={url:e,wait:!0,waiter:!1},new Promise((function(t,s){a.request("GET",e).then((function(s){a._locks[n].wait=!1,a._locks[n].url===e&&t(s)}),(function(t){a._locks[n].wait=!1,a._locks[n].url===e&&s(t)}))})))}return this.request("GET",e)}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e,t){return this.request("DELETE",e,t)}},{key:"upload",value:function(e,t,n){var a=this;return new Promise((function(s,o){var r={url:e,method:"POST",headers:{"X-CSRFToken":a.getCsrfToken()},data:t,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",(function(e){e.lengthComputable&&n(Math.round(e.loaded/e.total*100))}),!1),e},success:function(e){s(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),413!==t.status||t.detail||(t.detail=gettext("Upload was rejected by server as too large.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};i.ajax(r)}))}}]),e}();t.Z=new o},98274:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(35486),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t,n){this._store=e,this._local=t,this._modal=n,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this,t=this._store.getState().auth;this._local.watch("auth",(function(n){n.isAuthenticated?e._store.dispatch((0,i.zB)({username:n.username})):t.isAuthenticated&&e._store.dispatch((0,i.w7)())})),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,i.zB)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,i.w7)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,i.w7)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();t.Z=new o},93825:function(e,t,n){"use strict";var a,s=n(22928),i=n(79340),o=n(6215),r=n(61120),l=n(15671),c=n(43144),u=n(57588),d=n.n(u),p=n(96359);function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=(0,r.Z)(e);if(t){var s=(0,r.Z)(this).constructor;n=Reflect.construct(a,arguments,s)}else n=a.apply(this,arguments);return(0,o.Z)(this,n)}}var f=function(){function e(){(0,l.Z)(this,e)}return(0,c.Z)(e,[{key:"init",value:function(e,t,n,a){this._context=e,this._ajax=t,this._include=n,this._snackbar=a}}]),e}(),v=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){return new Promise((function(e){e()}))}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),n}(f),m=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){var e=this;return new Promise((function(t,n){e._ajax.get(e._context.get("CAPTCHA_API")).then((function(n){e.question=n.question,e.helpText=n.help_text,t()}),(function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),n()}))}))}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return(0,s.Z)(p.Z,{label:this.question,for:"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:this.helpText||null},void 0,(0,s.Z)("input",{"aria-describedby":"id_captcha_status",className:"form-control",disabled:e.form.state.isLoading,id:"id_captcha",onChange:e.form.bindInput("captcha"),type:"text",value:e.form.state.captcha}))}}]),n}(f),Z=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return a||(a=(0,s.Z)("div",{id:"recaptcha"}))}}]),n}(d().Component),g=function(e){(0,i.Z)(n,e);var t=h(n);function n(){return(0,l.Z)(this,n),t.apply(this,arguments)}return(0,c.Z)(n,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise((function(e){!function t(){"undefined"==typeof grecaptcha?window.setTimeout((function(){t()}),200):e()}()}))}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return(0,s.Z)(p.Z,{label:gettext("Please solve the quick test"),for:"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:gettext("This test helps us prevent automated spam registrations on our site.")},void 0,(0,s.Z)(Z,{binding:e.form.bindInput("captcha"),siteKey:this._context.get("SETTINGS").recaptcha_site_key}))}}]),n}(f),b=function(){function e(){(0,l.Z)(this,e)}return(0,c.Z)(e,[{key:"init",value:function(e,t,n,a){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new v;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new g}this._captcha.init(e,t,n,a)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();t.ZP=new b},96142:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(19755),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){i.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();t.Z=new o},62833:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=window.localStorage,o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",(function(e){var n=JSON.parse(e.newValue);t._watchers.forEach((function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(n)}))}))}},{key:"set",value:function(e,t){i.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=i.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();t.Z=new o},8621:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(4869),o=n(19755),r=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,i.Z)(e,this._element.id),o(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,i.Z)(t,this._element.id,!0),o(this._element).addClass("open"))}},{key:"hide",value:function(){o(this._element).removeClass("open"),this._component=null}}]),e}();t.Z=new r},59801:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(73935),o=n.n(i),r=n(4869),l=n(19755),c=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=l(e).modal({show:!1}),this._modal.on("hidden.bs.modal",(function(){o().unmountComponentAtNode(t._element)}))}},{key:"show",value:function(e){(0,r.Z)(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();t.Z=new c},53328:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(e){"string"==typeof e&&(e={title:e});var t=e.title;e.page>1&&(t+=" ("+interpolate(gettext("page: %(page)s"),{page:e.page},!0)+")"),e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}else document.title=this._indexTitle||this._forumName}}]),e}();t.Z=new i},55547:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var n=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then((function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))}),(function(n){t._polls[e.poll]._stopped||(e.error?e.error(n):t._snackbar.apiError(n))}))};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(n,e.frequency)}:n()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();t.Z=new i},27950:function(e,t,n){"use strict";n.d(t,{Z:function(){return ft}});var a=n(15671),s=n(43144),i=n(4942),o=n(57588),r=n.n(o),l=n(73935),c=n.n(l),u=n(91876),d=n(22928),p=n(97326),h=n(79340),f=n(6215),v=n(61120),m=n(57026),Z=n(87462);var g,b,y,_=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){e.props.replaceSelection(e.props.execAction)})),e}return(0,s.Z)(r,[{key:"render",value:function(){return(0,d.Z)("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:this.props.title,type:"button"},void 0,this.props.children)}}]),r}(r().Component),N=n(19755);function k(e){return r().createElement(_,(0,Z.Z)({execAction:x,title:gettext("Insert code")},e),g||(g=(0,d.Z)("span",{className:"material-icon"},void 0,"functions")))}function x(e,t){t("\n\n```"+N.trim(prompt(gettext("Enter name of syntax of your code (optional)")+":"))+"\n"+e+"\n```\n\n")}function w(e){return r().createElement(_,(0,Z.Z)({execAction:R,title:gettext("Emphase selection")},e),b||(b=(0,d.Z)("span",{className:"material-icon"},void 0,"format_italic")))}function R(e,t){e.length&&t("*"+e+"*")}function C(e){return r().createElement(_,(0,Z.Z)({execAction:E,title:gettext("Insert horizontal ruler")},e),y||(y=(0,d.Z)("span",{className:"material-icon"},void 0,"remove")))}function E(e,t){t("\n\n- - - - -\n\n")}var S=n(19755),L=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");function P(e){return L.test(S.trim(e))}var O,T=n(19755);function A(e){return r().createElement(_,(0,Z.Z)({execAction:B,title:gettext("Insert image")},e),O||(O=(0,d.Z)("span",{className:"material-icon"},void 0,"insert_photo")))}function B(e,t){var n="",a="";e.length&&(P(e)?n=e:a=e),(n=T.trim(prompt(gettext("Enter link to image")+":",n))).length&&((a=T.trim(prompt(gettext("Enter image label (optional)")+":",a))).length>0?t("!["+a+"]("+n+")"):t("!("+n+")"))}var I,j,D,M,U=n(19755);function z(e){return r().createElement(_,(0,Z.Z)({execAction:H,title:gettext("Insert link")},e),I||(I=(0,d.Z)("span",{className:"material-icon"},void 0,"insert_link")))}function H(e,t){var n="",a="";if(e.length&&(P(e)?n=e:a=e),0===(n=U.trim(prompt(gettext("Enter link address")+":",n)||"")).length)return!1;a=U.trim(prompt(gettext("Enter link label (optional)")+":",a)),n.length&&(a.length>0?t("["+a+"]("+n+")"):t(n))}function F(e){return r().createElement(_,(0,Z.Z)({execAction:q,title:gettext("Insert spoiler")},e),j||(j=(0,d.Z)("span",{className:"material-icon"},void 0,"not_interested")))}function q(e,t){t("\n\n[spoiler]\n"+e+"\n[/spoiler]\n\n")}function Y(e){return r().createElement(_,(0,Z.Z)({execAction:V,title:gettext("Strikethrough selection")},e),D||(D=(0,d.Z)("span",{className:"material-icon"},void 0,"format_strikethrough")))}function V(e,t){e.length&&t("~~"+e+"~~")}function $(e){return r().createElement(_,(0,Z.Z)({execAction:G,title:gettext("Bolder selection")},e),M||(M=(0,d.Z)("span",{className:"material-icon"},void 0,"format_bold")))}function G(e,t){e.length&&t("**"+e+"**")}var W,K=n(19755);function J(e){return r().createElement(_,(0,Z.Z)({execAction:Q,title:gettext("Insert quote")},e),W||(W=(0,d.Z)("span",{className:"material-icon"},void 0,"format_quote")))}function Q(e,t){var n=K.trim(prompt(gettext("Enter quote autor, prefix usernames with @")+":",n));t(n?'\n\n[quote="'+n+'"]\n'+e+"\n[/quote]\n\n":"\n\n[quote]\n"+e+"\n[/quote]\n\n")}var X,ee=n(32233),te=n(89627),ne=n(48772);var ae,se=function(e){(0,h.Z)(l,e);var t,n,o=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function l(){var e;(0,a.Z)(this,l);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onInsert",(function(){e.props.replaceSelection(e.insertAttachment)})),(0,i.Z)((0,p.Z)(e),"insertAttachment",(function(t,n){var a=e.props.item;a.is_image?a.url.thumb?n("[!["+a.filename+"]("+a.url.thumb+")]("+a.url.index+")"):n("[!["+a.filename+"]("+a.url.index+")]("+a.url.index+")"):n("["+a.filename+"]("+a.url.index+")")})),(0,i.Z)((0,p.Z)(e),"onRemove",(function(){e.updateItem({isRemoved:!0})})),(0,i.Z)((0,p.Z)(e),"onUndo",(function(){e.updateItem({isRemoved:!1})})),(0,i.Z)((0,p.Z)(e),"updateItem",(function(t){var n=e.props.attachments.map((function(n){return n.id===e.props.item.id?Object.assign({},n,t):n}));e.props.onAttachmentsChange(n)})),e}return(0,s.Z)(l,[{key:"render",value:function(){return(0,d.Z)("li",{className:"editor-attachment-complete"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-xs-12 col-sm-8 col-md-9"},void 0,r().createElement(ie,this.props),(0,d.Z)("div",{className:"editor-attachment-details"},void 0,r().createElement(le,this.props),r().createElement(ce,this.props))),(0,d.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top-half"},void 0,r().createElement(ue,(0,Z.Z)({onInsert:this.onInsert,onRemove:this.onRemove,onUndo:this.onUndo},this.props)))))}}]),l}(r().Component);function ie(e){return e.item.is_image?r().createElement(oe,e):r().createElement(re,e)}function oe(e){var t=e.item.url.thumb||e.item.url.index;return(0,d.Z)("div",{className:"editor-attachment-image"},void 0,(0,d.Z)("a",{href:e.item.url.index+"?shva=1",style:{backgroundImage:"url('"+t+"?shva=1')"},target:"_blank"}))}function re(e){return X||(X=(0,d.Z)("div",{className:"editor-attachment-icon"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,"insert_drive_file")))}function le(e){return(0,d.Z)("h4",{},void 0,(0,d.Z)("a",{className:"item-title",href:e.item.url.index+"?shva=1",target:"_blank"},void 0,e.item.filename))}function ce(e){var t;t=e.item.url.uploader?interpolate('<a href="%(url)s" class="item-title">%(user)s</a>',{url:(0,te.Z)(e.item.url.uploader),user:(0,te.Z)(e.item.uploader_name)},!0):interpolate('<span class="item-title">%(user)s</span>',{user:(0,te.Z)(e.item.uploader_name)},!0);var n=interpolate('<abbr title="%(absolute)s">%(relative)s</abbr>',{absolute:(0,te.Z)(e.item.uploaded_on.format("LLL")),relative:(0,te.Z)(e.item.uploaded_on.fromNow())},!0),a=interpolate((0,te.Z)(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.item.filetype,size:(0,ne.Z)(e.item.size),uploader:t,uploaded_on:n},!0);return(0,d.Z)("p",{dangerouslySetInnerHTML:{__html:a}})}function ue(e){return(0,d.Z)("div",{className:"editor-attachment-actions"},void 0,(0,d.Z)("div",{className:"row"},void 0,r().createElement(de,e),r().createElement(pe,e),r().createElement(he,e)))}function de(e){return e.item.isRemoved?null:(0,d.Z)("div",{className:"col-xs-6"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onInsert,type:"button"},void 0,gettext("Insert")))}function pe(e){return e.item.isRemoved&&e.item.acl.can_delete?null:(0,d.Z)("div",{className:"col-xs-6"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onRemove,type:"button"},void 0,gettext("Remove")))}function he(e){return e.item.isRemoved?(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("button",{className:"btn btn-default btn-sm btn-block",onClick:e.onUndo,type:"button"},void 0,gettext("Undo removal"))):null}var fe=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){var t=e.props.attachments.filter((function(t){return t.key!==e.props.item.key}));e.props.onAttachmentsChange(t)})),e}return(0,s.Z)(r,[{key:"render",value:function(){var e=interpolate("<strong>%(name)s</strong>",{name:(0,te.Z)(this.props.item.filename)},!0),t=interpolate(gettext("Error uploading %(filename)s"),{filename:e,progress:this.props.item.progress+"%"},!0);return(0,d.Z)("li",{className:"editor-attachment-error"},void 0,ae||(ae=(0,d.Z)("div",{className:"editor-attachment-error-icon"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,"warning"))),(0,d.Z)("div",{className:"editor-attachment-error-message"},void 0,(0,d.Z)("h4",{dangerouslySetInnerHTML:{__html:t+":"}}),(0,d.Z)("p",{},void 0,this.props.item.error),(0,d.Z)("button",{className:"btn btn-default btn-sm",onClick:this.onClick,type:"button"},void 0,gettext("Dismiss"))))}}]),r}(r().Component);function ve(e){var t=interpolate("<strong>%(name)s</strong>",{name:(0,te.Z)(e.item.filename)},!0),n=interpolate(gettext("Uploading %(filename)s... %(progress)s"),{filename:t,progress:e.item.progress+"%"},!0);return(0,d.Z)("li",{className:"editor-attachment-upload"},void 0,(0,d.Z)("div",{className:"editor-attachment-progress-bar"},void 0,(0,d.Z)("div",{className:"editor-attachment-progress",style:{width:e.item.progress+"%"}})),(0,d.Z)("p",{className:"editor-attachment-upload-message",dangerouslySetInnerHTML:{__html:n}}))}function me(e){return e.item.id?r().createElement(se,e):e.item.error?r().createElement(fe,e):r().createElement(ve,e)}function Ze(e){return(0,d.Z)("ul",{className:"list-unstyled editor-attachments-list"},void 0,e.attachments.map((function(t){return r().createElement(me,(0,Z.Z)({item:t,key:t.id||t.key},e))})))}var ge=n(30381),be=n.n(ge),ye=n(78657),_e=n(53904);var Ne,ke=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onChange",(function(t){var n=t.target.files[0];if(n){var a={id:null,key:xe(),progress:0,error:null,filename:n.name};e.props.onAttachmentsChange([a].concat(e.props.attachments));var s=new FormData;s.append("upload",n),ye.Z.upload(ee.Z.get("ATTACHMENTS_API"),s,(function(t){a.progress=t,e.props.onAttachmentsChange(e.props.attachments.concat())})).then((function(t){t.uploaded_on=be()(t.uploaded_on),Object.assign(a,t),e.props.onAttachmentsChange(e.props.attachments.concat())}),(function(t){400===t.status||413===t.status?(a.error=t.detail,e.props.onAttachmentsChange(e.props.attachments.concat())):_e.Z.apiError(t)}))}})),e}return(0,s.Z)(r,[{key:"render",value:function(){return(0,d.Z)("input",{id:"editor-upload-field",onChange:this.onChange,type:"file"})}}]),r}(r().Component);function xe(){return"upld-"+Math.round((new Date).getTime())}function we(e){return ee.Z.get("user").acl.max_attachment_size?(0,d.Z)("div",{className:"editor-attachments"},void 0,r().createElement(Ze,e),r().createElement(ke,e)):null}var Re,Ce=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(){var e;(0,a.Z)(this,r);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=o.call.apply(o,[this].concat(n)),(0,i.Z)((0,p.Z)(e),"onClick",(function(){document.getElementById("editor-upload-field").click()})),e}return(0,s.Z)(r,[{key:"render",value:function(){return ee.Z.get("user").acl.max_attachment_size?(0,d.Z)("button",{className:"btn btn-icon "+this.props.className,disabled:this.props.disabled,onClick:this.onClick,title:gettext("Upload file"),type:"button"},void 0,Ne||(Ne=(0,d.Z)("span",{className:"material-icon"},void 0,"file_upload"))):null}}]),r}(r().Component),Ee=n(69092);function Se(e){return(0,d.Z)("div",{className:"modal-dialog",role:"document"},void 0,(0,d.Z)("div",{className:"modal-content"},void 0,(0,d.Z)("div",{className:"modal-header"},void 0,(0,d.Z)("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},void 0,Re||(Re=(0,d.Z)("span",{"aria-hidden":"true"},void 0,"×"))),(0,d.Z)("h4",{className:"modal-title"},void 0,gettext("Preview message"))),(0,d.Z)("div",{className:"modal-body markup-preview"},void 0,(0,d.Z)(Ee.Z,{markup:e.markup}))))}var Le=n(19755),Pe="editor-textarea";function Oe(){return document.getElementById(Pe)}function Te(e,t){return{start:e,end:t}}function Ae(){var e=Oe();if(document.selection){e.focus();var t=document.selection.createRange(),n=t.text.length;return t.moveStart("character",-e.value.length),Te(t.text.length-n,t.text.length)}if(e.selectionStart||"0"==e.selectionStart)return Te(e.selectionStart,e.selectionEnd)}function Be(e,t){var n=Oe(),a=n.value,s=a.substring(0,e.start);return n.value=a.substring(0,e.start)+t+a.substring(e.end),function(e){var t=Oe();if(t.setSelectionRange)t.focus(),t.setSelectionRange(e.start,e.end);else if(t.createTextRange){var n=t.createTextRange();n.collapse(!0),n.moveStart("character",e.start),n.moveEnd("character",e.end),n.select()}}(Te(s.length+t.length,s.length+t.length)),n.value}var Ie,je=n(82211),De=n(59801),Me=n(19755);var Ue=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"onPreviewClick",(function(){t.state.isPreviewLoading||(t.setState({isPreviewLoading:!0}),ye.Z.post(ee.Z.get("PARSE_MARKUP_API"),{post:t.props.value}).then((function(e){De.Z.show((0,d.Z)(Se,{markup:e.parsed})),t.setState({isPreviewLoading:!1})}),(function(e){400===e.status?_e.Z.error(e.detail):_e.Z.apiError(e),t.setState({isPreviewLoading:!1})})))})),(0,i.Z)((0,p.Z)(t),"replaceSelection",(function(e){var n;e((n=Ae(),Le.trim(document.getElementById(Pe).value.substring(n.start,n.end))),t._replaceSelection)})),(0,i.Z)((0,p.Z)(t),"_replaceSelection",(function(e){var n;t.props.onChange({target:{value:(n=e,Be(Ae(),n))}})})),t.state={isPreviewLoading:!1},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){var e=this;Me("#editor-textarea").atwho({at:"@",displayTpl:'<li><img src="${avatar}" alt="">${username}</li>',insertTpl:"@${username}",searchKey:"username",callbacks:{remoteFilter:function(e,t){Me.getJSON(ee.Z.get("MENTION_API"),{q:e},t)}}}),Me("#editor-textarea").on("inserted.atwho",(function(t,n,a){e.props.onChange(t)}))}},{key:"render",value:function(){return(0,d.Z)("div",{className:"editor-border"},void 0,(0,d.Z)("textarea",{className:"form-control",value:this.props.value,disabled:this.props.loading,id:"editor-textarea",onChange:this.props.onChange,rows:"9"}),(0,d.Z)("div",{className:"editor-footer"},void 0,(0,d.Z)("div",{className:"buttons-list pull-left"},void 0,(0,d.Z)($,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(w,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(Y,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(C,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(z,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(A,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(J,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(F,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(k,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,replaceSelection:this.replaceSelection}),(0,d.Z)(Ce,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading})),(0,d.Z)(je.Z,{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,onClick:this.onPreviewClick,type:"button"},void 0,gettext("Preview")),(0,d.Z)(je.Z,{className:"btn-primary btn-sm pull-right",loading:this.props.loading},void 0,this.props.submitLabel||gettext("Post")),(0,d.Z)("button",{className:"btn btn-default btn-sm pull-right",disabled:this.props.loading,onClick:this.props.onCancel,type:"button"},void 0,gettext("Cancel")),Ie||(Ie=(0,d.Z)("div",{className:"clearfix visible-xs-block"})),(0,d.Z)(ze,{canProtect:this.props.canProtect,disabled:this.props.loading,onProtect:this.props.onProtect,onUnprotect:this.props.onUnprotect,protect:this.props.protect})),(0,d.Z)(we,{attachments:this.props.attachments,onAttachmentsChange:this.props.onAttachmentsChange,placeholder:this.props.placeholder,replaceSelection:this.replaceSelection}))}}]),r}(r().Component);function ze(e){if(!e.canProtect)return null;var t=e.protect?gettext("Protected"):gettext("Protect");return(0,d.Z)("button",{className:"btn btn-icon btn-default btn-protect btn-sm pull-right",disabled:e.disabled,onClick:e.protect?e.onUnprotect:e.onProtect,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.protect?"lock":"lock_outline"),(0,d.Z)("span",{className:"btn-text hidden-md hidden-lg"},void 0,t))}var He=n(43345);function Fe(e){return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("div",{className:"container"},void 0,e.children))}var qe,Ye,Ve=n(37848);function $e(e){return qe||(qe=(0,d.Z)(Fe,{className:"posting-loader"},void 0,(0,d.Z)(Ve.Z,{})))}function Ge(e){return(0,d.Z)(Fe,{className:"posting-message"},void 0,(0,d.Z)("div",{className:"message-body"},void 0,(0,d.Z)("p",{},void 0,Ye||(Ye=(0,d.Z)("span",{className:"material-icon"},void 0,"error_outline")),e.message),(0,d.Z)("button",{type:"button",className:"btn btn-default",onClick:ft.close},void 0,gettext("Dismiss"))))}function We(e){if(!e.showOptions)return null;var t=e.columns,n="col-xs-12 xs-margin-top";n+=1===t?" col-sm-2":" sm-margin-top",n+=3===t?" col-md-3":" col-md-2",n+=" posting-options";var a="col-xs-"+12/t,s="btn-text";return s+=3===t?" visible-sm-inline-block":2===t?" hidden-md hidden-lg":" hidden-sm",(0,d.Z)("div",{className:n},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)(Qe,{className:a,disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin,textClassName:s}),(0,d.Z)(Je,{className:a,disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide,textClassName:s}),(0,d.Z)(Ke,{className:a,close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close,textClassName:s})))}function Ke(e){if(!e.show)return null;var t=e.close?gettext("Closed"):gettext("Open");return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.close?"lock":"lock_outline"),(0,d.Z)("span",{className:e.textClassName},void 0,t)))}function Je(e){if(!e.show)return null;var t=e.hide?gettext("Hidden"):gettext("Not hidden");return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:t,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,e.hide?"visibility_off":"visibility"),(0,d.Z)("span",{className:e.textClassName},void 0,t)))}function Qe(e){if(!e.show)return null;var t=null,n=null,a=null;switch(e.pin){case 0:t="radio_button_unchecked",n=e.onPinLocally,a=gettext("Unpinned");break;case 1:t="bookmark_outline",n=e.onPinGlobally,a=gettext("Pinned locally"),n=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="bookmark",n=e.onUnpin,a=gettext("Pinned globally")}return(0,d.Z)("div",{className:e.className},void 0,(0,d.Z)("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:n,title:a,type:"button"},void 0,(0,d.Z)("span",{className:"material-icon"},void 0,t),(0,d.Z)("span",{className:e.textClassName},void 0,a)))}function Xe(e){var t=e.filter((function(e){return e.id&&!e.isRemoved}));return t.map((function(e){return e.id}))}function et(e){return e.map((function(e){return Object.assign({},e,{uploaded_on:be()(e.uploaded_on)})}))}var tt,nt=n(12891);var at=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){var n=null,a=!1,s=null,i=e.map((function(e){return!1===e.post||n&&e.id!=t.state.category||(n=e.id,s=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(a=!0),Object.assign(e,{disabled:!1===e.post,label:e.name,value:e.id})}));t.setState({isReady:!0,showOptions:a,categories:i,category:n,categoryOptions:s})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard thread?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onTitleChange",(function(e){t.changeValue("title",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onCategoryChange",(function(e){var n=t.state.categories.find((function(t){return e.target.value==t.value})),a=t.state.pin;n.post.pin&&n.post.pin<a&&(a=n.post.pin),t.setState({category:n.id,categoryOptions:n.post,pin:a})})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),(0,i.Z)((0,p.Z)(t),"onClose",(function(){t.changeValue("close",!0)})),(0,i.Z)((0,p.Z)(t),"onOpen",(function(){t.changeValue("close",!1)})),(0,i.Z)((0,p.Z)(t),"onPinGlobally",(function(){t.changeValue("pin",2)})),(0,i.Z)((0,p.Z)(t),"onPinLocally",(function(){t.changeValue("pin",1)})),(0,i.Z)((0,p.Z)(t),"onUnpin",(function(){t.changeValue("pin",0)})),(0,i.Z)((0,p.Z)(t),"onHide",(function(){t.changeValue("hide",!0)})),(0,i.Z)((0,p.Z)(t),"onUnhide",(function(){t.changeValue("hide",!1)})),t.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",attachments:[],close:!1,hide:!1,pin:0,validators:{title:(0,nt.jn)(),post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return _e.Z.error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(_e.Z.error(e.title[0]),!1):!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,attachments:Xe(this.state.attachments),close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){if(this.state.isErrored)return(0,d.Z)(Ge,{message:this.state.isErrored});if(!this.state.isReady)return tt||(tt=(0,d.Z)($e,{}));var e=0;this.state.categoryOptions.close&&(e+=1),this.state.categoryOptions.hide&&(e+=1),this.state.categoryOptions.pin&&(e+=1);var t=null;return t=1===e?"col-sm-6":"col-sm-8",t+=3===e?" col-md-6":e?" col-md-7":" col-md-9",(0,d.Z)(Fe,{className:"posting-form",withFirstRow:!0},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:t},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),(0,d.Z)("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top"},void 0,(0,d.Z)(m.Z,{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),(0,d.Z)(We,{close:this.state.close,columns:e,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),r}(He.Z);function st(e){var t=e.split(",").map((function(e){return e.trim().toLowerCase()})).filter((function(e){return e.length>0}));return t.filter((function(e,n){return t.indexOf(e)==n}))}var it,ot=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard private thread?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onToChange",(function(e){t.changeValue("to",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onTitleChange",(function(e){t.changeValue("title",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})}));var n=(e.to||[]).map((function(e){return e.username})).join(", ");return t.state={isLoading:!1,to:n,title:"",post:"",attachments:[],validators:{title:(0,nt.jn)(),post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"clean",value:function(){if(!st(this.state.to).length)return _e.Z.error(gettext("You have to enter at least one recipient.")),!1;if(!this.state.title.trim().length)return _e.Z.error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(_e.Z.error(e.title[0]),!1):!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{to:st(this.state.to),title:this.state.title,post:this.state.post,attachments:Xe(this.state.attachments)})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.to||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return(0,d.Z)(Fe,{className:"posting-form",withFirstRow:!0},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit},void 0,(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onToChange,placeholder:gettext("Comma separated list of user names, eg.: Danny, Lisa"),type:"text",value:this.state.to}))),(0,d.Z)("div",{className:"row first-row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title}))),(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-xs-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),r}(He.Z);var rt,lt=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){t.setState({isReady:!0,post:e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]":""})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"appendData",(function(e){var n=e.post?'[quote="@'+e.poster+'"]\n'+e.post+"\n[/quote]\n\n":"";t.setState((function(e,t){return e.post.length>0?{post:e.post+"\n\n"+n}:{post:n}}))})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard your reply?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),t.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],validators:{post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config,this.props.context||null).then(this.loadSuccess,this.loadError)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.context,n=e.context;t&&n&&t.reply===n.reply||ye.Z.get(e.config,e.context||null).then(this.appendData,_e.Z.apiError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.post(this.props.submit,{post:this.state.post,attachments:Xe(this.state.attachments)})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Your reply has been posted.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,d.Z)(Fe,{className:"posting-form"},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit,method:"POST"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post reply"),value:this.state.post}))))):this.state.isErrored?(0,d.Z)(Ge,{message:this.state.isErrored}):it||(it=(0,d.Z)($e,{}))}}]),r}(He.Z);var ct=function(e){(0,h.Z)(r,e);var t,n,o=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,v.Z)(t);if(n){var s=(0,v.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,f.Z)(this,e)});function r(e){var t;return(0,a.Z)(this,r),t=o.call(this,e),(0,i.Z)((0,p.Z)(t),"loadSuccess",(function(e){t.setState({isReady:!0,post:e.post,attachments:et(e.attachments),protect:e.is_protected,canProtect:e.can_protect})})),(0,i.Z)((0,p.Z)(t),"loadError",(function(e){t.setState({isErrored:e.detail})})),(0,i.Z)((0,p.Z)(t),"onCancel",(function(){window.confirm(gettext("Are you sure you want to discard changes?"))&&ft.close()})),(0,i.Z)((0,p.Z)(t),"onProtect",(function(){t.setState({protect:!0})})),(0,i.Z)((0,p.Z)(t),"onUnprotect",(function(){t.setState({protect:!1})})),(0,i.Z)((0,p.Z)(t),"onPostChange",(function(e){t.changeValue("post",e.target.value)})),(0,i.Z)((0,p.Z)(t),"onAttachmentsChange",(function(e){t.setState({attachments:e})})),t.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",attachments:[],protect:!1,canProtect:!1,validators:{post:(0,nt.Jh)()},errors:{}},t}return(0,s.Z)(r,[{key:"componentDidMount",value:function(){ye.Z.get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return _e.Z.error(gettext("You have to enter a message.")),!1;var e=this.validate();return!e.post||(_e.Z.error(e.post[0]),!1)}},{key:"send",value:function(){return ye.Z.put(this.props.submit,{post:this.state.post,attachments:Xe(this.state.attachments),protect:this.state.protect})}},{key:"handleSuccess",value:function(e){_e.Z.success(gettext("Reply has been edited.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[],e.attachments||[]);_e.Z.error(t[0])}else _e.Z.apiError(e)}},{key:"render",value:function(){return this.state.isReady?(0,d.Z)(Fe,{className:"posting-form"},void 0,(0,d.Z)("form",{onSubmit:this.handleSubmit,method:"POST"},void 0,(0,d.Z)("div",{className:"row"},void 0,(0,d.Z)("div",{className:"col-md-12"},void 0,(0,d.Z)(Ue,{attachments:this.state.attachments,canProtect:this.state.canProtect,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,onProtect:this.onProtect,onUnprotect:this.onUnprotect,protect:this.state.protect,submitLabel:gettext("Edit reply"),value:this.state.post}))))):this.state.isErrored?(0,d.Z)(Ge,{message:this.state.isErrored}):rt||(rt=(0,d.Z)($e,{}))}}]),r}(He.Z);function ut(e){return"START"===e.mode?r().createElement(at,e):"START_PRIVATE"===e.mode?r().createElement(ot,e):"REPLY"===e.mode?r().createElement(lt,e):"EDIT"===e.mode?r().createElement(ct,e):null}var dt=n(4869),pt=n(19755),ht=function(){function e(){var t=this;(0,a.Z)(this,e),(0,i.Z)(this,"close",(function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout((function(){c().unmountComponentAtNode(document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1}),300))}))}return(0,s.Z)(e,[{key:"init",value:function(e,t,n){this._ajax=e,this._snackbar=t,this._placeholder=pt(n),this._mode=null,this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(!1===this._isOpen)this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e);else if(this._isOpen!==e.submit){var t=gettext("You are already working on other message. Do you want to discard it?");"POLL"==this._mode&&(t=gettext("You are already working on a poll. Do you want to discard it?")),window.confirm(t)&&(this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e))}else"REPLY"==this._mode&&"REPLY"==e.mode&&this._realOpen(e)}},{key:"_realOpen",value:function(e){"POLL"==e.mode?(0,dt.Z)(r().createElement(u.y,e),"posting-mount"):(0,dt.Z)(r().createElement(ut,e),"posting-mount"),this._placeholder.addClass("slide-in"),pt("html, body").animate({scrollTop:this._placeholder.offset().top},1e3)}}]),e}(),ft=new ht},53904:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(27346),o=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var n=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,i.p2)()),this._timeout=window.setTimeout((function(){n._timeout=null,n.alert(e,t)}),300)):(this._store.dispatch((0,i.OV)(e,t)),this._timeout=window.setTimeout((function(){n._store.dispatch((0,i.p2)()),n._timeout=null}),5e3))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();t.Z=new o},90287:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=n(41438),o=function(){function e(){(0,a.Z)(this,e),this._store=null,this._reducers={},this._initialState={}}return(0,s.Z)(e,[{key:"addReducer",value:function(e,t,n){this._reducers[e]=t,this._initialState[e]=n}},{key:"init",value:function(){this._store=(0,i.createStore)((0,i.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();t.Z=new o},59940:function(e,t,n){"use strict";var a=n(15671),s=n(43144),i=function(){function e(){(0,a.Z)(this,e)}return(0,s.Z)(e,[{key:"init",value:function(e){this._include=e,this._isLoaded=!1}},{key:"scorePassword",value:function(e,t){return this._isLoaded?zxcvbn(e,t).score:0}},{key:"load",value:function(){return this._isLoaded?this._loadedPromise():(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise())}},{key:"_loadingPromise",value:function(){var e=this;return new Promise((function(t,n){!function a(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;(s+=1)>200?n():"undefined"==typeof zxcvbn?window.setTimeout((function(){a(s)}),200):(e._isLoaded=!0,t())}()}))}},{key:"_loadedPromise",value:function(){return new Promise((function(e){e()}))}}]),e}();t.Z=new i},93051:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var a,s=n(22928),i=n(30381),o=n.n(i),r=n(57588),l=n.n(r),c=n(73935),u=n.n(c),d=n(37424),p=n(15671),h=n(43144),f=n(79340),v=n(6215),m=n(61120);var Z=function(e){(0,f.Z)(r,e);var t,n,i=(t=r,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,a=(0,m.Z)(t);if(n){var s=(0,m.Z)(this).constructor;e=Reflect.construct(a,arguments,s)}else e=a.apply(this,arguments);return(0,v.Z)(this,e)});function r(){return(0,p.Z)(this,r),i.apply(this,arguments)}return(0,h.Z)(r,[{key:"getReasonMessage",value:function(){return this.props.message.html?(0,s.Z)("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):(0,s.Z)("p",{className:"lead"},void 0,this.props.message.plain)}},{key:"getExpirationMessage",value:function(){if(this.props.expires){if(this.props.expires.isAfter(o()())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.props.expires.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0);return(0,s.Z)("abbr",{title:e},void 0,t)}return gettext("This ban has expired.")}return gettext("This ban is permanent.")}},{key:"render",value:function(){return(0,s.Z)("div",{className:"page page-error page-error-banned"},void 0,(0,s.Z)("div",{className:"container"},void 0,(0,s.Z)("div",{className:"message-panel"},void 0,a||(a=(0,s.Z)("div",{className:"message-icon"},void 0,(0,s.Z)("span",{className:"material-icon"},void 0,"highlight_off"))),(0,s.Z)("div",{className:"message-body"},void 0,this.getReasonMessage(),(0,s.Z)("p",{className:"message-footnote"},void 0,this.getExpirationMessage())))))}}]),r}(l().Component),g=n(32233),b=n(90287),y=(0,d.$j)((function(e){return e.tick}))(Z);function _(e,t){if(u().render((0,s.Z)(d.zt,{store:b.Z.getStore()},void 0,(0,s.Z)(y,{message:e.message,expires:e.expires_on?o()(e.expires_on):null})),document.getElementById("page-mount")),void 0===t||t){var n=g.Z.get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+n,window.history.pushState({},"",g.Z.get("BANNED_URL"))}}},69130:function(e,t,n){"use strict";function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=[],s=[];if(e.forEach((function(e){s.push(e),s.length===t&&(a.push(s),s=[])})),!1!==n&&s.length>0&&s.length<t)for(var i=s.length;i<t;i++)s.push(n);return s.length&&a.push(s),a}n.d(t,{Z:function(){return a}})},89759:function(e,t,n){"use strict";function a(e,t){var n=[];return e.concat(t).filter((function(e){return-1===n.indexOf(e.id)&&(n.push(e.id),!0)}))}n.d(t,{Z:function(){return a}})},89627:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function s(e){return e.replace(/[&<>"']/g,(function(e){return a[e]}))}},48772:function(e,t,n){"use strict";function a(e){return e>1073741824?s(e/1073741824)+" GB":e>1048576?s(e/1048576)+" MB":e>1024?s(e/1024)+" KB":s(e)+" B"}function s(e){return e.toFixed(1)}n.d(t,{Z:function(){return a}})},4869:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var a=n(22928),s=(n(57588),n(73935)),i=n.n(s),o=n(37424),r=n(90287);function l(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=document.getElementById(t),l=e.props?e:(0,a.Z)(e,{});s&&(n?i().render((0,a.Z)(o.zt,{store:r.Z.getStore()},void 0,l),s):i().render(l,s))}},44039:function(e,t,n){"use strict";function a(e,t){return Math.floor(Math.random()*(t-e+1))+e}n.d(t,{e:function(){return a}})},39633:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(22928),s=(n(57588),n(73935)),i=n.n(s),o=n(37424),r=n(69987),l=n(90287),c=document.getElementById("page-mount");function u(e){var t={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,n){n(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,i().render((0,a.Z)(o.zt,{store:l.Z.getStore()},void 0,(0,a.Z)(r.F0,{routes:t,history:r.mW})),c)}},20370:function(e,t,n){"use strict";function a(e,t){if(-1===e.indexOf(t)){var n=e.slice();return n.push(t),n}return e.filter((function(e){return e!==t}))}n.d(t,{ZN:function(){return a}})},55210:function(e,t,n){"use strict";n.d(t,{BS:function(){return d},C1:function(){return o},Do:function(){return c},Ei:function(){return u},HR:function(){return p},Vb:function(){return v},fT:function(){return r},gS:function(){return h},jA:function(){return l},lG:function(){return f}});var a=n(19755),s=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,i=new RegExp("^[0-9a-z]+$","i");function o(e){return function(t){if(!1===t||null===t||0===a.trim(t).length)return e||gettext("This field is required.")}}function r(e){var t=gettext("You have to accept the terms of service.");return o(e||t)}function l(e){var t=gettext("You have to accept the privacy policy.");return o(e||t)}function c(e){return function(t){if(!s.test(t))return e||gettext("Enter a valid email address.")}}function u(e,t){return function(n){var s="",i=a.trim(n).length;if(i<e)return s=t?t(e,i):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(s,{limit_value:e,show_value:i},!0)}}function d(e,t){return function(n){var s="",i=a.trim(n).length;if(i>e)return s=t?t(e,i):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(s,{limit_value:e,show_value:i},!0)}}function p(e){return u(e,(function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)}))}function h(e){return d(e,(function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)}))}function f(){return function(e){if(!i.test(a.trim(e)))return gettext("Username can only contain latin alphabet letters and digits.")}}function v(e){return function(t){var n=t.length;if(n<e){var a=ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e);return interpolate(a,{limit_value:e,show_value:n},!0)}}}},46700:function(e,t,n){var a={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function s(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=i,e.exports=s,s.id=46700}},n={};function a(e){var s=n[e];if(void 0!==s)return s.exports;var i=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.m=t,e=[],a.O=function(t,n,s,i){if(!n){var o=1/0;for(u=0;u<e.length;u++){n=e[u][0],s=e[u][1],i=e[u][2];for(var r=!0,l=0;l<n.length;l++)(!1&i||o>=i)&&Object.keys(a.O).every((function(e){return a.O[e](n[l])}))?n.splice(l--,1):(r=!1,i<o&&(o=i));if(r){e.splice(u--,1);var c=s();void 0!==c&&(t=c)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,s,i]},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e={174:0};a.O.j=function(t){return 0===e[t]};var t=function(t,n){var s,i,o=n[0],r=n[1],l=n[2],c=0;if(o.some((function(t){return 0!==e[t]}))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(l)var u=l(a)}for(t&&t(n);c<o.length;c++)i=o[c],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(u)},n=self.webpackChunkmisago=self.webpackChunkmisago||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}(),a.O(void 0,[736],(function(){return a(32233)})),a.O(void 0,[736],(function(){return a(58339)})),a.O(void 0,[736],(function(){return a(64109)})),a.O(void 0,[736],(function(){return a(46226)})),a.O(void 0,[736],(function(){return a(93240)})),a.O(void 0,[736],(function(){return a(75147)})),a.O(void 0,[736],(function(){return a(4894)})),a.O(void 0,[736],(function(){return a(29223)})),a.O(void 0,[736],(function(){return a(3026)})),a.O(void 0,[736],(function(){return a(94795)})),a.O(void 0,[736],(function(){return a(95862)})),a.O(void 0,[736],(function(){return a(32488)})),a.O(void 0,[736],(function(){return a(11768)})),a.O(void 0,[736],(function(){return a(61323)})),a.O(void 0,[736],(function(){return a(15049)})),a.O(void 0,[736],(function(){return a(61814)})),a.O(void 0,[736],(function(){return a(95920)})),a.O(void 0,[736],(function(){return a(59203)})),a.O(void 0,[736],(function(){return a(72168)})),a.O(void 0,[736],(function(){return a(47806)})),a.O(void 0,[736],(function(){return a(1081)})),a.O(void 0,[736],(function(){return a(97751)})),a.O(void 0,[736],(function(){return a(76093)})),a.O(void 0,[736],(function(){return a(19764)})),a.O(void 0,[736],(function(){return a(47549)})),a.O(void 0,[736],(function(){return a(22331)})),a.O(void 0,[736],(function(){return a(21513)})),a.O(void 0,[736],(function(){return a(98749)})),a.O(void 0,[736],(function(){return a(98251)})),a.O(void 0,[736],(function(){return a(6720)})),a.O(void 0,[736],(function(){return a(10846)})),a.O(void 0,[736],(function(){return a(18255)})),a.O(void 0,[736],(function(){return a(14113)})),a.O(void 0,[736],(function(){return a(24444)})),a.O(void 0,[736],(function(){return a(1764)})),a.O(void 0,[736],(function(){return a(68351)})),a.O(void 0,[736],(function(){return a(81521)})),a.O(void 0,[736],(function(){return a(19984)})),a.O(void 0,[736],(function(){return a(41229)})),a.O(void 0,[736],(function(){return a(43589)})),a.O(void 0,[736],(function(){return a(24108)})),a.O(void 0,[736],(function(){return a(33934)})),a.O(void 0,[736],(function(){return a(85577)})),a.O(void 0,[736],(function(){return a(83526)})),a.O(void 0,[736],(function(){return a(43060)})),a.O(void 0,[736],(function(){return a(92292)})),a.O(void 0,[736],(function(){return a(33409)}));var s=a.O(void 0,[736],(function(){return a(31341)}));s=a.O(s)}();
 //# sourceMappingURL=misago.js.map

File diff suppressed because it is too large
+ 0 - 0
misago/static/misago/js/misago.js.map


+ 1 - 2
misago/templates/misago/activation/done.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-message page-message-success page-activation-done">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/activation/error.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-error page-activation-error">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 14 - 7
misago/templates/misago/activation/request.html

@@ -7,16 +7,23 @@
 
 {% block content %}
 <div class="page page-request-activation">
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        <h1>{% trans "Request activation link" %}</h1>
+  <div class="container page-header-container">
+    <div class="page-header page-header-request-activation">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-request-activation">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                <h1>{% trans "Request activation link" %}</h1>
+              </div>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
-  <div class="container">
-
+  <div class="container page-container">
     <div class="row">
       <div class="col-md-8">
         <div class="side-form-copy">

+ 1 - 2
misago/templates/misago/activation/stopped.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-message page-message-info">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 2 - 1
misago/templates/misago/admin/conf/general_settings.html

@@ -48,9 +48,10 @@
   <fieldset>
     <legend>{% trans "Forum index" %}</legend>
 
-    {% form_row form.index_header %}
     {% form_row form.index_title %}
     {% form_row form.index_meta_description %}
+    {% form_row form.index_header %}
+    {% form_row form.index_message %}
 
   </fieldset>
 </div>

+ 1 - 1
misago/templates/misago/categories/base.html

@@ -75,7 +75,7 @@
 {% block content %}
 <div class="page page-categories{{ categories|iffalse:' page-message' }}">
   {% include "misago/categories/header.html" %}
-  <div class="container">
+  <div class="container page-container">
     {% include "misago/categories/body.html" %}
   </div>
 </div>

+ 40 - 9
misago/templates/misago/categories/header.html

@@ -1,12 +1,43 @@
 {% load i18n %}
-<div class="page-header-bg">
-  <div class="page-header">
-    <div class="container">
-      {% if is_index %}
-        <h1>{{ settings.index_header|default:settings.forum_name }}</h1>
-      {% else %}
-        <h1>{% trans "Categories" %}</h1>
-      {% endif %}
+{% if not THREADS_ON_INDEX and settings.index_header %}
+<div class="container page-header-container">
+  <div class="page-header page-header-forum-index">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-forum-index">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <h1>{{ settings.index_header }}</h1>
+            </div>
+          </div>
+        </div>
+        {% if settings.index_message %}
+          <div class="page-header-details">
+            <div class="page-header-message">
+              {{ settings.index_message|force_escape|urlize|linebreaks|safe }}
+            </div>
+          </div>
+        {% endif %}
+      </div>
     </div>
   </div>
-</div>
+</div>
+{% elif THREADS_ON_INDEX %}
+<div class="container page-header-container">
+  <div class="page-header page-header-categories">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-categories">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <h1>{% trans "Categories" %}</h1>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+{% endif %}

+ 1 - 2
misago/templates/misago/errorpages/403.html

@@ -38,8 +38,7 @@
 
 {% block content %}
 <div class="page page-error page-error-403">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/errorpages/404.html

@@ -26,8 +26,7 @@
 
 {% block content %}
 <div class="page page-error page-error-404">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/errorpages/405.html

@@ -26,8 +26,7 @@
 
 {% block content %}
 <div class="page page-error page-error-405">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 1
misago/templates/misago/errorpages/ban_message.html

@@ -10,7 +10,7 @@
     </p>
   {% endif %}
 {% endwith %}
-<p className="message-footnote">
+<p class="message-footnote">
   {% if ban.expires_on %}
     {% blocktrans trimmed with expires_on=ban.expires_on|date:"DATETIME_FORMAT" %}
       This ban expires on {{ expires_on }}.

+ 1 - 2
misago/templates/misago/errorpages/banned.html

@@ -12,8 +12,7 @@
 
 {% block content %}
 <div class="page page-error page-error-403 page-error-banned">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/errorpages/csrf_failure.html

@@ -12,8 +12,7 @@
 
 {% block content %}
 <div class="page page-error page-error-csrf">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/errorpages/csrf_failure_authenticated.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-error page-error-csrf">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/errorpages/social.html

@@ -18,8 +18,7 @@
 
 {% block content %}
 <div class="page page-error page-error-social">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/forgottenpassword/error.html

@@ -13,8 +13,7 @@
 
 {% block content %}
 <div class="page page-error page-forgotten-password-error">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 18 - 10
misago/templates/misago/forgottenpassword/form.html

@@ -13,19 +13,27 @@
 
 {% block content %}
 <div class="page page-forgotten-password-form">
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        {% if user.is_authenticated and not user.has_usable_assword %}
-          <h1>{% trans "Set new password" %}</h1>
-        {% else %}
-          <h1>{% trans "Change forgotten password" %}</h1>
-        {% endif %}
+  <div class="container page-header-container">
+    <div class="page-header page-header-forgotten-password-form">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-forgotten-password-form">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                {% if user.is_authenticated and not user.has_usable_assword %}
+                  <h1>{% trans "Set new password" %}</h1>
+                {% else %}
+                  <h1>{% trans "Change forgotten password" %}</h1>
+                {% endif %}
+              </div>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
-  <div class="container">
+  <div class="container page-container">
 
     <div class="row">
       <div id="reset-password-form-mount" class="col-md-4 col-md-offset-4">

+ 18 - 10
misago/templates/misago/forgottenpassword/request.html

@@ -13,19 +13,27 @@
 
 {% block content %}
 <div class="page page-forgotten-password-request">
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        {% if user.is_authenticated and not user.has_usable_assword %}
-          <h1>{% trans "Set new password" %}</h1>
-        {% else %}
-          <h1>{% trans "Change forgotten password" %}</h1>
-        {% endif %}
+  <div class="container page-header-container">
+    <div class="page-header page-header-forgotten-password-request">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-forgotten-password-request">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                {% if user.is_authenticated and not user.has_usable_assword %}
+                  <h1>{% trans "Set new password" %}</h1>
+                {% else %}
+                  <h1>{% trans "Change forgotten password" %}</h1>
+                {% endif %}
+              </div>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
-  <div class="container">
+  <div class="container page-container">
 
     <div class="row">
       <div class="col-md-8">

+ 1 - 2
misago/templates/misago/options/credentials_changed.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-message page-message-success page-options-done">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/options/credentials_error.html

@@ -7,8 +7,7 @@
 
 {% block content %}
 <div class="page page-error page-options-error">
-  <div class="page-header-bg"></div>
-  <div class="container">
+  <div class="container page-container">
     <div class="message-panel">
 
       <div class="message-icon">

+ 1 - 2
misago/templates/misago/options/noscript.html

@@ -7,9 +7,8 @@
 
 {% block content %}
 <div class="page page-options page-error page-noscript">
-  <div class="page-header-bg"></div>
   <noscript>
-    <div class="container">
+    <div class="container page-container">
       <div class="message-panel">
 
         <div class="message-icon">

+ 14 - 6
misago/templates/misago/privacy_policy.html

@@ -15,15 +15,23 @@
 
 {% block content %}
 <div class="page page-legal legal-privacy-policy">
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        <h1>{{ title }}</h1>
+  <div class="container page-header-container">
+    <div class="page-header page-header-privacy-policy">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-privacy-policy">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                <h1>{{ title }}</h1>
+              </div>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
-  <div class="legal-body container">
+  <div class="legal-body container page-container">
     <article class="misago-markup">
       {{ text|safe }}
     </article>

+ 3 - 7
misago/templates/misago/profile/base.html

@@ -68,14 +68,10 @@
 {% block content %}
 <div class="page page-user-profile">
 
-  <div class="page-header-bg">
-    <div class="page-header{% if profile.rank.css_class %} page-header-rank-{{ profile.rank.css_class }}{% endif %}">
-      {% include "misago/profile/header.html" %}
-      {% include "misago/profile/nav-sm.html" %}
-    </div>
-  </div>
+  {% include "misago/profile/header.html" %}
 
-  <div class="container">
+  <div class="container page-container">
+    {% include "misago/profile/nav-sm.html" %}
     <div class="row">
       <div class="col-md-3 hidden-xs hidden-sm">
         {% include "misago/profile/nav.html" %}

+ 109 - 48
misago/templates/misago/profile/header.html

@@ -1,54 +1,115 @@
 {% load i18n misago_avatars %}
-<div class="container">
 
-  {% if not profile.is_active or profile.is_deleting_account %}
-    <div class="alert alert-danger">
-      {% if profile.is_deleting_account %}
-        <p>{% trans "This user is deleting their account." %}</p>
-      {% else %}
-        <p>{% trans "This user's account has been disabled by administrator." %}</p>
-      {% endif %}
-    </div>
-  {% endif %}
-
-  <div class="row">
-    <div class="col-md-9 col-md-offset-3">
-
-      <img src="{{ profile|avatar:100 }}" class="user-avatar user-avatar-sm" alt="">
-      <h1>{{ profile.username }}</h1>
-
-    </div>
-  </div>
-</div>
-<div class="header-stats">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-9 col-md-offset-3">
-
-        <ul class="list-inline">
-          {% if profile.rank.is_tab %}
-            <li class="user-rank">
-              <a href="{% url 'misago:users-rank' slug=profile.rank.slug %}" class="item-title">
-                {{ profile.rank.name }}
-              </a>
-            </li>
-          {% else %}
-            <li class="user-rank">
-              <span class="item-title">{{ profile.rank.name }}</span>
-            </li>
+<div class="container page-header-container">
+  <div class="page-header {% if profile.rank.css_class %} page-header-rank-{{ profile.rank.css_class }}{% else %}page-header-profile{% endif %}">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner {% if profile.rank.css_class %} page-header-banner-rank-{{ profile.rank.css_class }}{% else %}page-header-banner-profile{% endif %}">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <div class="profile-page-header">
+                <div class="profile-page-header-avatar">
+                  <img alt="" class="user-avatar hidden-sm hidden-md hidden-lg" src="{{ profile|avatar:200 }}" srcset="{{ profile|avatar:400 }}" width="200" height="200">
+                  <img alt="" class="user-avatar hidden-xs hidden-md hidden-lg" src="{{ profile|avatar:100 }}" srcset="{{ profile|avatar:200 }}" width="64" height="64">
+                  <img alt="" class="user-avatar hidden-xs hidden-sm" src="{{ profile|avatar:200 }}" srcset="{{ profile|avatar:400 }}" width="128" height="128">
+                </div>
+                <h1>{{ profile.username }}</h1>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="page-header-details profile-page-header-details">
+          <div class="flex-row">
+            <div class="flex-row-section flex-row-section-auto">
+              <div class="flex-row-col">
+                <ul class="profile-data-list">
+                  {% if not profile.is_active %}
+                    <li class="user-account-disabled">
+                      <abbr title="{% trans "This user's account has been disabled by administrator." %}">
+                        {% trans "Account disabled" %}
+                      </abbr>
+                    </li>
+                  {% endif %}
+                  {% if profile.rank.is_tab %}
+                    <li class="user-rank">
+                      <a href="{{ profile.rank.get_absolute_url }}" class="item-title">
+                        {{ profile.rank.name }}
+                      </a>
+                    </li>
+                  {% else %}
+                    <li class="user-rank">
+                      <span class="item-title">{{ profile.rank.name }}</span>
+                    </li>
+                  {% endif %}
+                  {% if profile.title %}
+                    <li class="user-title">
+                      {{ profile.title }}
+                    </li>
+                  {% elif profile.rank.title %}
+                    <li class="user-title">
+                      {{ profile.rank.title }}
+                    </li>
+                  {% endif %}
+                  <li class="user-joined-on">
+                    <abbr>
+                      {% blocktrans trimmed with joined_on=profile.joined_on|date %}
+                        Joined {{ joined_on }}
+                      {% endblocktrans %}
+                    </abbr>
+                  </li>
+                  {% if user_acl.can_see_users_emails or profile.id == user.id %}
+                    <li class="user-email">
+                      <a href="mailto:{{ profile.email }}" class="item-title">
+                        {{ profile.email }}
+                      </a>
+                    </li>
+                  {% endif %}
+                </ul>
+              </div>
+            </div>
+            {% if user.is_authenticated %}
+              {% if user_acl.can_start_private_threads and profile.id != user.id %}
+                <div class="flex-row-section">
+                  <div class="flex-row-col">
+                    <button class="btn btn-default btn-block btn-outline" type="button" disabled>
+                      <span class="material-icon">comment</span>
+                      {% trans "Message" %}
+                    </button>
+                  </div>
+                  {% if not profile.acl.can_follow and profile.acl.can_moderate %}
+                    <div class="flex-row-col flex-row-col-shrink">
+                      <div class="dropdown">
+                        <button class="btn btn-default btn-icon btn-outline dropdown-toggle" type="button" disabled>
+                          <span class="material-icon">settings</span>
+                        </button>
+                      </div>
+                    </div>
+                  {% endif %}
+                </div>
+              {% endif %}
+              {% if profile.acl.can_follow %}
+                <div class="flex-row-section">
+                  <div class="flex-row-col">
+                    <button class="btn btn btn-block btn-outline btn-default btn-follow" type="button" disabled>
+                      <span class="material-icon">favorite_border</span>
+                      {% trans "Follow" %}
+                    </button>
+                  </div>
+                  {% if profile.acl.can_moderate %}
+                    <div class="flex-row-col flex-row-col-shrink">
+                      <div class="dropdown">
+                        <button class="btn btn-default btn-icon btn-outline dropdown-toggle" type="button" disabled>
+                          <span class="material-icon">settings</span>
+                        </button>
+                      </div>
+                    </div>
+                  {% endif %}
+                </div>
+              {% endif %}
+            </div>
           {% endif %}
-          {% if profile.title %}
-            <li class="user-title">{{ profile.title }}</li>
-          {% elif profile.rank.title %}
-            <li class="user-title">{{ profile.rank.title }}</li>
-          {% endif %}
-          <li class="user-joined-on">
-            {% blocktrans trimmed with joined_on=profile.joined_on|date %}
-              Member since {{ joined_on }}
-            {% endblocktrans %}
-          </li>
-        </ul>
-
+        </div>
       </div>
     </div>
   </div>

+ 0 - 4
misago/templates/misago/profile/nav.html

@@ -1,8 +1,4 @@
 {% load misago_avatars misago_shorthands %}
-<div class="profile-side-avatar">
-  <img src="{{ profile|avatar:400 }}" alt="">
-</div>
-
 <div class="list-group nav-side">
   {% for section in sections %}
     <a href="{% url section.link slug=profile.slug pk=profile.pk %}" class="list-group-item{{ section.is_active|iftrue:' active' }}">

+ 28 - 19
misago/templates/misago/search.html

@@ -15,24 +15,35 @@
 
 {% block content %}
 <div class="page page-search">
-  <div class="page-header-bg">
-    <div class="page-header page-search-form">
-      <div class="container">
-        <div class="row">
-          <div class="col-xs-12 col-md-3">
-            <h1>{% trans "Search" %}</h1>
+  <div class="container page-header-container">
+    <div class="page-header page-header-site-search">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-site-search">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                <h1>{% trans "Search" %}</h1>
+              </div>
+            </div>
           </div>
-          <div class="col-xs-12 col-md-9">
-            <div class="row xs-margin-top sm-margin-top">
-              <div class="col-xs-12 col-sm-8 col-md-9">
-                <div class="form-group">
-                  <input class="form-control" type="text" disabled/>
+          <div class="page-header-details page-header-search-form">
+            <div class="flex-row">
+              <div class="flex-row-section flex-row-section-auto">
+                <div class="flex-row-col">
+                  <input
+                    class="form-control"
+                    type="text"
+                    value="{{ search_query }}"
+                    placeholder="{% trans 'Search' %}"
+                    disabled
+                  />
+                </div>
+                <div class="flex-row-col flex-row-col-shrink">
+                  <button class="btn btn-secondary btn-icon btn-outline" disabled>
+                    <span class="material-icon">search</span>
+                  </button>
                 </div>
-              </div>
-              <div class="col-xs-12 col-sm-4 col-md-3">
-                <button class="btn btn-primary btn-block btn-outline" disabled>
-                  {% trans "Search" %}
-                </button>
               </div>
             </div>
           </div>
@@ -41,12 +52,10 @@
     </div>
   </div>
 
-  <div class="container">
-
+  <div class="container page-container">
     <p class="lead text-center xs-margin-top sm-margin-top">
       {% trans "Loading search..." %}
     </p>
-
   </div>
 </div>
 {% endblock content %}

+ 1 - 2
misago/templates/misago/socialauth.html

@@ -9,9 +9,8 @@
 
 {% block content %}
 <div class="page page-options page-error page-noscript">
-  <div class="page-header-bg"></div>
   <noscript>
-    <div class="container">
+    <div class="container page-container">
       <div class="message-panel">
 
         <div class="message-icon">

+ 14 - 6
misago/templates/misago/terms_of_service.html

@@ -15,15 +15,23 @@
 
 {% block content %}
 <div class="legal-page legal-terms-of-service">
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        <h1>{{ title }}</h1>
+  <div class="container page-header-container">
+    <div class="page-header page-header-terms-of-service">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-terms-of-service">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                <h1>{{ title }}</h1>
+              </div>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
-
-  <div class="legal-body container">
+  <div class="legal-body container page-container">
     <article class="misago-markup">
       {{ text|safe }}
     </article>

+ 20 - 18
misago/templates/misago/thread/breadcrumbs.html

@@ -1,18 +1,20 @@
-<div class="page-breadcrumbs">
-  <div class="container">
-    <ol class="breadcrumb hidden-xs" itemscope itemtype="http://schema.org/BreadcrumbList">
-      {% for node in breadcrumbs %}
-        <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
-          <a href="{{ node.get_absolute_url }}" itemscope itemtype="http://schema.org/Thing" itemprop="item">
-            <span itemprop="name">{{ node.name }}</span>
-          </a>
-          <meta itemprop="position" content="{{ forloop.counter }}" />
-        </li>
-      {% endfor %}
-    </ol>
-    <a href="{{ thread.category.get_absolute_url }}" class="go-back-sm visible-xs-block">
-      <span class="material-icon">chevron_left</span>
-      {{ thread.category }}
-    </a>
-  </div>
-</div>
+<ul class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
+  {% for node in breadcrumbs %}
+    <li id="thread-breadcrumb-{{ node.id }}" class="breadcrumbs-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
+      <a href="{{ node.get_absolute_url }}">
+        {% if node.special_role %}
+          <span class="material-icon">chevron_right</span>
+          <span class="breadcrumbs-item-name">{{ node.name }} </span>
+        {% else %}
+          <span class="material-icon"{% if node.color %} style="color: {{ node.color }};"{% endif %}>label</span>
+          {% if node.short_name %}
+            <span class="breadcrumbs-item-name hidden-sm hidden-md hidden-lg" title="{{ node.name }}">{{ node.short_name }}</span>
+            <span class="breadcrumbs-item-name hidden-xs">{{ node.name }}</span>
+          {% else %}
+            <span class="breadcrumbs-item-name">{{ node.name }}</span>
+          {% endif %}
+        {% endif %}
+      </a>
+    </li>
+  {% endfor %}
+</ul>

+ 76 - 0
misago/templates/misago/thread/header.html

@@ -0,0 +1,76 @@
+{% load i18n misago_avatars %}
+<div class="container page-header-container">
+  <div class="page-header page-header-{% if thread.category.special_role == 'private_threads' %}private-threads{% else %}{{ thread.category.css_class|default:'category-threads' }}{% endif %}">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-{% if thread.category.special_role == 'private_threads' %}private-threads{% else %}{{ thread.category.css_class|default:'category-threads' }}{% endif %}">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              {% include "misago/thread/breadcrumbs.html" %}
+              <h1>{{ thread.title }}</h1>
+            </div>
+          </div>
+        </div>
+        <div class="page-header-details page-header-thread-details">
+          <div class="flex-row">
+            <div class="flex-row-section flex-row-section-auto">
+              <div class="flex-row-col flex-row-col-shrink">
+                <div class="thread-user-card">
+                  <div class="thread-user-card-media">
+                    {% if thread.starter_id %}
+                      <a href="{% url 'misago:user' slug=thread.starter_slug pk=thread.starter_id %}">
+                        <img alt="" class="user-avatar" src="{{ thread.starter|avatar:100 }}" width="40" height="40" />
+                      </a>
+                    {% else %}
+                      <img alt="" class="user-avatar" src="{{ BLANK_AVATAR_URL }}" width="40" height="40" />
+                    {% endif %}
+                  </div>
+                  <div class="thread-user-card-body">
+                    <div class="thread-user-card-header">
+                      {% if thread.starter_id %}
+                        <a class="item-title" href="{% url 'misago:user' slug=thread.starter_slug pk=thread.starter_id %}">{{ thread.starter_name }}</a>
+                      {% else %}
+                        <span class="item-title">{{ thread.starter_name }}</span>
+                      {% endif %}
+                    </div>
+                    <div>
+                      <span class="text-muted" title="{% blocktrans trimmed with date=thread.started_on|date:'DATETIME_FORMAT' %}
+                        Started on {{ date }}
+                      {% endblocktrans %}">
+                        {{ thread.started_on|date:'DATE_FORMAT' }}
+                      </span>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div class="flex-row-col"></div>
+              {% if thread.replies > 0 %}
+                <div class="flex-row-col flex-row-col-shrink">
+                  {% include "misago/thread_replies.html" %}
+                </div>
+              {% endif %}
+              {% if thread.is_closed or thread.is_hidden or thread.is_unapproved or thread.weight > 0 or thread.best_answer or thread.has_poll %}
+                <div class="flex-row-col flex-row-col-shrink">
+                  {% include "misago/thread_flags.html" %}
+                </div>
+              {% endif %}
+            </div>
+            {% if user.is_authenticated %}
+              <div class="flex-row-section">
+                <div class="flex-row-col">
+                  <div class="dropdown">
+                    <button class="btn btn-default btn-outline btn-block" type="button" disabled>
+                      <span class="material-icon">star_border</span>
+                      {% trans "Disabled" %}
+                    </button>
+                  </div>
+                </div>
+              </div>
+            {% endif %}
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>

+ 2 - 12
misago/templates/misago/thread/private_thread.html

@@ -13,18 +13,8 @@
 
 {% block content %}
 <div class="page page-thread {% if category.css_class %}page-thread-{{ category.css_class }}{% endif %}">
-  <div class="page-header-bg">
-    <div class="page-header">
-
-      {% include "misago/thread/breadcrumbs.html" %}
-      <div class="container">
-        <h1>{{ thread.title }}</h1>
-      </div>
-      {% include "misago/thread/stats.html" %}
-
-    </div>
-  </div>
-  <div class="container">
+  {% include "misago/thread/header.html" %}
+  <div class="container page-container">
 
     {% include "misago/participants.html" with participants=thread.participants_list %}
     {% include "misago/thread/toolbar_top.html" %}

+ 0 - 89
misago/templates/misago/thread/stats.html

@@ -1,89 +0,0 @@
-{% load i18n misago_capture %}
-<div class="header-stats">
-  <div class="container">
-    <ul class="list-inline">
-      {% if thread.weight == 2 %}
-        <li class="thread-pinned-globally">
-          <span class="material-icon">
-            bookmark
-          </span>
-          <span class="icon-legend">
-            {% trans "Pinned globally" %}
-          </span>
-        </li>
-      {% elif thread.weight %}
-        <li class="thread-pinned-locally">
-          <span class="material-icon">
-            bookmark_border
-          </span>
-          <span class="icon-legend">
-            {% trans "Pinned locally" %}
-          </span>
-        </li>
-      {% endif %}
-      {% if thread.is_unapproved %}
-        <li class="thread-unapproved">
-          <span class="material-icon">
-            remove_circle
-          </span>
-          <span class="icon-legend">
-            {% trans "Unapproved" %}
-          </span>
-        </li>
-      {% elif thread.has_unapproved_posts and thread.acl.can_approve %}
-        <li class="thread-unapproved-posts">
-          <span class="material-icon">
-            remove_circle_outline
-          </span>
-          <span class="icon-legend">
-            {% trans "Unapproved posts" %}
-          </span>
-        </li>
-      {% endif %}
-      {% if thread.is_hidden %}
-        <li class="thread-hidden">
-          <span class="material-icon">
-            visibility_off
-          </span>
-          <span class="icon-legend">
-            {% trans "Hidden" %}
-          </span>
-        </li>
-      {% endif %}
-      {% if thread.is_closed %}
-        <li class="thread-closed">
-          <span class="material-icon">
-            lock_outline
-          </span>
-          <span class="icon-legend">
-            {% trans "Closed" %}
-          </span>
-        </li>
-      {% endif %}
-      <li class="thread-replies">
-        <span class="material-icon">
-          forum
-        </span>
-        <span class="icon-legend">
-          {% blocktrans trimmed count replies=thread.replies %}
-            {{ replies }} reply
-          {% plural %}
-            {{ replies }} replies
-          {% endblocktrans %}
-        </span>
-      </li>
-      <li class="thread-last-reply">
-        {% capture trimmed as last_poster %}
-          {% if thread.last_poster_id %}
-            <a href="{% url 'misago:user' slug=thread.last_poster_slug pk=thread.last_poster_id %}" class="poster-title">{{ thread.last_poster_name }}</a>
-          {% else %}
-            <span class="poster-title">{{ thread.last_poster_name }}</span>
-          {% endif %}
-        {% endcapture %}
-        {% blocktrans trimmed with user=last_poster|safe date=thread.last_post_on|date %}
-          last reply by {{ user }} {{ date }}
-        {% endblocktrans %}
-      </li>
-    </ul>
-  </div>
-</div>

+ 2 - 12
misago/templates/misago/thread/thread.html

@@ -74,18 +74,8 @@
 
 {% block content %}
 <div class="page page-thread {% if category.css_class %}page-thread-{{ category.css_class }}{% endif %}">
-  <div class="page-header-bg">
-    <div class="page-header">
-
-      {% include "misago/thread/breadcrumbs.html" %}
-      <div class="container">
-        <h1>{{ thread.title }}</h1>
-      </div>
-      {% include "misago/thread/stats.html" %}
-
-    </div>
-  </div>
-  <div class="container">
+  {% include "misago/thread/header.html" %}
+  <div class="container page-container">
 
     {% include "misago/thread/toolbar_top.html" %}
     {% if thread.poll %}

+ 0 - 10
misago/templates/misago/thread/toolbar_top.html

@@ -14,16 +14,6 @@
   </div>
   <div class="toolbar-spacer"></div>
   {% if user.is_authenticated %}
-    <div class="toolbar-section">
-      <div class="toolbar-item">
-        <div class="dropdown">
-          <button class="btn btn-default btn-outline btn-block" type="button" disabled>
-            <span class="material-icon">star_border</span>
-            {% trans "Disabled" %}
-          </button>
-        </div>
-      </div>
-    </div>
     {% if thread.acl.can_start_poll %}
       <div class="toolbar-section hidden-xs">
         <div class="toolbar-item">

+ 52 - 0
misago/templates/misago/thread_flags.html

@@ -0,0 +1,52 @@
+{% load i18n %}
+
+<ul class="thread-flags">
+  {% if thread.weight == 2 %}
+    <li
+      class="thread-flag-pinned-globally"
+      title="{% trans 'Pinned globally' %}"
+    >
+      <span class="material-icon">bookmark</span>
+    </li>
+  {% endif %}
+  {% if thread.weight == 1 %}
+    <li
+      class="thread-flag-pinned-locally"
+      title="{% trans 'Pinned in category' %}"
+    >
+      <span class="material-icon">bookmark_outline</span>
+    </li>
+  {% endif %}
+  {% if thread.best_answer %}
+    <li
+      class="thread-flag-answered"
+      title="{% trans 'Answered' %}"
+    >
+      <span class="material-icon">check_circle</span>
+    </li>
+  {% endif %}
+  {% if thread.has_poll %}
+    <li
+      class="thread-flag-poll"
+      title="{% trans 'Poll' %}"
+    >
+      <span class="material-icon">poll</span>
+    </li>
+  {% endif %}
+  {% if thread.is_closed %}
+    <li
+      class="thread-flag-closed"
+      title="{% trans 'Closed' %}"
+    >
+      <span class="material-icon">lock</span>
+    </li>
+  {% endif %}
+  {% if thread.is_hidden %}
+    <li
+      class="thread-flag-hidden"
+      title="{% trans 'Hidden' %}"
+    >
+      <span class="material-icon">visibility_off</span>
+    </li>
+  {% endif %}
+</ul>

+ 11 - 0
misago/templates/misago/thread_replies.html

@@ -0,0 +1,11 @@
+{% load i18n %}
+<span class="threads-replies"
+  title="{% blocktrans trimmed count replies=thread.replies %}
+  {{ replies }} reply
+  {% plural %}
+    {{ replies }} replies
+  {% endblocktrans %}"
+>
+  <span class="material-icon">chat_bubble_outline</span>
+  {% if thread.replies > 980 %}{{ thread.replies_in_ks }}{% else %}{{ thread.replies }}{% endif %}
+</span>

+ 4 - 7
misago/templates/misago/threadslist/base.html

@@ -15,12 +15,9 @@
   {% block extra-css %}{% endblock extra-css %}
 {% endspaceless %}">
 
-  <div class="page-header-bg">
-    {% block page-header %}
-    {% endblock page-header %}
-  </div>
+  {% block page-header %}{% endblock page-header %}
 
-  <div class="container">
+  <div class="container page-container">
     {% block list-container %}
       {% if subcategories %}
         <noscript>
@@ -39,7 +36,7 @@
       {% endif %}
 
       <section>
-        <div className="threads-list">
+        <div class="threads-list">
           {% block threads-list %}
             <ul class="list-group" itemscope itemtype="http://schema.org/ItemList">
               <meta itemprop="itemListOrder" content="http://schema.org/ItemListOrderDescending">
@@ -48,7 +45,7 @@
                   {% include "misago/threadslist/thread.html" %}
                 {% endblock thread %}
               {% empty %}
-                <li className="list-group-item empty-message">
+                <li class="list-group-item empty-message">
                   {% block list-empty-message %}
                     {% if list_type == 'all' %}
                       <p class="lead">

+ 17 - 28
misago/templates/misago/threadslist/category.html

@@ -48,28 +48,25 @@
 
 
 {% block page-header %}
-<div class="page-header">
-  <div class="container">
-    <div class="row">
-      <div class="{{ user.is_authenticated|yesno:'col-md-8,col-xs-12' }}">
-        <div class="row">
-          <div class="hidden-xs col-sm-2 col-lg-1">
-            <a href="{{ category.parent.get_absolute_url }}{% if list_type != 'all' %}{{ list_type }}/{% endif %}" class="btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline">
-              <span class="material-icon">
-                keyboard_arrow_left
-              </span>
-            </a>
-          </div>
-          <div class="col-xs-12 col-sm-10 col-lg-11 sm-align-row-buttons">
-            <a href="{{ category.parent.get_absolute_url }}{% if list_type != 'all' %}{{ list_type }}/{% endif %}" class="go-back-sm visible-xs-block btn-outline">
-              <span class="material-icon">
-                chevron_left
-              </span>
-              {% if category.parent and not category.parent.special_role %}{{ category.parent.name }}{% else %}{% trans "Threads" %}{% endif %}
-            </a>
-            <h1>{{ category }}</h1>
+<div class="container page-header-container">
+  <div class="page-header page-header-{{ category.css_class|default:'category-threads' }}">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-{{ category.css_class|default:'category-threads' }}">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <h1>{{ category }}</h1>
+            </div>
           </div>
         </div>
+        {% if category.description %}
+          <div class="page-header-details">
+            <div class="page-header-message">
+              {{ category.description|force_escape|urlize|linebreaks|safe }}
+            </div>
+          </div>
+        {% endif %}
       </div>
     </div>
   </div>
@@ -78,14 +75,6 @@
 
 
 {% block list-container %}
-  {% if category.description %}
-    <div class="category-description">
-      <div class="page-lead {{ category.description|force_escape|linebreaks|isdescriptionshort|iftrue:"lead" }}">
-        {{ category.description|force_escape|urlize|linebreaks|safe }}
-      </div>
-    </div>
-  {% endif %}
-
   {% include "misago/threadslist/toolbar.html" %}
 
   {{ block.super }}

+ 15 - 13
misago/templates/misago/threadslist/private_threads.html

@@ -17,13 +17,21 @@ page-private-threads
 
 
 {% block page-header %}
-<div class="page-header">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-8">
-        <div class="row">
-          <div class="col-xs-12">
-            <h1>{{ category }}</h1>
+<div class="container page-header-container">
+  <div class="page-header page-header-private-threads">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-private-threads">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <h1>{{ category }}</h1>
+            </div>
+          </div>
+        </div>
+        <div class="page-header-details">
+          <div class="page-header-message">
+            <p>{% trans "Private threads are threads which only those that started them and those they have invited may see and participate in." %}</p>
           </div>
         </div>
       </div>
@@ -34,12 +42,6 @@ page-private-threads
 
 
 {% block list-container %}
-<div class="category-description">
-  <div class="page-lead lead">
-    <p>{% trans "Private threads are threads which only those that started them and those they have invited may see and participate in." %}</p>
-  </div>
-</div>
-
 {% include "misago/threadslist/toolbar.html" with hide_categories=True %}
 
 {{ block.super }}

+ 2 - 59
misago/templates/misago/threadslist/thread.html

@@ -27,56 +27,7 @@
   <div class="threads-list-item-bottom-row">
     {% if thread.is_closed or thread.is_hidden or thread.is_unapproved or thread.weight > 0 or thread.best_answer or thread.has_poll %}
       <div class="threads-list-item-col-flags">
-        <ul class="threads-list-item-flags">
-          {% if thread.weight == 2 %}
-            <li
-              class="threads-list-item-flag-pinned-globally"
-              title="{% trans 'Pinned globally' %}"
-            >
-              <span class="material-icon">bookmark</span>
-            </li>
-          {% endif %}
-          {% if thread.weight == 1 %}
-            <li
-              class="threads-list-item-flag-pinned-locally"
-              title="{% trans 'Pinned in category' %}"
-            >
-              <span class="material-icon">bookmark_outline</span>
-            </li>
-          {% endif %}
-          {% if thread.best_answer %}
-            <li
-              class="threads-list-item-flag-answered"
-              title="{% trans 'Answered' %}"
-            >
-              <span class="material-icon">check_circle</span>
-            </li>
-          {% endif %}
-          {% if thread.has_poll %}
-            <li
-              class="threads-list-item-flag-poll"
-              title="{% trans 'Poll' %}"
-            >
-              <span class="material-icon">poll</span>
-            </li>
-          {% endif %}
-          {% if thread.is_closed %}
-            <li
-              class="threads-list-item-flag-closed"
-              title="{% trans 'Closed' %}"
-            >
-              <span class="material-icon">lock</span>
-            </li>
-          {% endif %}
-          {% if thread.is_hidden %}
-            <li
-              class="threads-list-item-flag-hidden"
-              title="{% trans 'Hidden' %}"
-            >
-              <span class="material-icon">visibility_off</span>
-            </li>
-          {% endif %}
-        </ul>
+        {% include "misago/thread_flags.html" %}
       </div>
     {% endif %}
     {% if thread.category != category %}
@@ -104,15 +55,7 @@
       </div>
     {% endif %}
     <div class="threads-list-item-col-replies">
-      <span class="threads-list-item-replies"
-        title="{% blocktrans trimmed count replies=thread.replies %}
-        {{ replies }} reply
-        {% plural %}
-          {{ replies }} replies
-        {% endblocktrans %}">
-        <span class="material-icon">chat_bubble_outline</span>
-        {% if thread.replies > 980 %}{{ thread.replies_in_ks }}{% else %}{{ thread.replies }}{% endif %}
-      </span>
+      {% include "misago/thread_replies.html" %}
     </div>
     <div class="threads-list-item-col-last-poster">
       {% if thread.last_poster_id %}

+ 35 - 10
misago/templates/misago/threadslist/threads.html

@@ -54,23 +54,48 @@
 
 
 {% block page-header %}
-<div class="page-header">
-  <div class="container">
-    <div class="row">
-      <div class="{{ user.is_authenticated|yesno:'col-md-8,col-xs-12' }}">
-        <div class="row">
-          <div class="col-xs-12">
-            {% if THREADS_ON_INDEX %}
-              <h1>{{ settings.index_header|default:settings.forum_name }}</h1>
-            {% else %}
+{% if THREADS_ON_INDEX and settings.index_header %}
+<div class="container page-header-container">
+  <div class="page-header page-header-forum-index">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-forum-index">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
+              <h1>{{ settings.index_header }}</h1>
+            </div>
+          </div>
+        </div>
+        {% if settings.index_message %}
+          <div class="page-header-details">
+            <div class="page-header-message">
+              {{ settings.index_message|force_escape|urlize|linebreaks|safe }}
+            </div>
+          </div>
+        {% endif %}
+      </div>
+    </div>
+  </div>
+</div>
+{% elif not THREADS_ON_INDEX %}
+<div class="container page-header-container">
+  <div class="page-header page-header-threads">
+    <div class="page-header-bg-image">
+      <div class="page-header-bg-overlay">
+        <div class="page-header-image"></div>
+        <div class="page-header-banner page-header-banner-threads">
+          <div class="page-header-banner-bg-image">
+            <div class="page-header-banner-bg-overlay">
               <h1>{% trans "Threads" %}</h1>
-            {% endif %}
+            </div>
           </div>
         </div>
       </div>
     </div>
   </div>
 </div>
+{% endif %}
 {% endblock page-header %}
 
 

+ 4 - 5
misago/templates/misago/userslists/active_posters.html

@@ -58,11 +58,10 @@
 {% block twitter-url %}{% absoluteurl request_path %}{% endblock %}
 
 
-{% block content %}
-{{ block.super }}
+{% block page-content %}
 
 <div class="active-posters-list">
-  <div class="container">
+  <div class="container page-container">
 
     {% if users_count %}
       <p class="lead">
@@ -80,7 +79,7 @@
             <li class="list-group-item{% if ranked.rank.css_class %} list-group-rank-{{ ranked.rank.css_class }}{% endif %}" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
               <div class="rank-user-avatar">
                 <a href="{{ user_url }}">
-                  <img src="{{ ranked|avatar:50 }}" alt="{% trans "Avatar" %}" class="avatar">
+                  <img src="{{ ranked|avatar:50 }}" alt="{% trans "Avatar" %}" height="50" width="50" class="avatar">
                 </a>
               </div>
 
@@ -150,4 +149,4 @@
 
   </div>
 </div>
-{% endblock content %}
+{% endblock page-content %}

+ 24 - 18
misago/templates/misago/userslists/base.html

@@ -7,27 +7,33 @@
 
 {% block content %}
 <div class="page page-users-lists">
-
-  <div class="page-header-bg">
-    <div class="page-header">
-      <div class="container">
-        <h1>{% trans "Users" %}</h1>
-      </div>
-      <div class="page-tabs">
-        <div class="container">
-          <ul class="nav nav-pills" role="nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
-            {% for page in pages %}
-              <li{% if page.is_active %} class="active"{% endif %}>
-                <a href="{{ page.reversed_link }}">
-                  {{ page.name }}
-                </a>
-              </li>
-            {% endfor %}
-          </ul>
+  <div class="container page-header-container">
+    <div class="page-header page-header-users-lists">
+      <div class="page-header-bg-image">
+        <div class="page-header-bg-overlay">
+          <div class="page-header-image"></div>
+          <div class="page-header-banner page-header-banner-users-lists">
+            <div class="page-header-banner-bg-image">
+              <div class="page-header-banner-bg-overlay">
+                <h1>Users</h1>
+              </div>
+            </div>
+          </div>
+          <div class="page-header-details page-header-details-tabs">
+            <ul class="nav nav-pills" role="nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+              {% for page in pages %}
+                <li{% if page.is_active %} class="active"{% endif %}>
+                  <a href="{{ page.reversed_link }}">
+                    {{ page.name }}
+                  </a>
+                </li>
+              {% endfor %}
+            </ul>
+          </div>
         </div>
       </div>
     </div>
   </div>
-
+  {% block page-content %}{% endblock page-content %}
 </div>
 {% endblock content %}

+ 3 - 5
misago/templates/misago/userslists/rank.html

@@ -61,11 +61,9 @@
 {% block twitter-url %}{% absoluteurl rank.get_absolute_url %}{% endblock %}
 
 
-{% block content %}
-{{ block.super }}
-
+{% block page-content %}
 <div class="rank-users-list{% if rank.css_class %} rank-users-{{ rank.css_class }}{% endif %}">
-  <div class="container">
+  <div class="container page-container">
 
     {% if rank.description %}
       <section class="rank-description">
@@ -121,4 +119,4 @@
 
   </div>
 </div>
-{% endblock content %}
+{% endblock page-content %}

+ 1 - 1
misago/threads/api/threadendpoints/patch.py

@@ -124,7 +124,7 @@ def patch_move(request, thread, value):
 
     moderation.move_thread(request, thread, new_category)
 
-    return {"category": CategorySerializer(new_category).data}
+    return {"category": CategorySerializer(new_category, context=request).data}
 
 
 thread_patch_dispatcher.replace("category", patch_move)

+ 23 - 21
misago/threads/serializers/thread.py

@@ -38,6 +38,8 @@ class ThreadSerializer(serializers.ModelSerializer, MutableFields):
     best_answer = serializers.PrimaryKeyRelatedField(read_only=True)
     best_answer_marked_by = serializers.PrimaryKeyRelatedField(read_only=True)
     subscription = serializers.SerializerMethodField()
+    starter = serializers.SerializerMethodField()
+    last_poster = serializers.SerializerMethodField()
 
     api = serializers.SerializerMethodField()
     url = serializers.SerializerMethodField()
@@ -72,6 +74,8 @@ class ThreadSerializer(serializers.ModelSerializer, MutableFields):
             "path",
             "poll",
             "subscription",
+            "starter",
+            "last_poster",
             "api",
             "url",
         ]
@@ -110,6 +114,24 @@ class ThreadSerializer(serializers.ModelSerializer, MutableFields):
         except AttributeError:
             return None
 
+    def get_starter(self, obj):
+        if obj.starter_id:
+            return {
+                "id": obj.starter_id,
+                "username": obj.starter.username,
+                "real_name": obj.starter.get_real_name(),
+                "avatars": obj.starter.avatars,
+            }
+
+    def get_last_poster(self, obj):
+        if obj.last_poster_id:
+            return {
+                "id": obj.last_poster_id,
+                "username": obj.last_poster.username,
+                "real_name": obj.last_poster.get_real_name(),
+                "avatars": obj.last_poster.avatars,
+            }
+
     def get_api(self, obj):
         return {
             "index": obj.get_api_url(),
@@ -160,30 +182,10 @@ class PrivateThreadSerializer(ThreadSerializer):
 class ThreadsListSerializer(ThreadSerializer):
     category = serializers.PrimaryKeyRelatedField(read_only=True)
     last_post = serializers.PrimaryKeyRelatedField(read_only=True)
-    starter = serializers.SerializerMethodField()
-    last_poster = serializers.SerializerMethodField()
 
     class Meta:
         model = Thread
-        fields = ThreadSerializer.Meta.fields + ["has_poll", "starter", "last_poster"]
-
-    def get_starter(self, obj):
-        if obj.starter_id:
-            return {
-                "id": obj.starter_id,
-                "username": obj.starter.username,
-                "real_name": obj.starter.get_real_name(),
-                "avatars": obj.starter.avatars,
-            }
-
-    def get_last_poster(self, obj):
-        if obj.last_poster_id:
-            return {
-                "id": obj.last_poster_id,
-                "username": obj.last_poster.username,
-                "real_name": obj.last_poster.get_real_name(),
-                "avatars": obj.last_poster.avatars,
-            }
+        fields = ThreadSerializer.Meta.fields + ["has_poll"]
 
 
 ThreadsListSerializer = ThreadsListSerializer.exclude_fields("path", "poll")

+ 7 - 1
misago/threads/viewmodels/category.py

@@ -13,6 +13,8 @@ __all__ = ["ThreadsRootCategory", "ThreadsCategory", "PrivateThreadsCategory"]
 
 class ViewModel(BaseViewModel):
     def __init__(self, request, **kwargs):
+        self.request = request
+
         self._categories = self.get_categories(request)
         add_acl_to_obj(request.user_acl, self._categories)
 
@@ -44,7 +46,11 @@ class ViewModel(BaseViewModel):
         return categories[0]
 
     def get_frontend_context(self):
-        return {"CATEGORIES": BasicCategorySerializer(self._categories, many=True).data}
+        return {
+            "CATEGORIES": BasicCategorySerializer(
+                self._categories, context=self.request, many=True
+            ).data
+        }
 
     def get_template_context(self):
         top_category = None

+ 1 - 0
misago/users/apps.py

@@ -63,6 +63,7 @@ class MisagoUsersConfig(AppConfig):
             name=_("Delete account"),
             component="delete-account",
             icon="cancel",
+            visible_if=can_delete_own_account,
         )
 
     def register_default_users_list_pages(self):

Some files were not shown because too many files changed in this diff