diff --git a/.Rbuildignore b/.Rbuildignore index 125afa1..42743fd 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -12,3 +12,4 @@ ^\.github$ ^ReadMe\.Rmd$ ^ReadMe\.md$ +^CRAN-SUBMISSION$ diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION new file mode 100644 index 0000000..42f687c --- /dev/null +++ b/CRAN-SUBMISSION @@ -0,0 +1,3 @@ +Version: 0.3 +Date: 2023-06-26 21:06:12 UTC +SHA: 9b90327f90ea724732bfab9a59c2786a4ee2d29b diff --git a/revdep/README.md b/revdep/README.md deleted file mode 100644 index e259348..0000000 --- a/revdep/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Platform - -|field |value | -|:--------|:---------------------------------------------------------------------------| -|version |R version 4.2.3 (2023-03-15) | -|os |macOS Catalina 10.15.7 | -|system |x86_64, darwin17.0 | -|ui |RStudio | -|language |(EN) | -|collate |en_US.UTF-8 | -|ctype |en_US.UTF-8 | -|tz |America/New_York | -|date |2023-06-26 | -|rstudio |2021.09.2+382 Ghost Orchid (desktop) | -|pandoc |2.14.0.3 @ /Applications/RStudio.app/Contents/MacOS/pandoc/ (via rmarkdown) | - -# Dependencies - -|package |old |new |Δ | -|:---------------|:-----|:------|:--| -|BayesianNetwork |0.1.5 |0.2 |* | -|bslib |NA |0.5.0 |* | -|digest |NA |0.6.31 |* | -|igraph |NA |1.5.0 |* | -|vctrs |NA |0.6.3 |* | - -# Revdeps - diff --git a/revdep/checks.noindex/libraries.csv b/revdep/checks.noindex/libraries.csv deleted file mode 100644 index 5b42cb9..0000000 --- a/revdep/checks.noindex/libraries.csv +++ /dev/null @@ -1,6 +0,0 @@ -package,old,new,delta -BayesianNetwork,0.1.5,0.2,* -bslib,NA,0.5.0,* -digest,NA,0.6.31,* -igraph,NA,1.5.0,* -vctrs,NA,0.6.3,* diff --git a/revdep/cran.md b/revdep/cran.md deleted file mode 100644 index 33114b6..0000000 --- a/revdep/cran.md +++ /dev/null @@ -1,7 +0,0 @@ -## revdepcheck results - -We checked 0 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. - - * We saw 0 new problems - * We failed to check 0 packages - diff --git a/revdep/data.sqlite b/revdep/data.sqlite deleted file mode 100644 index e3dde88..0000000 Binary files a/revdep/data.sqlite and /dev/null differ diff --git a/revdep/failures.md b/revdep/failures.md deleted file mode 100644 index 9a20736..0000000 --- a/revdep/failures.md +++ /dev/null @@ -1 +0,0 @@ -*Wow, no problems at all. :)* \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/DESCRIPTION b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/DESCRIPTION deleted file mode 100644 index fc11b93..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/DESCRIPTION +++ /dev/null @@ -1,23 +0,0 @@ -Package: BayesianNetwork -Version: 0.2 -Title: Bayesian Network Modeling and Analysis -Description: A "Shiny"" web application for creating interactive Bayesian Network models, - learning the structure and parameters of Bayesian networks, and utilities for classic - network analysis. -URL: https://github.com/paulgovan/bayesiannetwork, - http://paulgovan.github.io/BayesianNetwork/ -BugReports: https://github.com/paulgovan/bayesiannetwork/issues -Authors@R: person("Paul", "Govan", email = "pgovan1@aggienetwork.com", role = c("aut", "cre", "cph"), comment = c(ORCID = "0000-0002-1821-8492")) -Depends: R (>= 2.10.0) -License: Apache License -Imports: bnlearn, heatmaply, lattice, networkD3, plotly, rintrojs, - shiny, shinyAce, shinydashboard, shinyWidgets, -RoxygenNote: 6.0.1 -Suggests: knitr, rmarkdown -RemoteType: local -RemoteUrl: /Users/paulgovan/Documents/BayesianNetwork -NeedsCompilation: no -Packaged: 2023-06-26 20:30:11 UTC; paulgovan -Author: Paul Govan [aut, cre, cph] () -Maintainer: Paul Govan -Built: R 4.2.3; ; 2023-06-26 20:30:14 UTC; unix diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/INDEX b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/INDEX deleted file mode 100644 index 407e84b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/INDEX +++ /dev/null @@ -1 +0,0 @@ -BayesianNetwork Bayesian Network modeling and analysis. diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/Rd.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/Rd.rds deleted file mode 100644 index ef564fd..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/Rd.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/features.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/features.rds deleted file mode 100644 index 40eb9b0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/features.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/hsearch.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/hsearch.rds deleted file mode 100644 index 32e3425..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/hsearch.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/links.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/links.rds deleted file mode 100644 index d6546bb..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/links.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/nsInfo.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/nsInfo.rds deleted file mode 100644 index e180618..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/nsInfo.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/package.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/package.rds deleted file mode 100644 index bf4c775..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/Meta/package.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NAMESPACE b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NAMESPACE deleted file mode 100644 index ff4b6f6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NAMESPACE +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by roxygen2: do not edit by hand - -export(BayesianNetwork) -import(bnlearn) -import(heatmaply) -import(lattice) -import(networkD3) -import(plotly) -import(rintrojs) -import(shiny) -import(shinyAce) -import(shinyWidgets) -import(shinydashboard) diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NEWS.md b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NEWS.md deleted file mode 100644 index 45499d0..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/NEWS.md +++ /dev/null @@ -1,13 +0,0 @@ -# BayesianNetwork 0.2 - -# Minor improvements and bug fixes - -* Parameter learning methods no longer return error. -* `BayesianNetwork()` now has the same UI locally as on shinyapps.io. - -# BayesianNetwork 0.1.5 - -## Minor changes -* Added orcid -* Minor UI improvements - diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork deleted file mode 100644 index 6686156..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork +++ /dev/null @@ -1,27 +0,0 @@ -# File share/R/nspackloader.R -# Part of the R package, https://www.R-project.org -# -# Copyright (C) 1995-2012 The R Core Team -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# A copy of the GNU General Public License is available at -# https://www.r-project.org/Licenses/ - -local({ - info <- loadingNamespaceInfo() - pkg <- info$pkgname - ns <- .getNamespace(as.name(pkg)) - if (is.null(ns)) - stop("cannot find namespace environment for ", pkg, domain = NA); - dbbase <- file.path(info$libname, pkg, "R", pkg) - lazyLoad(dbbase, ns, filter = function(n) n != ".__NAMESPACE__.") -}) diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdb b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdb deleted file mode 100644 index 5161c49..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdb and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdx b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdx deleted file mode 100644 index 7eff2e2..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/R/BayesianNetwork.rdx and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/dependencies.R b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/dependencies.R deleted file mode 100644 index 3567c0c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/dependencies.R +++ /dev/null @@ -1,6 +0,0 @@ -require(bnlearn) -require(heatmaply) -require(lattice) -require(networkD3) -require(shiny) -require(shinydashboard) diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-3-1.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-3-1.png deleted file mode 100644 index b717f79..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-3-1.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-6-1.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-6-1.png deleted file mode 100644 index b504286..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-6-1.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-8-1.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-8-1.png deleted file mode 100644 index b2057c4..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/figure/unnamed-chunk-8-1.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/global.R b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/global.R deleted file mode 100644 index 46bab31..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/global.R +++ /dev/null @@ -1,86 +0,0 @@ -# By default, the file size limit is 5MB. It can be changed by -# setting this option. Here we'll raise limit to 30MB. -options(shiny.maxRequestSize = 30 * 1024 ^ 2) - -# Load demo data from 'bnlearn' -data(alarm, package = "bnlearn") -data(gaussian.test, package = "bnlearn") -data(hailfinder, package = "bnlearn") -data(insurance, package = "bnlearn") -data(learning.test, package = "bnlearn") - -# Help data for Home tab -homeHelp <- - data.frame( - step = c(1, 2), - intro = c( - "Here is the sidebar menu. Each link opens a new tab. You will probably start with the Structure tab and work your way down.", - "The body of the app is where you will find different features for modeling and analyzing your network. Each tab has its own help button." - ), - element = c( - "#sidebarMenu", - "#dashboardBody" - ), - position = c("auto", "auto") - ) - -# Help data for Structure data -structureHelp <- - data.frame( - step = c(1), - intro = c("Here is where you can view your Bayesian network. Using the 3 boxes to the left, you can (1) upload your data in csv format, (2) select a structural learning algorithm, and (3) estimate the network score. Data should be numeric or factored and should not contain any NULL/NaN/NA values."), - element = c("#netPlot"), - position = c("auto") - ) - -# Help data for Parameters tab -parametersHelp <- - data.frame( - step = c(1), - intro = c("Here is where you can view the parameters of your network. Using the 2 boxes to the left, you can (1) select a parameter learning method and (2) select the type of graphic to view."), - element = c("#condPlot"), - position = c("auto") - ) - -# Help data for Inference tab -inferenceHelp <- - data.frame( - step = c(1), - intro = c("Here is where you can view the conditional probability distribution of an event. Using the 2 boxes to the left, you can (1) add evidence to the model and (2) select a conditional event to view."), - element = c("#distPlot"), - position = c("auto") - ) - -# Help data for Measures tab -measuresHelp <- - data.frame( - step = c(1, 2), - intro = c( - "Select a node measure in the box to the left and the result is displayed here.", - "Here is where you can view the adjacency matrix. Configure the matrix using the control to the left." - ), - element = c( - "#nodeText", - "#netTable" - ), - position = c("auto", "auto") - ) - -# Help data for Editor tab -editorHelp <- - data.frame( - step = c(1, 2), - intro = c( - "Here is the editor. Click Run to knit the rmarkdown report.", - "The resulting rmarkdown report is displayed here." - ), - element = c( - "#rmd", - "#knitr" - ), - position = c("auto", "auto") - ) - -# Enable bookmarking for the app -shiny::enableBookmarking(store = "url") - diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/server.R b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/server.R deleted file mode 100644 index 12e93e4..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/server.R +++ /dev/null @@ -1,445 +0,0 @@ -#' @import bnlearn -#' @import heatmaply -#' @import plotly -#' @import rintrojs -#' @import shiny -#' @import shinyAce -#' @import shinydashboard -#' @import shinyWidgets - -options(shiny.testmode=TRUE) - -# Define required server logic -shinyServer(function(input, output, session) { - - # Get the data selection from user - dat <- shiny::reactive({ - if (input$dataInput == 1) { - - if (input$net == 1) { - dat <- learning.test - } else if (input$net == 2) { - dat <- gaussian.test - } else if (input$net == 3) { - dat <- alarm - } else if (input$net == 4) { - dat <- insurance - } else if (input$net == 5) { - dat <- hailfinder - } - } else if (input$dataInput == 2) { - - # Get the uploaded file from user - inFile <- input$file - if (is.null(inFile)) - return(NULL) - dat <- read.csv(inFile$datapath) - } - }) - - # bnlearn no longer supports character vars. - # Temp step to convert character to factor - # dat <- shiny::reactive({ - # dat <- dplyr::mutate_if(dat0(), is.character, as.factor) - # }) - - # Learn the structure of the network - dag <- shiny::reactive({ - if (is.null(dat())) - return(NULL) - - # Create a Progress object - progress <- shiny::Progress$new() - # Make sure it closes when we exit this reactive, even if there's an error - on.exit(progress$close()) - progress$set(message = "Learning network structure", value = 0) - - # Get the selected learning algorithm from the user and learn the network - if (input$alg == "gs") { - dag <- bnlearn::cextend(bnlearn::gs(dat()), strict = FALSE) - } else if (input$alg == "iamb") { - dag <- bnlearn::cextend(bnlearn::iamb(dat()), strict = FALSE) - } else if (input$alg == "fast.iamb") { - dag <- bnlearn::cextend(bnlearn::fast.iamb(dat()), strict = FALSE) - } else if (input$alg == "inter.iamb") { - dag <- bnlearn::cextend(bnlearn::inter.iamb(dat()), strict = FALSE) - } else if (input$alg == "hc") { - dag <- bnlearn::cextend(bnlearn::hc(dat()), strict = FALSE) - } else if (input$alg == "tabu") { - dag <- bnlearn::cextend(bnlearn::tabu(dat()), strict = FALSE) - } else if (input$alg == "mmhc") { - dag <- bnlearn::cextend(bnlearn::mmhc(dat()), strict = FALSE) - } else if (input$alg == "rsmax2") { - dag <- bnlearn::cextend(bnlearn::rsmax2(dat()), strict = FALSE) - } else if (input$alg == "mmpc") { - dag <- bnlearn::cextend(bnlearn::mmpc(dat()), strict = FALSE) - } else if (input$alg == "si.hiton.pc") { - dag <- bnlearn::cextend(bnlearn::si.hiton.pc(dat()), strict = FALSE) - } else if (input$alg == "aracne") { - dag <- bnlearn::cextend(bnlearn::aracne(dat()), strict = FALSE) - } else if (input$alg == "chow.liu") { - dag <- bnlearn::cextend(bnlearn::chow.liu(dat()), strict = FALSE) - } - }) - - # Create the nodes value box - output$nodesBox <- shiny::renderUI({ - if (is.null(dat())) - return(NULL) - - # Get the number of nodes in the network - nodes <- bnlearn::nnodes(dag()) - - shinydashboard::valueBox(nodes, - "Nodes", - icon = shiny::icon("circle"), - color = "blue") - }) - - # Create the arcs value box - output$arcsBox <- renderUI({ - if (is.null(dat())) - return(NULL) - - # Get the number of arcs in the network - arcs <- bnlearn::narcs(dag()) - - shinydashboard::valueBox(arcs, - "Arcs", - icon = shiny::icon("arrow-right"), - color = "green") - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$homeIntro, - rintrojs::introjs(session, options = list(steps = homeHelp)) - ) - - # Plot the d3 force directed network - output$netPlot <- networkD3::renderSimpleNetwork({ - if (is.null(dat())) - return(NULL) - - # Get the arc directions - networkData <- data.frame(bnlearn::arcs(dag())) - - networkD3::simpleNetwork( - networkData, - Source = "from", - Target = "to", - opacity = 0.75, - zoom = TRUE - ) - - }) - - # Print the network score - output$score <- shiny::renderText({ - if (bnlearn::directed(dag())) { - - # If all of the data is numeric,... - if (all(sapply(dat(), is.numeric))) { - - # Get the selected score function from the user and calculate the score - if (input$type == "loglik") { - bnlearn::score(dag(), dat(), type = "loglik-g") - } else if (input$type == "aic") { - bnlearn::score(dag(), dat(), type = "aic-g") - } else if (input$type == "bic") { - bnlearn::score(dag(), dat(), type = "bic-g") - } else { - bnlearn::score(dag(), dat(), type = "bge") - } - } - - # If the data is discrete,... - else { - if (input$type == "loglik") { - bnlearn::score(dag(), dat(), type = "loglik") - } else if (input$type == "aic") { - bnlearn::score(dag(), dat(), type = "aic") - } else if (input$type == "bic") { - bnlearn::score(dag(), dat(), type = "bic") - } else { - bnlearn::score(dag(), dat(), type = "bde") - } - } - } else - shiny::validate( - shiny::need( - try(score != "") - , - "Make sure your network is completely directed in order to view your network's score..." - ) - ) - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$structureIntro, - rintrojs::introjs(session, options = list(steps = structureHelp)) - ) - - # Fit the model parameters - fit <- shiny::reactive({ - if (is.null(dat())) - return(NULL) - if (bnlearn::directed(dag())) { - - if (all(sapply(dat(), is.numeric))) met = "mle-g" - else met = input$met - - # Get the selected parameter learning method from the user and learn the paramaters - fit <- bnlearn::bn.fit(dag(), dat(), method = met) - } - }) - - # # Create data frame for selected parameter - # param <- shiny::reactive({ - # param <- data.frame(coef(fit()[[input$Node]])) - # if (is.numeric(dat()[,1])) { - # colnames(param) <- "Param" - # param <- cbind(param = rownames(param), param) - # param[,"Param"] <- round(param[,"Param"], digits = 3) - # param <- transform(param, Param = as.numeric(Param)) - # } else { - # param[,"Freq"] <- round(param[,"Freq"], digits = 3) - # param <- transform(param, Freq = as.numeric(Freq)) - # } - # }) - - # # Plot Handsontable for selected parameter - # values = shiny::reactiveValues() - # setHot = function(x) values[["hot"]] <<- x - # output$hot = rhandsontable::renderRHandsontable({ - # if (!is.null(input$hot)) { - # DF = rhandsontable::hot_to_r(input$hot) - # } else { - # DF = param() - # } - # if (is.numeric(dat()[,1])) { - # col <- "Param" - # } else { - # col <- "Freq" - # } - # setHot(DF) - # rhandsontable::rhandsontable(DF, readOnly = TRUE, rowHeaders = NULL) %>% - # rhandsontable::hot_table(highlightCol = TRUE, highlightRow = TRUE) %>% - # rhandsontabl::hot_context_menu(allowRowEdit = FALSE, allowColEdit = FALSE) %>% - # rhandsontable::hot_col(col, readOnly = FALSE) - # }) - # - # # Add expert knowledge to the model - # expertFit <- shiny::reactive({ - # if (!is.null(values[["hot"]])) { - # expertFit <- fit() - # temp <- data.frame(values[["hot"]]) - # if (is.numeric(dat()[,1])) { - # stdev <- as.numeric(fit()[[input$Node]]["sd"]) - # expertFit[[input$Node]] <- list(coef = as.numeric(temp[,"Param"]), sd = stdev) - # } else { - # cpt <- coef(expertFit()[[input$Node]]) - # cpt[1:length(param()[,"Freq"])] <- as.numeric(temp[,"Freq"]) - # expertFit[[input$Node]] <- cpt - # } - # } else { - # expertFit <- fit() - # } - # }) - - # Set the parameter graphic options - graphic <- shiny::reactive({ - - # If data is continuous, ... - if (all(sapply(dat(), is.numeric))) { - graphic <- c("Histogram" = "histogram", - "XY Plot" = "xyplot", - "QQ Plot" = "qqplot") - - # If data is discrete,... - } else { - graphic <- c("Bar Chart" = "barchart", - "Dot Plot" = "dotplot") - } - }) - - # Send the parameter choices to the user - shiny::observe({ - shiny::updateSelectInput(session, "param", choices = graphic()) - }) - - # Send the node choices to the user - shiny::observe({ - shiny::updateSelectInput(session, "Node", choices = colnames(dat())) - }) - - # Plot the model parameters - output$condPlot <- shiny::renderPlot({ - if (is.null(dat())) - return(NULL) - if (bnlearn::directed(dag())) { - - # Get the selected graphic from the user and plot the parameters - if (input$param == "histogram") { - bnlearn::bn.fit.histogram(fit()) - } else if (input$param == "xyplot") { - bnlearn::bn.fit.xyplot(fit()) - } else if (input$param == "qqplot") { - bnlearn::bn.fit.qqplot(fit()) - } else if (input$param == "barchart") { - bnlearn::bn.fit.barchart(fit()[[input$Node]]) - } else if (input$param == "dotplot") { - bnlearn::bn.fit.dotplot(fit()[[input$Node]]) - } - } else - shiny::validate( - shiny::need( - try(condPlot != "") - , - "Make sure your network is completely directed in order to view the parameter infographics..." - ) - ) - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$parametersIntro, - rintrojs::introjs(session, options = list(steps = parametersHelp)) - ) - - # Send the evidence node choices to the user - shiny::observe({ - shiny::updateSelectInput(session, "evidenceNode", choices = names(dat())) - }) - - # Send the evidence choices to the user - shiny::observe({ - whichNode <- which(colnames(dat()) == input$evidenceNode) - evidenceLevels <- as.vector(unique(dat()[,whichNode])) - shiny::updateSelectInput(session, "evidence", choices = evidenceLevels) - }) - - # Send the event node choices to the user - shiny::observe({ - shiny::updateSelectInput(session, "event", choices = names(dat())) - }) - - # Perform Bayesian inference based on evidence and plot results - output$distPlot <- shiny::renderPlot({ - if (is.null(dat())) - return(NULL) - if (all(sapply(dat(), is.numeric))) - shiny::validate( - shiny::need( - try(distPlot != ""), - "Inference is currently not supported for continuous variables..." - ) - ) - - # Create a string of the selected evidence - str1 <<- paste0("(", input$evidenceNode, "=='", input$evidence, "')") - - # Estimate the conditional PD and tabularize the results - nodeProbs <- prop.table(table(bnlearn::cpdist(fit(), input$event, eval(parse(text = str1))))) - - # Create a bar plot of the conditional PD - barplot( - nodeProbs, - col = "lightblue", - main = "Conditional Probabilities", - border = NA, - xlab = "Levels", - ylab = "Probabilities", - ylim = c(0, 1) - ) - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$inferenceIntro, - rintrojs::introjs(session, options = list(steps = inferenceHelp)) - ) - - # Send the node names to the user - shiny::observe({ - shiny::updateSelectInput(session, "nodeNames", choices = colnames(dat())) - }) - - # Get the selected node measure from the user and print the results - output$nodeText <- shiny::renderText({ - if (is.null(dat())) - return(NULL) - if (input$nodeMeasure == "mb") { - bnlearn::mb(dag(), input$nodeNames) - } else if (input$nodeMeasure == "nbr") { - bnlearn::nbr(dag(), input$nodeNames) - } else if (input$nodeMeasure == "parents") { - bnlearn::parents(dag(), input$nodeNames) - } else if (input$nodeMeasure == "children") { - bnlearn::children(dag(), input$nodeNames) - } else if (input$nodeMeasure == "in.degree") { - bnlearn::in.degree(dag(), input$nodeNames) - } else if (input$nodeMeasure == "out.degree") { - bnlearn::out.degree(dag(), input$nodeNames) - } else if (input$nodeMeasure == "incident.arcs") { - bnlearn::incident.arcs(dag(), input$nodeNames) - } else if (input$nodeMeasure == "incoming.arcs") { - bnlearn::incoming.arcs(dag(), input$nodeNames) - } else if (input$nodeMeasure == "outgoing.arcs") { - bnlearn::outgoing.arcs(dag(), input$nodeNames) - } else - bnlearn::incident.arcs(dag(), input$nodeNames) - }) - - # Get the selected network measure from the user and plot the results - output$netTable <- plotly::renderPlotly({ - if (is.null(dat())) - return(NULL) - - # Plot a d3 heatmap of the adjacency matrix - heatmaply::heatmaply( - bnlearn::amat(dag()), - grid_gap = 1, - colors = blues9, - dendrogram = input$dendrogram, - symm = TRUE, - margins = c(100, 100, NA, 0), - hide_colorbar = TRUE - ) - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$measuresIntro, - rintrojs::introjs(session, options = list(steps = measuresHelp)) - ) - - # Knit shinyAce editor code - output$knitr <- shiny::renderUI({ - - # Create a Progress object - progress <- shiny::Progress$new() - # Make sure it closes when we exit this reactive, even if there's an error - on.exit(progress$close()) - progress$set(message = "Building report...", value = 0) - - input$eval - return( - shiny::isolate( - shiny::HTML( - knitr::knit2html(text = input$rmd, quiet = TRUE) - ) - ) - ) - }) - - # Observe intro btn and start the intro - shiny::observeEvent(input$editorIntro, - rintrojs::introjs(session, options = list(steps = editorHelp)) - ) - - # Trigger bookmarking - observeEvent(input$bookmark, { - session$doBookmark() - }) - - # Need to exclude the buttons from themselves being bookmarked - setBookmarkExclude("bookmark") - -}) diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/learning_test.csv b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/learning_test.csv deleted file mode 100644 index ea4a548..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/learning_test.csv +++ /dev/null @@ -1,5001 +0,0 @@ -A,B,C,D,E,F -b,c,b,a,b,b -b,a,c,a,b,b -a,a,a,a,a,a -a,a,a,a,b,b -a,a,b,c,a,a -c,c,a,c,c,a -c,c,b,c,c,a -b,b,a,b,b,b -b,b,b,a,c,a -b,a,b,a,a,a -b,a,a,b,c,a -c,c,b,b,c,a -c,c,b,a,c,b -c,c,a,c,c,a -b,c,a,b,c,a -a,a,b,c,a,a -a,a,b,a,b,b -c,c,a,b,b,b -b,a,b,a,c,a -b,c,a,b,a,b -c,c,a,c,b,b -c,b,a,a,c,a -c,a,a,c,a,b -b,a,a,b,a,a -a,a,a,a,a,a -b,a,a,b,b,a -a,a,a,c,a,a -c,c,b,a,c,a -c,b,a,c,c,a -c,b,a,c,c,a -a,a,a,a,b,b -c,c,a,b,b,b -b,c,a,b,c,a -c,c,a,a,c,a -c,c,b,c,c,b -b,a,a,b,a,a -b,a,a,a,a,a -c,c,a,c,c,a -c,c,a,c,a,b -c,c,c,c,b,b -c,c,a,b,a,b -a,a,a,a,c,b -a,a,a,a,a,b -c,c,b,c,a,b -a,a,b,a,b,a -b,b,b,a,b,a -a,b,a,a,b,a -c,c,c,c,c,a -a,a,b,c,b,a -c,c,a,c,b,a -b,a,a,b,a,b -c,c,c,c,a,b -a,a,a,a,b,b -b,b,a,b,c,b -c,c,c,b,b,b -c,c,a,c,b,b -c,c,a,b,a,b -c,a,b,a,a,a -c,c,a,c,a,a -b,a,b,a,a,b -c,c,a,c,c,a -c,c,a,c,b,b -c,c,b,b,c,b -a,a,a,a,a,b -b,a,c,c,b,b -a,a,a,a,a,a -a,a,a,c,a,a -c,c,b,b,c,a -c,b,a,b,c,b -b,c,a,b,c,a -b,a,a,b,b,a -c,c,a,c,b,a -c,a,a,c,b,b -b,b,a,c,c,a -a,a,a,a,a,a -c,b,b,b,b,b -b,a,a,b,b,a -c,c,b,b,c,b -b,c,a,b,c,a -a,a,a,a,a,a -c,c,a,c,c,b -c,c,a,a,c,a -b,a,b,a,a,a -a,a,a,a,a,a -b,b,a,c,b,b -c,c,a,a,b,b -c,c,b,b,b,a -a,a,a,a,a,a -c,c,a,a,a,a -a,a,a,a,a,a -b,c,a,b,c,a -b,b,a,a,c,a -b,a,a,b,a,a -c,c,b,b,b,b -b,c,b,a,c,a -a,a,b,c,a,a -a,a,a,b,b,b -c,c,a,c,b,a -c,c,a,b,c,a -b,a,b,a,a,a -b,b,a,b,c,a -a,a,a,a,a,b -b,c,a,c,b,a -a,a,c,b,a,b -b,a,b,a,a,b -b,a,a,b,a,a -b,a,a,b,b,b -a,a,a,a,a,b -b,b,b,a,c,a -a,a,b,c,a,b -b,c,a,b,a,b -a,a,a,a,b,b -b,c,b,a,b,b -a,a,b,a,a,a -b,a,a,b,a,b -c,c,a,c,c,b -b,c,a,b,c,a -c,c,b,a,a,b -b,c,a,b,b,b -a,a,a,a,b,b -b,b,a,b,c,b -b,c,b,a,c,b -b,b,b,a,a,a -a,a,a,a,a,a -a,b,a,a,b,a -b,a,a,b,b,b -c,c,a,c,b,b -b,c,a,b,b,b -b,c,b,a,c,a -a,a,b,c,a,a -a,a,a,a,a,b -b,c,a,c,c,b -c,a,a,c,b,a -b,b,a,b,a,b -c,c,b,c,a,b -c,c,a,c,c,a -b,c,a,b,b,b -c,c,b,c,b,a -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,a,b,b -c,c,a,b,b,b -b,c,a,b,c,a -c,b,a,c,c,b -c,c,c,c,b,b -a,a,a,a,a,a -b,c,a,b,c,a -a,a,a,a,a,b -c,c,b,c,b,a -c,c,a,c,b,b -a,a,a,c,b,b -b,a,c,a,a,a -c,c,b,c,b,b -b,c,a,b,b,b -b,c,a,b,b,b -c,c,a,c,a,a -c,c,a,b,c,a -a,a,a,c,a,b -b,c,a,b,c,a -b,b,a,b,c,a -b,a,a,a,a,a -c,b,a,c,c,a -a,a,a,a,b,a -c,c,a,c,b,a -a,b,b,c,a,a -a,a,a,a,c,b -c,c,a,c,b,b -b,a,a,b,a,a -a,a,a,a,a,a -c,c,a,c,a,b -a,a,a,a,a,a -b,a,a,c,a,a -c,c,a,a,c,a -a,a,a,a,a,b -b,c,a,b,b,b -c,c,a,c,b,b -a,c,a,a,c,a -b,a,a,b,a,a -a,a,a,c,b,b -c,a,a,c,a,b -b,a,a,b,c,a -a,a,a,a,b,b -c,c,a,c,b,a -c,b,a,c,b,b -a,a,a,a,b,b -c,c,a,c,c,a -b,c,b,a,b,b -c,c,c,c,b,b -c,b,a,c,c,a -a,a,a,a,a,a -c,c,a,c,c,b -c,c,b,c,c,a -a,b,a,a,a,a -b,c,a,b,a,a -c,c,a,b,c,a -c,b,b,b,a,a -b,c,b,c,b,b -a,a,b,c,a,b -c,c,b,c,c,a -b,c,c,b,b,b -a,c,b,a,c,a -b,a,a,b,a,a -c,c,b,c,a,a -a,c,c,a,b,b -a,c,a,a,c,a -c,c,a,c,a,b -a,a,a,a,a,b -b,a,b,a,a,a -a,a,a,a,c,a -c,c,a,c,c,b -b,c,a,b,a,b -b,c,a,b,a,b -a,a,a,a,a,a -c,b,c,c,c,a -c,a,a,c,b,b -a,c,b,c,c,a -c,c,a,c,c,a -b,a,c,b,c,b -c,c,b,b,c,a -c,c,b,c,c,b -c,c,b,b,a,b -b,a,b,a,a,a -b,c,a,b,c,a -b,a,a,a,c,b -b,c,a,b,b,b -b,c,a,c,c,a -c,a,a,c,c,b -b,b,a,b,a,b -b,a,b,b,b,b -c,c,a,c,c,a -b,a,a,b,c,a -a,a,a,a,a,b -b,a,c,b,b,b -a,a,a,a,a,b -b,b,b,a,c,a -b,a,a,b,a,b -c,b,a,c,c,a -b,c,a,b,b,b -a,a,b,c,c,b -b,c,a,b,c,b -b,a,a,b,a,a -b,a,a,b,a,b -c,c,a,b,b,b -b,a,a,b,b,b -b,b,a,b,c,a -c,b,a,c,c,a -b,c,a,b,c,a -c,a,a,b,a,b -a,a,a,a,b,b -c,c,a,c,c,a -c,c,a,b,c,a -a,a,a,a,b,b -b,a,b,a,a,a -a,a,c,b,a,a -c,c,a,c,b,b -b,c,a,b,c,a -c,c,a,c,a,b -b,b,a,b,c,a -c,a,b,b,b,b -b,a,a,b,b,a -a,a,a,a,a,b -b,b,a,b,c,a -b,b,a,b,a,b -c,c,a,c,b,b -b,c,a,b,a,a -c,c,a,b,a,a -b,a,a,a,a,a -b,a,a,b,b,b -c,c,c,a,a,b -a,a,a,a,a,a -a,a,a,a,c,a -c,c,a,c,c,a -c,c,a,c,c,a -a,a,a,a,a,a -c,c,a,c,c,a -b,a,b,a,a,a -a,a,a,a,c,a -c,c,a,a,c,a -a,a,a,a,a,b -a,a,a,a,b,b -c,a,a,c,b,b -a,a,a,a,c,b -c,c,a,c,a,b -c,c,a,c,a,b -c,c,a,c,b,b -b,c,a,b,c,b -a,a,b,c,a,a -b,c,b,a,c,b -c,c,b,c,c,a -a,a,b,c,a,b -c,c,a,c,a,b -a,a,b,a,b,b -c,c,a,c,b,b -c,a,a,c,a,a -c,c,a,c,c,b -b,a,a,c,a,b -b,c,b,a,c,a -a,a,a,a,a,b -a,a,a,c,b,b -a,a,a,a,a,b -c,b,a,c,c,a -b,a,a,b,a,a -a,a,a,a,a,b -a,a,b,c,a,a -a,a,a,a,a,a -a,a,c,b,a,b -a,a,a,a,b,b -b,b,a,b,b,b -b,a,a,c,a,b -a,a,a,a,a,a -c,c,a,c,a,b -a,a,a,a,a,b -b,c,a,b,c,a -b,c,a,b,a,a -b,b,a,b,a,b -a,a,a,b,a,b -b,c,a,b,a,b -b,a,a,b,a,a -b,a,a,b,a,a -c,c,a,c,c,a -a,a,a,a,a,a -c,c,a,b,c,a -a,a,a,a,c,b -b,c,a,c,a,b -b,b,a,b,b,a -b,c,a,b,c,a -b,b,b,a,a,a -c,a,b,b,a,a -a,a,a,b,a,b -b,a,a,b,a,a -c,c,a,a,a,a -a,c,a,a,c,a -b,b,a,b,b,b -b,a,c,a,b,b -c,b,a,b,a,b -b,c,a,a,b,a -b,c,b,a,b,b -b,a,a,b,b,a -b,a,a,b,a,b -a,a,a,a,a,a -c,b,b,c,a,a -a,a,a,b,a,a -c,c,a,c,c,a -c,c,b,a,a,b -b,a,a,a,a,a -a,c,a,a,a,b -a,a,a,a,c,b -c,a,a,c,a,a -a,a,b,c,a,a -c,a,a,c,c,b -a,a,b,c,a,a -a,c,a,a,a,a -a,a,a,a,a,a -b,c,b,a,b,b -b,c,a,b,c,a -a,a,a,c,b,b -a,a,a,a,a,b -a,a,b,a,b,b -a,a,a,a,a,a -c,c,a,a,c,a -a,a,a,a,b,b -c,c,c,c,b,b -a,a,a,a,b,b -c,c,a,c,a,b -a,a,a,a,b,b -c,a,a,c,a,a -b,a,a,b,a,a -a,a,a,a,b,b -c,b,b,c,c,b -b,c,a,b,c,b -a,a,a,a,a,b -b,b,b,b,c,a -b,c,a,b,c,a -b,a,a,b,c,a -a,a,a,a,c,a -c,c,a,c,c,a -a,a,a,c,a,a -c,c,a,b,c,a -a,a,a,a,a,a -c,c,a,c,c,a -a,a,a,a,a,b -a,a,a,a,a,a -a,a,a,a,a,b -b,c,a,c,c,a -a,a,a,a,b,b -a,a,b,a,a,a -a,a,a,a,a,a -c,c,a,c,c,a -a,a,a,a,a,a -b,b,a,b,c,b -c,c,a,c,b,b -b,c,a,b,b,b -a,c,a,a,c,b -c,c,a,c,c,b -b,c,b,a,b,b -a,c,a,c,c,a -a,a,a,a,a,b -b,c,a,b,b,b -a,a,b,a,b,b -a,a,a,a,a,b -b,c,a,b,c,a -b,b,a,b,b,b -a,a,b,b,a,b -a,a,b,c,b,b -c,c,a,c,b,a -c,c,c,c,c,a -b,c,a,b,b,b -c,a,b,b,c,b -b,a,a,b,a,b -a,a,b,b,c,a -c,c,a,a,c,a -a,a,a,a,a,a -a,a,a,b,b,b -b,a,a,b,a,a -b,a,a,b,b,b -b,c,a,b,c,b -b,a,a,b,a,a -c,b,b,a,c,a -c,c,a,c,c,b -a,a,a,c,a,a -c,c,a,b,c,a -b,c,b,a,a,b -a,a,a,a,a,b -b,a,b,a,c,b -b,b,b,c,c,b -a,a,a,a,a,a -b,a,b,a,a,a -c,c,a,c,a,b -c,a,a,c,a,a -b,a,a,c,b,b -a,c,a,a,c,a -a,a,a,a,a,a -a,a,a,a,a,a -b,b,a,b,c,b -b,a,a,b,a,b -a,a,b,c,a,a -a,a,a,a,a,b -a,a,a,a,a,a -a,a,b,c,a,a -b,a,a,b,a,a -c,c,b,b,c,a -b,a,b,a,c,b -b,b,a,b,c,b -c,c,a,b,c,a -a,a,a,a,a,a -b,a,a,b,a,b -c,c,a,c,b,a -c,c,a,c,c,a -a,a,a,a,b,b -a,a,c,a,a,a -c,b,a,c,c,b -b,a,a,b,a,a -c,b,a,c,c,b -b,b,a,b,a,a -c,c,b,b,c,a -c,c,a,b,b,b -c,c,a,c,b,a -c,c,a,c,b,b -b,a,a,b,a,a -b,b,a,a,a,a -b,a,a,b,a,a -a,a,a,a,a,b -b,b,a,b,b,b -c,c,a,c,a,b -a,a,a,a,a,b -c,c,a,c,c,a -c,c,b,c,c,b -b,c,a,b,c,a -a,c,b,c,c,b -a,a,a,a,a,b -b,c,a,b,c,a -a,a,a,a,a,b -a,c,a,a,a,b -a,c,a,a,c,a -c,a,a,c,a,a -b,b,a,b,c,a -b,a,a,b,b,b -c,c,b,a,c,b -c,a,a,c,a,a -b,c,a,b,b,b -a,c,c,a,b,b -b,a,b,a,c,a -b,b,a,b,a,b -a,a,c,c,a,b -a,a,b,c,a,a -c,c,a,c,c,a -b,c,b,b,b,b -a,a,b,c,b,b -a,c,a,a,c,a -a,a,a,a,a,a -c,c,a,b,c,a -c,c,b,b,a,a -c,a,a,c,a,b -c,c,c,b,c,a -b,a,a,b,a,b -a,a,a,a,b,b -b,a,a,a,a,b -c,c,a,c,a,b -b,c,a,c,b,b -a,a,a,a,a,a -c,c,b,a,a,b -a,b,a,a,c,b -a,a,b,c,a,a -b,c,a,b,b,b -c,c,a,c,b,b -a,a,a,a,a,b -a,a,a,a,b,b -a,a,a,a,a,b -a,a,a,a,a,b -a,a,a,a,b,b -b,b,a,b,b,b -c,c,a,c,c,a -c,a,b,b,b,b -b,b,a,b,a,b -a,c,a,a,a,a -b,a,a,b,a,b -a,a,a,c,a,a -a,a,c,a,a,a -b,a,a,b,b,a -c,c,a,c,a,b -a,a,a,a,b,b -b,c,a,b,b,b -b,c,a,b,b,b -a,a,a,b,a,a -c,c,b,b,c,b -a,a,b,c,a,a -b,a,a,c,a,b -b,a,a,b,b,b -b,c,a,b,c,a -a,a,a,b,c,b -c,c,a,c,a,b -a,a,a,a,a,a -a,a,a,a,b,b -a,a,a,a,a,a -c,c,a,c,c,a -c,b,a,c,c,a -a,a,a,a,a,a -b,a,a,b,c,a -b,a,a,b,a,a -a,c,a,a,c,a -b,b,b,a,a,b -b,c,b,c,b,b -a,a,b,c,a,b -c,c,a,c,c,a -c,c,c,c,b,b -a,a,a,a,c,b -a,a,b,a,b,b -c,c,b,b,a,b -a,a,c,a,a,b -a,a,a,c,a,a -c,a,b,c,a,b -b,a,a,b,a,a -b,a,a,b,a,a -b,b,a,b,c,a -a,a,a,b,a,b -b,b,a,b,c,a -a,a,a,a,a,a -c,b,b,c,c,b -a,a,a,a,a,a -b,a,a,b,a,b -a,a,b,c,c,b -c,c,a,c,c,a -a,a,b,c,a,a -a,a,a,a,b,a -a,a,b,a,a,a -c,c,a,c,c,a -a,a,a,c,b,b -a,a,a,a,a,b -a,a,a,b,c,b -a,b,b,c,c,a -a,a,a,a,b,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,c,a,b,b -c,c,b,b,c,a -a,a,a,a,a,a -a,a,a,a,b,b -b,c,a,b,b,a -c,c,a,c,c,a -b,a,c,b,b,b -b,a,a,a,a,a -a,a,a,a,a,a -b,b,a,b,a,a -c,b,a,c,c,a -c,c,a,a,b,b -a,a,a,a,a,b -a,a,b,c,a,a -c,c,a,c,c,a -c,c,c,a,b,b -b,c,a,b,c,a -a,a,a,c,b,a -a,a,b,b,c,b -b,a,a,b,a,a -a,a,a,a,a,b -a,a,a,a,a,a -c,c,a,c,b,b -c,c,a,b,c,b -a,a,a,b,b,b -b,b,b,a,c,b -c,b,b,a,b,b -c,c,a,c,a,b -b,b,a,b,b,b -b,c,a,b,c,a -a,a,a,a,b,b -b,a,a,b,b,b -a,a,b,c,b,b -c,c,a,c,a,a -a,a,a,a,a,a -b,a,b,a,b,a -a,a,a,a,a,b -a,a,b,b,a,b -a,a,a,a,a,a -c,c,c,c,c,a -a,a,a,a,a,a -c,a,a,c,a,a -c,a,a,c,a,a -b,b,a,b,c,b -c,c,a,c,a,b -c,c,b,c,b,b -b,a,b,a,b,a -b,a,a,b,b,b -b,c,c,b,b,b -a,a,a,a,a,a -c,c,c,b,b,b -c,b,a,a,b,b -b,a,a,b,c,b -c,c,a,c,c,a -b,a,b,a,a,a -c,c,a,c,c,a -a,a,a,a,a,a -a,b,a,a,c,a -c,c,b,b,c,a -c,c,c,b,c,b -c,b,a,a,c,a -c,c,b,c,b,b -b,c,a,b,c,a -b,c,a,b,b,a -a,a,a,a,a,b -c,b,a,c,c,b -c,c,b,a,c,b -c,c,a,b,c,a -c,c,a,c,c,a -b,b,a,a,c,a -b,c,a,b,b,b -b,a,a,b,a,a -a,a,a,b,b,b -a,a,b,c,b,b -c,c,a,b,c,a -b,a,a,b,a,a -b,c,a,b,a,a -c,b,a,c,b,b -b,a,a,a,b,b -a,a,c,a,b,b -c,c,a,c,c,a -b,b,a,b,b,a -b,b,a,c,a,b -c,c,a,c,b,b -a,a,a,a,b,a -b,b,b,a,a,b -b,b,a,b,c,a -a,a,a,a,b,b -b,b,b,a,b,b -a,a,b,c,b,b -c,c,a,c,b,b -a,a,b,a,b,b -c,c,a,c,c,a -c,c,a,b,b,b -a,a,a,a,b,b -a,a,a,a,a,b -c,c,a,a,c,a -a,a,a,a,a,a -a,c,a,a,a,a -a,a,a,b,b,b -a,a,a,c,a,a -a,a,b,a,a,a -b,c,b,c,c,b -b,b,a,b,a,b -c,c,a,c,c,a -c,c,b,a,a,b -c,c,a,c,b,b -a,a,a,a,c,a -c,c,a,c,c,a -b,c,a,b,c,b -a,a,b,a,b,b -b,c,a,b,c,a -c,c,a,c,b,b -a,a,a,a,a,a -b,a,b,a,b,a -c,c,b,b,c,b -a,a,a,b,a,a -b,b,a,b,c,a -b,a,a,b,b,b -b,c,a,b,c,a -a,b,a,a,b,a -c,c,a,c,a,b -b,a,a,c,c,a -a,a,a,c,a,a -a,a,a,a,a,b -a,a,a,a,c,a -c,c,b,b,c,a -a,a,a,a,b,b -a,a,b,c,a,a -b,b,c,a,b,b -a,a,a,a,a,a -b,a,a,b,a,a -a,a,a,a,a,b -b,a,a,b,a,b -a,a,a,a,a,a -c,c,a,c,c,b -b,a,a,c,a,a -a,a,a,a,a,a -a,a,a,a,b,b -a,c,a,a,c,a -b,b,a,b,a,b -c,c,a,c,a,a -a,a,b,c,a,a -b,a,a,b,b,b -c,c,a,b,b,b -a,a,a,a,c,b -c,c,a,c,c,a -c,c,a,c,c,b -b,c,a,b,b,b -b,a,a,b,b,b -b,c,b,a,b,b -c,c,a,c,c,a -a,a,a,a,b,b -a,c,b,c,c,a -b,c,a,c,a,a -b,a,a,b,a,a -b,c,a,b,b,b -b,a,a,c,a,a -a,a,a,a,c,a -a,a,b,c,a,b -c,c,b,b,c,b -a,b,a,a,b,b -c,a,a,c,b,b -b,c,a,c,c,a -b,c,a,b,b,b -a,c,b,c,c,a -b,b,b,a,a,a -c,c,a,c,c,a -a,a,a,a,a,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,a,a,b,b -b,a,b,a,b,b -b,c,a,b,c,a -c,b,b,b,c,a -c,c,a,c,a,b -b,a,a,b,a,b -b,c,a,b,c,a -b,c,a,b,b,b -a,a,a,c,b,b -b,a,b,a,c,b -b,a,b,b,a,a -b,c,a,b,b,b -b,c,a,b,c,b -b,c,a,b,c,b -a,a,a,a,b,b -a,a,a,a,c,a -b,a,a,b,b,b -b,a,a,b,a,a -c,c,a,c,c,b -a,a,a,a,a,a -c,b,b,a,c,a -c,c,a,c,c,b -a,a,a,a,a,a -a,a,a,a,a,a -a,a,c,a,a,b -b,a,c,a,a,b -a,a,a,a,a,b -a,a,a,a,b,b -a,a,b,c,b,a -b,a,a,b,b,b -c,a,a,a,b,b -b,a,b,b,a,b -b,c,c,b,c,a -a,a,a,a,a,b -b,a,b,a,a,a -b,a,b,a,b,b -b,c,c,b,c,a -a,c,b,c,b,b -c,c,b,a,b,b -c,c,a,c,c,a -a,a,a,b,b,a -c,c,a,c,c,b -c,b,a,c,a,b -a,a,a,a,c,a -c,c,a,c,c,a -c,c,b,c,b,a -b,b,a,b,a,b -c,c,a,c,b,b -c,c,a,c,b,b -c,c,a,c,b,b -a,a,b,c,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,b,a,a,b -b,a,a,b,a,a -c,c,b,c,a,b -b,a,a,b,a,a -c,c,c,c,a,b -b,a,a,b,a,a -c,c,a,c,c,a -a,a,a,a,a,b -a,a,a,a,c,b -a,a,a,a,b,b -c,c,a,c,c,a -c,c,a,c,c,b -b,a,a,b,a,b -c,c,a,b,c,a -b,c,b,a,c,a -b,a,b,a,a,a -c,a,a,b,c,b -b,c,a,b,a,b -a,a,a,a,a,a -a,a,a,a,b,b -b,c,a,b,c,a -a,c,a,a,c,a -a,a,a,a,a,b -b,a,a,b,b,b -c,a,c,a,b,a -b,b,a,b,c,a -c,c,a,c,c,a -c,c,a,c,c,b -b,a,a,b,a,b -b,a,a,b,b,b -a,a,a,c,a,a -b,a,b,a,a,b -c,c,a,b,c,a -a,a,a,b,a,b -b,a,a,b,a,a -a,a,b,c,a,a -b,c,a,b,b,b -b,c,a,c,c,a -c,a,a,c,a,b -c,a,b,a,a,a -a,a,a,a,a,b -c,c,b,a,c,a -a,a,a,a,b,b -a,c,a,a,c,a -b,b,a,c,b,b -a,c,c,c,c,a -c,c,a,c,a,a -b,c,a,a,a,b -a,a,a,a,a,b -c,c,a,c,c,a -a,a,a,b,a,a -c,c,a,c,b,b -a,c,a,c,b,a -b,a,b,c,b,b -b,a,c,b,a,b -c,c,a,c,c,b -c,c,a,c,c,a -b,c,b,a,b,b -c,c,b,c,c,a -c,a,b,c,c,a -c,c,b,c,c,a -a,a,a,a,c,a -c,c,a,c,a,a -a,c,a,a,c,b -a,a,a,c,a,a -b,b,a,b,c,a -a,c,a,a,c,a -a,a,a,a,a,b -a,a,a,a,a,a -c,c,a,a,c,b -a,a,a,a,b,b -c,c,a,c,c,a -c,b,b,b,a,a -c,c,b,a,a,b -c,b,b,c,c,b -c,c,a,c,c,a -c,c,a,c,b,a -b,a,a,a,a,b -a,a,a,a,a,a -a,c,b,c,b,a -c,c,a,b,b,b -c,c,a,c,c,a -c,c,b,b,c,b -c,b,a,c,a,b -b,b,b,a,c,a -a,a,a,a,a,b -b,a,a,b,b,b -c,c,a,c,c,a -c,c,c,c,c,a -b,b,a,b,a,b -a,a,b,c,a,a -a,c,b,c,b,b -c,a,a,c,b,b -a,a,a,a,a,a -a,a,c,c,b,a -b,c,b,a,c,a -b,c,a,b,b,b -c,c,a,c,b,b -b,a,a,a,b,b -b,a,a,b,a,a -a,a,a,b,b,b -a,a,a,a,a,b -c,c,a,c,b,a -a,a,a,b,a,b -c,c,a,c,b,b -a,c,b,c,c,b -b,a,a,c,c,b -a,c,a,b,c,b -a,a,a,a,a,a -b,a,a,b,a,b -b,a,a,a,c,a -c,c,a,a,a,a -b,b,a,b,a,b -c,b,a,c,a,a -c,c,a,c,b,a -c,c,a,c,a,b -b,a,a,c,a,a -c,a,a,c,a,a -b,b,b,a,c,b -c,c,a,c,c,a -a,a,a,a,b,b -c,c,b,c,c,a -c,c,a,c,c,a -b,a,a,b,b,a -b,a,b,a,a,a -b,c,a,c,c,a -a,a,b,c,b,b -b,c,a,b,c,a -a,a,a,a,b,a -a,a,a,a,b,a -c,c,a,c,c,a -c,c,b,b,c,b -b,b,a,b,a,b -c,a,c,b,c,b -b,b,b,a,c,b -a,a,a,c,b,b -b,a,b,a,b,a -b,a,a,c,b,b -c,c,a,b,b,a -c,c,a,c,b,b -c,b,a,c,c,a -a,a,a,c,a,b -b,c,a,b,b,b -c,b,b,a,c,a -a,a,a,a,b,b -a,a,b,c,a,a -c,c,a,c,c,b -b,b,a,b,b,a -a,a,a,a,a,a -c,c,b,b,b,b -c,c,b,c,b,b -b,b,b,a,a,b -b,a,a,b,c,a -b,a,a,b,a,b -a,a,a,c,a,a -a,a,a,c,c,a -c,c,a,c,c,a -b,a,b,a,b,b -c,c,a,a,b,b -c,c,a,c,a,b -c,c,a,c,b,b -a,a,a,b,a,a -b,a,a,b,b,b -b,a,b,a,a,b -b,a,a,b,c,a -c,c,b,b,c,a -b,b,a,b,c,b -c,c,a,c,c,b -a,c,a,c,c,b -b,c,a,b,c,b -a,a,a,c,a,a -a,a,a,b,b,b -c,c,a,c,b,a -c,c,a,c,c,b -c,a,b,b,a,a -a,a,c,c,a,b -c,c,a,c,b,b -a,a,a,a,a,a -b,c,b,a,c,a -a,c,a,a,c,a -c,c,a,c,c,b -c,b,a,c,a,a -c,c,a,c,c,a -c,c,a,b,c,a -a,a,a,a,b,b -a,a,a,c,a,b -c,c,a,c,c,a -b,a,a,c,a,a -a,a,a,a,a,b -c,c,a,b,c,a -b,c,a,b,c,b -a,a,a,a,a,a -a,a,b,a,b,a -a,a,b,c,a,a -b,a,a,a,a,a -a,a,a,a,a,b -c,c,c,b,c,a -c,c,a,c,b,b -c,c,a,b,a,b -b,b,a,a,b,a -b,a,a,b,a,a -c,c,b,b,b,b -b,c,a,b,b,a -c,c,a,c,c,b -a,a,a,c,b,b -c,c,a,a,c,a -a,c,a,a,b,b -b,a,a,b,a,b -b,c,b,a,b,a -a,a,c,a,a,b -c,c,b,a,c,b -a,a,a,a,b,b -b,a,a,a,a,b -b,a,c,c,a,a -a,a,a,a,b,a -a,a,b,b,a,a -a,a,a,c,b,b -c,c,b,a,b,b -c,c,a,c,c,b -b,a,b,a,b,b -b,c,b,a,c,a -a,a,c,a,a,a -b,b,b,a,c,b -c,c,a,c,a,b -c,c,b,b,a,b -c,c,a,a,b,b -a,a,a,a,b,b -c,c,a,c,a,b -a,c,b,c,a,b -c,c,a,c,b,b -c,c,a,c,c,a -b,c,a,b,c,a -a,a,a,c,a,b -b,a,a,b,a,a -b,c,a,b,c,b -c,c,a,c,a,b -a,a,b,b,a,a -b,b,a,b,b,b -b,a,a,b,a,a -c,b,a,a,a,a -a,a,a,a,a,b -c,c,a,b,c,b -a,a,a,a,a,b -a,c,a,a,b,b -a,a,a,a,b,b -c,c,a,c,c,a -b,a,a,b,a,a -c,c,a,c,b,b -a,a,a,a,b,b -a,a,a,a,b,b -b,c,a,b,b,b -b,c,a,b,c,b -a,a,b,c,a,a -a,a,a,a,a,a -b,a,a,b,a,a -a,a,b,c,b,b -b,c,a,b,a,b -a,a,a,a,a,a -a,a,a,a,a,a -a,b,a,a,c,a -b,a,a,b,a,a -b,c,a,b,c,a -c,c,a,c,c,a -b,a,a,b,b,b -a,a,a,c,a,a -b,c,a,b,b,b -a,a,a,a,a,a -c,c,b,a,b,b -b,c,a,b,c,a -a,a,a,a,a,a -a,a,b,c,a,a -c,c,a,c,b,b -c,c,b,b,b,b -a,c,b,b,a,b -a,a,a,c,a,b -c,c,a,c,c,a -c,c,b,b,c,a -b,c,a,b,b,b -b,b,a,b,c,b -b,a,b,a,b,b -c,c,a,c,b,b -c,c,b,b,b,a -c,c,a,c,b,b -b,c,a,a,c,a -c,c,a,c,b,b -b,a,a,b,a,a -c,c,b,a,c,b -a,a,b,c,a,a -a,a,a,a,b,b -c,b,c,b,c,a -c,c,b,a,a,b -a,a,a,a,b,b -c,a,a,c,a,a -c,c,b,b,c,a -a,a,a,a,b,b -b,b,a,b,b,a -c,c,a,c,c,a -b,a,a,b,b,a -c,c,a,b,a,b -c,c,a,c,c,b -a,a,a,a,a,b -b,b,a,b,a,b -b,b,b,a,c,a -a,a,a,c,b,b -b,c,a,b,c,b -b,a,a,b,b,b -c,c,a,a,c,a -c,c,a,c,b,b -b,c,a,b,b,b -a,a,b,c,c,b -a,a,a,a,b,b -c,c,a,c,a,a -b,b,a,b,a,a -b,c,a,a,b,a -b,b,a,c,a,b -b,b,b,a,a,a -a,a,a,c,b,b -c,c,b,a,b,a -a,a,a,c,a,b -b,c,a,c,b,b -c,c,a,c,c,a -b,b,a,a,b,b -b,b,a,b,c,b -a,a,b,c,a,b -c,c,b,b,c,b -b,a,a,b,a,a -b,a,c,b,a,a -a,a,a,a,a,b -a,a,b,c,a,a -c,c,a,c,b,a -a,c,b,c,a,b -a,c,a,a,c,a -c,b,b,b,c,a -c,c,a,b,c,a -b,c,a,b,c,a -b,a,c,a,a,a -c,c,a,a,a,a -c,c,a,c,c,a -a,a,a,a,a,b -b,b,c,b,c,a -b,a,a,c,b,b -c,a,a,c,a,b -b,a,a,b,b,a -a,a,b,c,b,b -c,c,a,c,a,a -a,c,a,a,a,a -c,a,b,c,b,a -b,a,b,a,b,b -a,a,a,c,b,a -a,a,a,a,a,a -b,b,a,b,c,a -a,a,b,b,b,b -b,b,a,b,a,b -c,b,a,c,c,b -a,a,a,a,a,a -b,a,a,b,b,a -c,c,b,b,c,a -a,c,a,a,c,b -c,c,a,c,a,a -c,a,a,c,a,b -c,c,a,c,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,a,a,b,b -a,a,a,a,a,b -a,a,a,a,b,a -b,c,a,a,b,b -b,c,b,b,a,a -a,c,a,a,c,a -a,c,a,a,c,b -c,a,a,c,b,b -b,a,b,a,a,b -a,a,a,a,b,b -b,b,a,b,a,a -a,a,a,a,b,b -c,c,a,c,b,b -b,b,a,b,c,a -b,c,a,a,c,a -c,a,a,c,a,b -b,a,c,b,a,a -b,b,a,b,a,b -a,a,b,c,a,a -c,a,a,c,a,a -c,c,c,a,c,b -b,c,a,b,c,b -b,a,b,a,b,b -b,a,a,a,a,a -a,a,a,a,a,b -a,a,c,c,a,a -a,a,a,b,b,b -a,a,a,a,a,a -a,a,b,b,b,b -c,c,a,c,b,b -b,a,b,a,a,a -c,c,a,b,b,a -c,c,a,b,c,a -a,a,b,c,a,b -b,a,a,c,c,b -b,b,a,b,b,b -b,a,b,a,b,b -a,c,b,b,c,a -b,a,a,a,b,b -c,c,a,c,c,a -a,a,a,a,b,a -a,a,a,b,b,b -b,a,a,b,a,b -b,a,a,a,a,a -a,a,b,c,a,a -c,a,a,c,a,b -c,a,b,c,b,b -a,a,a,a,b,b -a,a,a,b,a,a -c,c,a,c,c,b -a,a,b,c,a,b -b,a,a,b,a,a -c,c,b,c,c,a -c,a,b,a,a,b -c,a,a,b,c,b -a,a,a,a,a,b -c,c,a,c,a,a -b,b,a,b,c,a -a,a,b,c,b,b -c,c,a,c,a,b -b,a,a,b,b,b -b,a,a,b,a,a -a,a,a,b,a,a -a,a,b,c,a,b -b,b,c,b,a,a -a,a,a,a,a,b -c,c,a,c,c,a -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,a,a,a -a,a,b,c,c,b -c,c,a,a,c,a -a,a,a,a,a,a -b,b,a,b,b,a -c,c,a,a,c,b -b,c,b,a,a,b -b,a,a,b,c,a -b,c,a,b,c,a -c,c,c,c,b,b -b,b,c,a,a,a -a,a,a,a,b,b -a,b,a,c,c,b -b,c,b,a,c,a -b,b,a,b,c,a -c,c,a,c,a,b -b,c,a,c,c,a -c,c,b,a,b,b -c,c,b,a,c,a -a,a,a,a,a,a -b,c,a,b,c,b -c,b,a,c,a,a -b,a,b,a,a,a -c,c,a,c,b,b -c,c,a,c,c,b -a,a,a,a,a,b -b,b,b,c,a,a -a,a,a,c,a,a -a,a,a,b,b,b -b,a,a,c,c,b -c,a,a,a,a,b -b,a,a,b,a,a -a,a,b,a,a,b -a,a,a,a,a,a -b,a,b,a,a,a -c,c,a,a,b,b -a,a,a,a,b,b -c,c,a,a,b,b -b,b,a,b,a,a -b,b,a,b,a,b -c,c,c,b,c,b -b,a,a,a,b,b -c,c,a,c,c,b -c,c,a,c,c,a -a,c,a,a,a,b -a,a,b,c,a,b -a,a,a,a,c,b -c,c,a,c,c,a -c,c,a,c,a,b -b,c,a,b,b,b -a,c,a,c,c,a -c,c,a,c,a,b -c,c,a,c,c,a -b,c,b,a,b,b -b,a,c,c,a,a -a,a,a,a,a,a -b,b,a,b,c,a -a,a,a,a,b,b -c,c,a,b,a,b -b,a,a,a,c,b -a,a,a,a,b,b -c,c,a,c,c,a -b,b,a,b,b,b -a,c,b,a,c,a -a,a,a,a,b,b -a,a,b,a,b,b -b,c,a,b,c,a -b,a,a,a,c,a -c,c,a,c,c,a -c,a,a,c,b,b -b,c,a,b,a,b -b,b,a,b,c,a -b,c,b,a,c,a -a,a,a,a,a,a -c,c,a,a,a,a -a,a,a,a,a,b -b,c,a,b,a,b -b,a,a,b,a,b -b,a,a,b,a,b -c,c,a,c,b,b -b,c,a,b,c,b -b,a,a,a,c,a -a,a,a,c,a,a -c,c,b,a,b,b -c,b,a,c,c,a -a,c,a,b,a,b -c,c,a,c,c,b -b,b,b,a,c,a -a,a,b,c,a,a -a,a,a,a,b,b -c,b,a,c,a,a -a,a,a,a,b,b -b,c,a,a,c,a -a,a,a,a,a,a -c,a,a,c,b,b -a,c,b,c,c,a -c,c,a,c,c,a -a,a,a,a,a,b -b,c,a,c,c,a -c,c,a,b,c,b -b,a,a,b,a,a -b,a,a,a,a,a -a,a,a,c,a,b -a,a,a,a,b,a -c,c,a,c,c,a -c,c,a,c,a,a -a,a,a,a,a,a -b,a,a,b,b,b -b,c,b,a,c,a -a,a,a,a,a,b -c,c,a,c,b,b -a,a,a,a,c,b -a,a,a,a,b,b -c,a,a,c,b,b -b,a,a,b,a,a -c,c,a,c,c,a -c,c,a,c,a,a -c,c,a,c,c,a -b,a,a,b,a,a -c,c,a,c,a,b -b,a,a,b,a,a -b,b,a,a,a,b -c,b,a,c,b,b -b,a,a,b,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,c,a,a,a,b -b,c,a,b,b,b -a,a,a,c,a,a -b,b,a,b,c,a -c,a,a,c,b,b -c,c,a,c,c,b -a,a,a,a,a,a -b,a,c,c,a,a -a,a,a,a,a,a -b,c,a,b,c,b -a,a,a,c,a,a -c,c,a,c,c,a -c,c,a,a,b,b -a,a,a,a,b,b -c,c,a,c,c,a -c,c,a,c,c,b -c,c,a,c,c,b -c,b,a,a,c,a -c,c,a,c,c,b -c,a,b,c,b,b -c,a,a,c,a,a -b,b,b,a,c,a -c,c,a,c,b,b -a,a,a,a,a,a -a,a,a,a,a,a -a,a,a,a,a,b -b,b,a,b,c,a -a,c,a,a,a,a -c,c,a,b,b,b -b,c,b,a,c,a -a,a,b,c,a,a -b,a,a,b,c,b -b,c,a,b,c,b -a,a,b,c,a,a -b,c,a,b,b,b -c,a,a,c,b,b -b,a,a,c,b,b -c,c,b,a,b,b -a,c,a,a,b,b -c,c,a,c,b,b -c,a,b,a,a,a -b,c,a,b,c,a -c,c,c,a,c,a -a,a,a,c,a,a -b,c,c,a,b,a -b,a,b,a,a,a -b,a,a,b,c,b -c,c,c,b,a,a -b,a,a,b,b,b -c,c,a,b,c,a -c,c,a,c,a,a -b,a,a,b,b,b -a,a,b,c,a,b -c,c,a,c,b,b -b,a,a,b,a,b -c,a,a,c,b,b -a,a,a,a,a,a -a,a,a,a,a,a -a,c,a,a,a,b -a,a,b,c,a,a -b,b,a,b,a,b -c,c,a,a,c,a -b,a,b,a,a,b -b,a,a,c,a,a -c,c,a,c,c,a -c,c,a,c,b,b -a,a,a,a,a,b -b,a,a,c,a,a -a,a,a,a,a,a -a,a,a,a,a,a -b,a,b,a,a,a -c,c,a,c,a,b -a,a,a,a,b,b -a,a,a,a,c,a -c,c,a,c,b,b -a,a,a,a,a,a -b,b,b,a,c,a -b,a,a,b,a,b -b,a,a,c,b,b -b,a,b,a,b,b -a,a,a,c,a,b -a,a,a,a,c,b -b,a,a,a,c,b -c,c,a,c,c,b -b,b,c,b,a,b -b,a,b,a,b,b -a,a,b,b,a,a -b,c,b,a,b,b -c,c,a,a,b,b -b,a,b,a,b,b -c,a,a,c,a,a -c,c,a,a,c,b -b,c,a,b,b,b -c,b,a,b,c,a -a,a,a,a,b,b -c,c,b,b,c,a -b,a,a,c,a,a -b,b,a,b,b,b -a,a,c,c,a,b -b,a,b,a,a,a -c,c,c,c,c,a -a,c,a,a,b,a -c,a,b,a,a,a -a,a,a,a,a,a -a,a,a,a,c,a -c,a,a,c,b,b -a,a,a,a,a,a -c,c,a,c,a,b -b,b,c,c,b,a -a,a,a,a,a,a -c,c,b,c,c,a -a,a,a,a,a,a -b,a,b,a,a,b -a,a,b,c,b,b -b,a,a,c,a,b -a,a,a,a,a,a -a,a,b,a,b,b -c,c,a,c,b,b -a,a,a,a,c,a -a,a,b,a,b,b -b,c,a,b,c,b -a,a,a,a,a,a -b,a,a,b,a,a -a,c,a,b,b,b -b,c,a,b,a,a -c,c,a,c,a,a -b,a,a,b,a,a -c,c,b,b,b,b -b,b,a,b,c,b -a,a,a,a,b,b -a,a,b,c,a,a -a,b,a,a,c,a -b,a,a,b,a,a -b,a,b,a,b,b -b,a,a,b,a,a -a,c,a,c,c,a -c,c,a,c,b,b -c,c,a,c,c,b -b,c,a,b,c,b -c,c,b,c,c,b -a,a,a,a,c,b -c,b,a,a,c,a -b,a,b,a,a,b -c,c,a,c,b,b -a,a,b,b,a,a -c,c,a,c,b,b -a,a,a,a,a,a -a,a,a,c,a,a -c,a,a,b,b,a -a,a,b,c,a,a -c,c,a,c,c,a -b,a,a,a,b,b -a,a,a,a,a,a -a,a,a,a,b,b -b,b,a,b,a,a -a,a,a,c,b,b -c,b,a,c,b,b -c,c,a,c,a,b -c,c,a,b,a,b -a,a,c,a,a,a -b,b,a,b,c,b -a,a,a,a,a,a -b,a,a,b,a,a -b,c,b,a,a,b -b,c,a,b,c,a -b,b,a,b,c,a -c,c,a,c,c,b -c,a,a,c,a,b -b,b,a,b,a,b -c,a,a,c,a,b -a,a,a,a,a,b -b,b,a,b,c,a -a,c,b,a,c,a -b,a,a,a,a,b -c,c,a,a,c,a -b,a,a,b,c,b -b,c,a,b,b,b -a,a,b,c,b,b -c,c,a,c,a,b -b,c,a,b,a,b -c,c,b,b,c,b -a,c,a,c,c,a -b,a,a,b,b,b -c,c,a,c,a,b -b,a,c,b,b,b -c,c,a,c,b,b -c,c,a,c,c,a -a,a,b,c,b,b -a,a,a,a,c,b -b,b,a,b,a,a -c,c,a,a,c,a -c,c,a,c,c,b -c,c,a,c,b,b -a,a,b,c,c,a -b,c,a,b,b,a -b,a,a,b,a,a -c,c,c,b,c,a -a,a,a,a,a,a -b,c,b,a,c,a -b,a,b,a,a,b -b,a,b,a,b,b -a,a,a,c,a,a -c,c,a,c,c,a -c,b,b,c,a,a -a,c,a,a,c,a -a,a,a,a,a,b -a,a,a,a,a,a -b,b,a,b,c,a -a,c,c,b,b,b -b,a,a,a,b,b -b,c,a,b,c,b -a,a,a,a,a,a -a,a,a,a,a,a -c,c,a,c,c,a -c,c,a,c,c,a -b,c,a,b,a,b -b,a,a,b,a,a -c,c,a,b,c,a -a,c,a,a,a,b -a,a,a,a,a,a -a,a,b,a,a,a -a,a,a,a,a,b -c,c,a,a,b,b -b,a,a,a,c,a -c,c,a,a,c,a -a,a,b,c,a,a -c,a,a,c,b,a -b,a,a,b,a,b -c,b,a,a,a,b -b,b,a,b,b,a -b,a,a,b,a,a -b,a,a,b,b,b -b,c,a,b,c,b -a,a,a,a,a,b -a,a,b,c,a,a -c,c,a,c,c,b -c,c,a,a,c,a -c,c,a,b,c,a -a,a,a,a,a,a -c,c,b,a,c,a -a,a,a,b,a,b -b,a,a,b,b,b -b,b,a,b,c,a -a,c,c,a,c,a -c,a,a,c,a,a -c,c,a,c,b,b -c,c,a,c,b,b -c,c,a,c,a,a -a,a,a,a,a,b -a,a,a,a,a,a -a,a,b,a,a,a -b,a,b,a,a,a -a,a,a,a,a,b -a,a,b,c,b,b -c,c,b,b,b,b -a,a,a,a,c,a -c,c,a,c,c,a -b,b,b,a,c,a -a,a,a,a,a,a -c,c,a,c,b,b -c,c,a,c,c,a -c,b,a,c,b,b -b,b,a,b,c,a -c,c,a,c,b,a -c,c,a,c,b,b -a,a,a,a,a,a -a,a,a,a,a,a -c,c,b,c,b,a -c,c,b,c,c,a -b,a,a,b,b,b -b,c,a,b,b,a -a,a,a,a,a,b -c,a,a,c,a,a -c,a,a,c,a,a -c,c,b,c,b,b -c,c,a,b,b,b -c,c,a,a,c,a -b,c,a,b,a,a -b,a,a,b,a,b -a,b,a,a,a,a -a,a,a,c,b,a -c,c,a,c,b,b -a,c,a,a,b,b -c,c,a,b,b,b -b,c,a,b,b,a -a,a,a,a,a,a -c,b,a,c,a,b -a,a,a,a,a,a -b,b,b,a,b,a -a,a,a,b,a,a -b,b,a,b,b,a -b,c,a,b,a,a -c,c,a,b,a,b -a,a,a,a,b,b -c,c,a,c,c,b -c,a,b,b,a,a -a,a,a,a,a,a -c,a,a,c,c,b -a,a,c,c,a,a -b,c,a,b,b,b -a,a,a,a,a,a -b,c,a,b,a,a -a,a,b,c,b,b -b,c,a,b,b,b -a,a,b,c,a,a -c,b,a,c,a,a -b,a,a,b,a,a -b,b,a,b,a,a -b,b,a,b,a,a -a,a,a,a,a,a -b,a,b,a,a,a -c,c,b,b,b,b -b,b,a,b,c,b -c,c,a,c,b,b -c,c,a,c,a,b -c,c,a,c,c,a -b,c,b,a,b,a -c,a,a,c,b,b -c,c,a,c,a,a -a,a,a,a,a,a -b,a,b,c,a,b -a,a,b,c,c,a -c,c,b,b,c,a -a,c,a,a,c,a -c,b,a,c,c,a -c,c,a,c,c,a -b,c,a,b,c,a -c,c,b,b,c,a -c,c,a,c,c,a -a,a,a,b,a,b -c,a,a,c,a,b -c,c,b,c,c,a -a,a,a,a,a,a -c,c,a,c,b,b -b,a,a,b,a,b -a,a,a,a,b,b -a,a,a,a,b,b -c,c,a,c,b,b -a,a,a,b,b,b -c,c,a,c,b,b -a,a,a,b,a,a -a,a,a,c,a,a -a,c,a,c,c,b -b,a,a,b,a,b -a,a,a,a,b,b -c,c,a,c,c,a -b,a,a,b,c,a -b,b,a,b,a,b -a,a,a,a,b,a -c,a,a,c,a,a -a,a,c,a,c,b -a,b,c,a,c,a -a,a,a,a,a,a -c,c,a,c,a,b -a,a,b,b,c,b -c,a,b,b,a,a -a,a,a,a,b,b -c,c,b,c,b,b -b,c,a,b,b,b -b,a,b,a,b,b -b,a,a,b,c,a -a,a,b,c,b,b -a,a,a,a,a,a -a,a,a,a,b,b -b,b,a,b,c,a -c,c,a,c,c,a -a,a,b,a,b,b -a,a,b,b,a,b -b,a,b,a,a,a -b,c,a,b,b,a -c,c,a,b,b,b -c,c,b,a,c,a -c,c,b,b,b,b -c,c,a,c,b,b -a,a,a,a,c,b -b,a,a,b,b,b -c,c,a,c,a,b -c,c,a,c,c,a -a,a,a,a,a,b -b,c,a,b,c,a -b,a,a,b,a,a -c,c,b,a,c,a -a,a,a,a,a,a -c,c,a,c,c,a -b,a,b,b,b,b -a,a,a,a,a,a -a,a,a,a,a,b -a,c,a,a,a,b -c,c,b,c,b,b -c,c,a,c,b,b -a,a,b,c,a,a -a,a,b,a,a,a -c,c,a,a,c,b -c,c,a,b,b,a -c,c,c,c,a,b -c,c,a,c,b,b -a,a,a,a,c,a -a,a,a,a,b,b -b,b,c,b,b,a -a,c,a,a,a,b -c,c,a,c,c,b -a,b,a,a,c,a -c,c,a,c,c,a -a,a,b,c,a,a -c,c,a,c,c,b -c,b,a,a,b,a -b,c,b,a,c,a -b,a,c,c,b,b -b,b,a,c,b,b -c,c,a,a,c,a -a,a,a,a,a,b -a,a,a,a,a,a -c,c,b,a,c,a -c,c,a,c,c,b -b,a,a,b,a,b -c,c,a,c,b,b -c,b,a,c,c,b -b,a,a,b,b,b -a,a,c,b,b,b -b,a,a,b,a,b -a,a,a,a,a,a -c,c,a,c,b,b -c,c,a,c,c,b -a,a,a,a,b,b -c,c,a,c,c,a -b,a,a,a,a,a -a,a,b,c,b,b -a,a,b,b,a,a -b,c,a,b,c,b -b,a,b,a,a,a -b,a,b,a,a,b -c,c,a,c,c,b -c,c,b,b,c,b -a,a,a,a,a,b -b,b,c,b,b,b -c,c,b,b,c,a -c,c,a,a,a,b -a,a,b,c,b,b -a,a,a,c,c,b -b,a,a,a,b,b -b,b,a,b,b,a -c,c,a,c,b,b -a,c,a,a,c,a -c,a,b,a,a,a -a,a,a,b,b,a -a,a,b,b,a,b -a,a,a,b,a,a -c,c,b,b,a,a -a,a,a,a,c,a -a,a,a,a,a,b -c,c,a,c,c,a -a,a,a,a,b,a -c,c,a,c,a,b -c,b,a,c,c,a -b,c,a,b,a,b -b,c,b,a,c,b -c,c,a,c,c,a -a,a,b,c,a,b -b,b,b,a,c,a -b,a,a,b,b,b -b,c,c,a,c,b -b,a,b,a,b,b -c,c,a,c,b,a -c,a,a,b,c,b -a,a,a,a,b,b -b,a,a,b,a,b -a,a,a,b,a,a -a,a,a,a,b,b -c,c,a,c,c,a -b,b,a,b,c,b -a,a,b,a,a,b -c,c,a,c,c,a -b,b,a,b,a,a -c,c,a,a,c,a -c,c,a,c,c,a -c,a,a,c,b,b -b,b,a,b,b,a -b,a,a,b,b,b -a,a,a,b,a,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,a,c,a,b -c,c,b,b,b,a -b,a,b,a,a,a -c,c,a,c,b,b -a,a,a,a,a,a -c,a,b,b,a,b -c,c,a,c,b,b -a,a,a,a,a,a -b,c,a,b,b,b -a,a,a,a,c,a -b,c,a,b,b,b -b,b,a,b,c,a -c,c,a,c,c,b -a,a,c,b,c,b -c,c,c,b,a,b -b,c,c,a,c,a -c,c,a,c,c,a -c,a,a,c,c,a -a,a,a,a,c,b -b,b,a,b,c,b -c,a,c,c,a,b -a,c,a,a,c,a -c,c,b,b,c,b -a,a,a,a,a,b -a,a,c,a,b,b -b,c,a,c,a,a -b,c,a,b,b,a -b,c,a,a,a,a -c,c,a,c,c,a -b,a,a,b,b,b -b,c,a,b,b,b -a,a,a,a,a,b -b,a,a,c,b,b -c,a,b,b,a,a -b,b,a,b,b,b -c,c,a,c,a,a -c,c,a,c,c,a -c,a,b,b,b,b -a,c,a,b,c,a -a,a,b,a,b,b -b,a,a,c,a,a -b,c,a,b,b,b -b,a,c,b,b,b -a,a,a,b,b,b -b,a,a,b,a,a -b,a,a,b,a,a -a,a,a,a,a,a -b,a,a,a,a,a -b,b,b,a,c,a -c,b,b,b,a,b -a,a,a,b,c,b -b,c,b,a,c,b -a,a,a,a,b,b -c,c,a,a,c,a -c,c,a,c,c,a -c,a,a,c,b,b -c,c,a,c,b,b -b,c,a,c,a,b -b,a,a,c,b,b -c,c,c,a,b,b -c,c,a,c,b,b -c,c,a,c,b,b -b,a,a,b,a,b -a,a,a,a,a,a -c,b,a,b,b,b -b,a,a,b,a,a -b,c,a,c,c,a -a,a,a,a,c,b -a,a,a,a,a,b -b,c,a,b,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,a,a,a,a -a,a,a,a,a,b -b,b,b,a,c,a -a,a,a,a,b,a -b,a,a,b,b,a -c,c,b,a,c,a -c,c,b,c,c,a -a,a,a,c,b,a -b,c,b,a,c,a -a,a,c,b,c,a -b,a,a,b,b,b -a,a,b,b,c,b -a,a,a,a,b,b -c,c,a,c,c,a -a,a,a,a,a,a -c,c,a,c,c,a -b,a,c,a,b,a -a,a,a,b,a,a -b,a,a,b,c,b -b,c,a,b,b,b -b,c,a,b,b,b -c,c,a,c,c,a -c,c,a,c,b,b -a,c,a,c,c,b -b,a,a,b,a,a -b,a,a,c,b,b -a,a,a,c,a,a -a,a,a,a,a,a -c,c,a,c,c,a -a,a,a,a,c,b -b,a,a,b,b,a -b,a,b,a,b,b -a,a,a,a,b,b -c,c,a,c,c,a -c,a,a,c,b,b -a,a,b,a,a,a -b,c,a,b,b,b -b,c,a,b,c,a -b,a,a,b,a,a -a,a,a,a,a,a -a,a,b,c,b,b -a,a,a,a,b,b -a,c,a,c,c,a -a,c,a,a,a,b -c,c,a,c,b,b -a,a,a,a,c,a -a,a,a,a,a,a -c,c,a,c,c,a -a,a,b,a,b,b -b,a,c,c,a,a -b,b,a,b,b,b -b,a,a,c,a,b -a,b,a,a,b,b -a,a,a,a,a,b -a,a,a,a,a,a -c,c,a,c,b,b -a,a,a,a,a,a -a,a,a,a,b,b -b,a,a,b,c,b -a,a,a,a,c,b -a,a,a,a,a,a -a,a,b,c,b,b -c,c,a,c,b,b -b,c,b,a,c,a -b,c,c,a,c,a -c,b,a,b,c,a -c,c,b,b,c,a -a,a,a,a,b,b -b,a,a,b,c,b -a,a,a,a,a,a -a,a,a,a,b,b -c,c,a,c,c,a -a,a,a,a,a,a -b,c,a,b,a,b -c,c,a,b,c,a -c,c,a,a,c,b -c,c,b,b,a,a -c,c,a,c,c,a -b,b,a,b,b,a -c,c,a,a,c,a -b,a,a,c,c,a -b,c,a,b,b,b -c,b,a,c,c,a -b,b,a,b,a,a -a,a,a,a,a,b -b,a,a,c,b,b -a,a,b,a,a,a -a,c,a,a,c,a -c,c,a,c,c,b -b,c,b,a,c,b -a,a,b,a,b,b -a,a,a,a,a,a -b,c,a,b,b,b -a,a,b,b,a,b -a,a,b,b,b,a -b,b,b,a,b,b -c,c,a,c,b,b -a,a,a,a,a,a -c,c,a,c,c,a -c,b,a,c,c,a -b,b,a,a,b,a -c,c,a,c,c,a -c,c,a,c,b,b -a,a,a,a,a,b -c,c,a,c,a,b -a,a,a,a,a,a -a,a,b,c,a,b -c,c,b,a,c,b -b,c,a,b,c,b -a,a,b,a,a,a -c,c,a,b,a,a -b,c,a,b,c,a -c,a,a,c,a,a -a,a,b,c,a,b -a,a,a,b,b,b -a,c,a,a,a,b -b,c,b,a,a,b -b,a,a,b,a,b -b,b,a,b,c,a -c,c,a,c,a,b -c,c,a,c,b,b -c,c,b,b,c,a -a,a,c,c,a,a -b,c,a,b,b,b -a,a,b,c,c,b -c,c,a,c,c,b -c,c,a,b,c,a -b,c,a,b,c,a -b,b,a,b,a,a -a,a,a,a,a,a -b,c,a,a,c,a -b,a,a,b,a,a -b,a,b,a,a,a -c,c,a,c,a,b -c,c,a,c,a,b -c,b,a,b,c,b -b,c,a,c,b,a -a,a,a,a,b,b -a,a,a,c,a,a -c,a,c,b,a,a -c,c,a,c,c,b -a,a,a,a,a,a -c,c,a,c,c,b -b,a,a,b,a,a -c,c,b,b,c,a -b,b,a,a,a,b -c,c,a,c,a,b -a,a,a,a,b,b -a,b,a,b,c,a -c,c,a,a,a,b -a,b,a,b,b,b -c,c,a,c,a,b -a,a,a,a,c,b -b,c,a,b,c,a -a,a,a,a,b,b -a,a,a,a,b,a -c,c,b,b,a,a -c,c,a,c,b,a -a,a,a,a,a,a -a,a,b,c,b,a -a,a,a,a,c,a -a,a,a,a,a,b -b,a,c,b,c,a -a,a,a,a,a,b -c,b,a,c,a,a -b,c,a,b,c,a -c,c,a,c,a,b -c,c,a,c,b,b -c,c,a,c,c,a -b,a,b,b,b,b -b,b,b,a,b,b -c,a,a,c,a,a -b,c,a,b,b,b -c,c,a,c,a,a -c,c,a,c,c,b -c,a,a,c,a,a -a,c,a,a,c,a -a,a,a,a,a,a -a,a,a,a,b,a -a,a,a,a,a,a -c,c,a,c,b,b -c,c,a,c,c,b -c,c,a,c,c,a -a,a,a,a,b,b -c,c,a,b,b,b -b,c,b,a,a,b -b,c,a,c,b,b -c,c,a,a,c,b -b,a,a,b,a,a -a,a,a,a,b,b -c,c,c,b,b,b -c,c,a,c,b,a -a,a,a,b,b,b -c,c,b,a,c,a -b,a,b,a,a,a -b,b,a,b,c,a -b,c,a,b,b,b -c,b,a,c,c,a -c,c,c,b,b,b -a,a,a,c,b,a -a,a,b,c,a,a -b,b,a,b,a,a -c,b,a,c,c,b -b,b,a,b,b,b -c,c,a,b,b,b -b,c,b,a,c,a -a,a,b,b,a,a -b,b,a,c,c,a -c,c,a,c,b,b -b,b,a,b,b,b -c,c,a,c,c,a -a,a,b,c,a,b -b,a,a,c,a,b -a,a,a,a,a,b -b,a,a,b,a,b -b,a,b,a,a,a -c,c,b,b,c,a -a,a,b,c,a,b -a,a,a,a,b,b -c,c,a,c,c,a -a,a,a,c,a,a -a,a,a,a,a,a -b,b,b,a,b,b -a,a,b,c,b,b -c,c,a,c,a,a -b,a,a,b,a,a -b,b,a,b,c,a -c,c,a,c,b,b -c,c,a,c,c,a -c,a,a,c,a,a -c,c,a,b,a,b -b,a,b,a,c,a -b,a,b,a,a,a -c,c,c,b,a,a -b,b,b,a,c,a -c,c,b,b,c,b -c,c,a,b,c,a -b,a,a,c,a,a -a,a,b,c,a,a -b,b,a,b,c,a -a,a,a,a,a,b -a,b,b,c,a,a -b,c,a,b,c,a -c,c,a,b,c,a -a,a,b,c,c,a -c,b,a,c,a,a -c,c,a,c,a,a -b,c,a,b,b,b -c,c,a,c,c,b -c,c,a,c,c,a -b,a,a,b,b,b -b,a,a,c,a,b -a,c,a,a,b,b -b,a,a,c,a,a -a,a,b,c,a,a -a,a,a,a,a,b -b,a,b,a,c,b -b,c,a,b,b,b -c,c,a,c,b,b -c,a,a,c,a,b -c,a,c,a,a,a -a,a,b,b,a,a -b,b,a,b,b,b -a,a,a,a,a,b -a,c,c,a,c,b -a,a,a,a,b,b -a,a,a,a,a,a -b,c,a,b,c,a -c,c,a,c,a,b -c,b,a,c,b,a -c,c,b,b,c,a -a,a,a,a,b,b -c,a,b,c,a,b -c,b,a,a,a,a -a,a,a,c,b,b -c,b,b,b,a,b -c,b,b,b,b,b -c,b,a,c,c,a -b,a,a,b,a,b -a,a,a,a,b,a -c,c,c,b,c,a -a,a,a,a,a,a -b,a,a,a,b,b -c,c,a,c,c,a -b,a,a,b,a,a -a,a,a,b,a,b -c,c,a,c,b,a -b,c,a,b,c,a -b,a,a,b,a,a -b,b,a,b,c,a -c,c,a,c,a,b -a,c,a,a,a,a -b,c,a,c,b,b -b,c,a,b,c,b -c,c,c,c,c,a -b,c,a,a,c,b -b,b,a,b,c,b -b,a,a,a,b,b -a,a,b,c,b,b -a,a,a,b,b,a -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,c,a,a -c,c,b,a,c,b -a,b,a,c,a,a -b,c,b,a,c,a -c,c,b,c,c,b -b,c,a,b,a,b -a,a,b,c,b,b -b,a,a,b,b,b -b,c,a,b,c,b -a,a,a,c,a,a -b,c,a,a,c,a -a,c,b,c,b,b -b,a,a,b,a,a -a,a,a,a,b,b -b,a,a,b,c,a -b,a,a,b,b,a -b,a,a,b,c,a -c,c,b,b,c,a -c,c,a,c,c,b -a,a,a,a,a,a -a,a,a,a,a,a -b,a,b,a,a,a -a,a,a,a,a,a -c,c,a,c,b,b -b,c,a,b,c,a -b,c,a,a,a,b -c,a,b,a,a,a -a,a,b,c,a,a -c,a,a,c,a,a -b,b,a,b,b,b -b,c,a,b,c,a -c,c,a,c,c,b -a,a,a,b,a,a -c,c,a,c,c,a -c,a,b,c,a,b -a,c,b,c,c,a -b,b,b,a,b,b -c,c,b,b,c,a -c,c,a,c,b,b -b,c,a,b,c,a -a,a,a,b,a,a -c,a,a,c,a,a -c,a,a,c,a,a -b,a,a,b,a,a -c,c,a,c,c,a -c,c,a,c,a,b -a,a,a,a,b,b -a,a,a,a,a,a -a,a,a,a,b,b -c,c,b,a,c,a -a,c,a,a,c,a -c,c,a,c,c,a -b,b,a,b,c,a -c,b,a,b,b,a -a,a,a,a,b,b -a,a,a,a,b,a -a,a,c,c,a,b -b,a,b,b,c,b -a,a,a,a,a,a -a,c,a,b,c,b -b,a,b,a,a,b -c,c,b,a,c,b -a,a,c,c,a,a -c,c,a,c,c,b -c,c,c,c,a,b -c,c,a,c,c,a -c,c,a,c,a,a -b,c,b,a,c,a -b,a,a,b,a,b -c,a,b,c,a,b -c,c,a,c,a,b -c,a,b,b,a,b -a,a,a,a,a,a -b,a,b,a,a,a -a,a,a,c,a,b -a,c,a,b,b,b -c,b,a,c,a,b -c,c,a,c,c,a -c,c,a,c,b,b -b,a,a,b,a,a -b,b,a,b,b,a -b,c,b,a,c,a -b,a,a,a,a,a -c,c,a,c,c,a -a,a,c,a,a,a -a,c,a,b,a,b -c,c,b,b,a,b -c,c,a,a,a,b -a,c,b,c,a,b -a,a,a,a,a,b -a,a,b,a,a,a -a,a,b,c,a,b -b,a,c,c,b,b -c,c,a,b,a,b -b,c,a,b,c,a -a,a,b,b,a,b -a,a,a,a,b,b -b,a,a,b,a,a -c,c,a,c,a,a -c,c,a,c,c,a -c,c,c,b,b,b -b,a,a,b,a,b -c,c,a,c,b,b -c,c,a,c,c,a -a,a,a,a,a,b -b,c,a,b,c,a -a,a,a,c,b,b -c,c,a,c,c,b -a,a,a,a,b,b -b,c,a,b,c,a -a,a,b,c,a,a -a,a,a,a,b,b -b,c,a,b,c,a -c,c,b,b,c,a -a,a,b,c,b,b -c,a,a,c,a,a -c,c,a,c,c,b -b,c,a,c,c,a -c,a,a,c,a,b -a,a,a,a,a,a -a,a,a,a,a,a -c,c,b,b,b,b -a,a,b,b,b,a -b,a,a,a,a,b -b,c,a,b,c,a -a,a,a,a,a,b -a,a,a,a,a,b -b,a,a,b,b,b -a,a,a,a,a,a -a,a,b,c,b,b -a,a,b,c,a,b -c,c,a,c,a,b -b,a,b,a,b,b -a,a,a,a,a,a -c,c,b,b,b,b -b,a,a,b,a,a -c,a,b,b,a,a -b,c,c,b,b,b -c,c,a,c,c,a -b,c,a,b,a,b -c,c,a,c,c,a -a,c,b,c,b,b -b,a,a,b,a,a -c,b,a,c,b,a -a,a,a,c,a,a -a,a,b,c,b,b -c,c,a,c,c,a -a,a,a,a,c,a -a,a,a,a,a,a -a,a,b,c,a,b -a,a,a,a,a,b -a,a,a,a,a,a -c,c,c,a,a,b -a,a,a,a,b,b -a,a,a,c,a,b -c,c,a,c,a,a -b,c,a,b,c,b -c,c,a,c,b,b -b,a,a,b,b,b -a,a,c,c,c,a -a,a,a,a,b,b -b,b,a,b,a,a -b,c,a,b,c,b -c,c,a,b,a,b -a,a,b,c,a,a -b,a,b,a,b,b -a,a,a,c,a,a -b,c,a,a,c,a -c,c,a,c,c,a -b,c,a,b,b,b -b,a,a,b,c,a -a,a,a,a,a,b -b,c,a,b,b,b -b,c,a,b,b,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,c,c,b,b -c,c,a,a,b,a -c,c,a,b,b,a -c,c,a,a,a,a -c,b,a,b,c,b -c,c,a,c,c,a -a,a,a,a,c,b -b,b,a,b,c,a -c,c,a,b,a,b -c,c,a,c,a,a -b,a,b,a,a,a -a,a,a,a,a,a -a,a,b,b,b,b -b,a,a,c,a,a -b,a,a,b,a,a -b,b,c,c,b,a -c,a,a,c,a,a -a,a,a,a,a,a -a,a,a,a,c,a -b,a,a,b,a,b -a,a,a,a,a,b -b,b,b,b,b,b -b,b,a,b,c,a -b,a,a,b,a,a -b,c,a,b,a,a -a,a,a,a,a,a -b,b,a,b,c,a -b,c,a,b,a,b -b,a,a,c,a,b -b,a,a,b,a,b -b,c,b,a,c,b -c,c,a,c,c,a -b,a,a,b,b,a -c,c,c,c,c,a -b,c,a,b,b,b -b,c,a,b,b,b -b,a,b,a,b,b -a,a,a,a,b,b -c,c,a,c,c,a -a,c,a,a,b,b -a,a,a,a,a,a -b,c,a,b,b,b -c,a,a,c,a,a -b,c,a,a,a,a -a,a,c,c,c,a -c,c,a,c,b,b -b,b,a,b,b,b -a,b,a,a,c,a -c,c,a,c,b,b -b,a,a,b,c,a -a,a,a,a,a,a -b,b,a,b,b,b -c,c,a,c,a,b -c,b,a,c,c,a -b,b,a,a,c,a -c,c,a,c,c,a -c,c,b,b,c,a -a,a,c,c,c,a -c,a,a,c,b,b -c,c,a,c,c,a -b,c,b,a,a,a -c,c,a,c,c,a -c,c,a,c,c,b -b,b,a,a,b,b -b,a,a,b,a,a -b,c,b,a,b,a -a,a,a,b,b,a -c,c,a,b,c,a -c,c,b,a,a,b -c,b,c,c,b,b -a,a,a,a,a,b -c,a,a,c,a,a -a,a,a,a,c,b -c,c,a,c,b,b -c,c,b,b,c,a -c,c,a,c,c,a -a,a,a,a,a,a -a,a,b,c,a,b -b,c,b,a,b,b -c,c,c,b,b,b -b,c,a,b,b,b -c,c,b,c,c,a -c,c,a,c,b,a -c,c,a,b,c,a -b,b,a,b,b,b -c,c,c,c,c,a -c,c,a,c,c,a -a,c,a,a,b,b -a,a,a,a,c,b -a,a,a,c,a,b -b,a,b,a,a,a -a,a,b,c,a,a -b,c,a,b,b,b -a,a,b,a,b,b -a,a,b,c,c,b -c,c,a,c,c,a -b,c,a,b,c,a -c,c,a,c,c,a -a,a,a,a,a,a -c,a,a,c,a,a -a,a,a,a,a,b -a,a,a,a,c,b -c,c,a,c,b,b -b,a,a,b,a,b -a,a,b,b,b,a -a,a,a,a,a,a -c,c,b,b,c,a -b,c,a,b,a,b -b,b,a,b,a,a -a,c,c,c,c,a -b,a,a,b,c,b -a,a,a,a,a,b -b,a,b,b,a,a -c,c,a,b,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,a,c,c,b -a,a,a,a,b,a -b,c,a,b,a,a -a,a,a,a,b,b -c,c,a,a,c,a -b,c,b,a,c,b -c,c,b,b,c,a -b,c,a,b,b,b -b,b,a,b,c,a -a,a,a,a,a,a -a,a,a,a,a,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,b,c,a,a -a,a,a,a,a,a -a,a,a,b,b,b -c,a,a,c,b,b -c,c,a,c,c,a -b,a,b,b,b,b -a,a,a,a,a,b -a,a,a,b,a,b -c,c,a,c,c,a -c,c,b,a,c,a -c,c,a,c,b,b -b,a,a,b,a,a -a,a,a,a,a,a -b,b,a,b,b,b -c,c,a,b,c,b -b,a,a,b,b,b -a,a,b,c,a,b -c,c,b,c,b,b -a,b,a,a,b,b -b,b,a,b,c,a -b,a,a,b,a,a -b,a,a,b,a,a -c,c,a,c,b,a -b,c,a,b,c,a -a,a,a,b,b,b -a,c,b,c,b,a -a,a,a,a,a,a -c,c,a,c,c,b -c,c,a,c,b,b -c,b,a,a,c,b -c,c,a,c,b,b -a,a,b,a,a,a -c,c,a,c,a,b -b,c,a,b,a,b -c,b,a,c,a,b -a,a,b,c,a,a -b,b,b,a,b,b -a,a,a,a,a,a -a,c,a,b,c,a -b,c,a,a,c,a -c,c,a,c,c,b -b,b,a,b,c,b -c,c,a,c,c,a -b,b,a,a,c,a -a,a,b,a,c,b -b,c,a,b,c,a -c,c,b,b,c,b -a,a,c,c,a,a -a,a,c,a,a,b -c,c,a,a,c,a -a,a,b,c,a,a -a,a,a,b,b,b -b,c,a,c,b,b -b,b,a,b,c,b -c,c,a,c,c,b -a,a,b,b,b,b -b,a,b,b,a,b -c,c,c,b,c,a -b,c,a,a,c,b -c,b,a,c,a,a -a,a,c,a,a,a -a,a,a,a,a,b -b,a,c,b,a,a -b,b,a,b,c,a -a,a,b,c,a,b -b,c,a,b,c,a -a,a,a,a,a,b -b,a,a,a,b,b -a,a,b,c,c,a -c,c,a,a,a,b -c,a,a,b,a,a -b,a,b,a,a,a -c,c,a,c,b,b -b,c,a,b,b,a -a,a,a,a,a,a -c,c,b,b,b,b -c,c,a,c,c,a -c,c,a,c,c,a -b,c,a,b,a,b -a,a,b,c,b,b -c,a,b,b,a,b -b,a,a,b,b,b -c,c,a,c,c,a -a,c,a,a,c,b -b,a,b,a,b,b -b,a,b,a,a,b -c,c,a,c,b,b -c,c,a,a,b,b -a,c,c,c,b,b -b,b,a,b,a,a -c,c,a,c,c,b -a,a,b,a,a,b -a,a,a,a,a,b -c,c,a,c,b,a -a,a,a,a,c,a -b,a,a,b,a,b -a,a,a,a,a,b -a,c,a,a,a,b -c,c,a,c,b,b -b,c,a,b,c,a -b,a,a,c,c,a -c,c,a,c,a,a -c,c,a,b,c,b -b,c,a,b,c,a -b,c,a,b,c,b -a,c,a,a,a,b -b,b,a,c,a,b -c,b,a,c,a,a -c,b,a,a,b,b -a,b,a,a,c,b -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,a,a,b -c,c,a,c,a,b -a,a,a,a,b,b -b,b,a,b,a,a -b,a,a,b,b,b -b,b,b,a,b,a -a,a,a,c,a,b -b,a,b,a,a,b -b,a,a,b,b,b -b,c,c,b,b,b -b,b,a,b,c,a -c,c,a,a,c,a -c,c,a,c,a,b -b,b,a,b,c,a -a,a,a,a,b,b -b,a,a,b,b,b -c,c,a,a,b,b -a,a,a,a,c,b -a,a,a,a,a,b -b,a,b,a,a,a -b,a,b,a,b,a -a,c,b,c,b,b -c,c,a,c,c,b -b,b,a,b,a,a -b,c,a,a,c,b -c,c,a,c,c,a -b,c,b,a,a,a -a,a,a,a,a,a -a,a,a,c,c,b -a,a,a,a,a,a -c,c,a,c,c,a -b,b,a,a,b,a -c,c,a,c,c,a -b,a,b,a,a,a -c,c,a,c,c,a -c,c,b,b,b,b -a,a,a,c,b,b -b,c,a,b,c,a -c,c,a,c,b,b -a,a,a,a,a,a -c,c,a,a,c,a -c,c,a,c,b,a -a,c,a,a,c,a -b,b,a,b,b,b -c,c,b,b,b,a -b,a,a,b,a,b -a,a,c,a,b,b -c,c,a,c,c,a -c,c,a,c,c,a -a,a,b,c,a,a -c,a,a,c,a,b -b,c,c,a,b,b -a,c,a,a,b,b -c,c,a,b,a,a -c,c,a,b,c,b -c,c,a,b,b,a -b,b,a,b,b,a -a,a,a,a,a,a -a,a,a,a,a,b -b,a,a,b,a,b -b,c,a,b,b,b -a,a,a,c,a,a -b,a,a,b,a,a -a,a,a,a,a,a -c,a,a,a,a,a -b,b,a,b,a,b -a,a,a,b,b,b -c,c,a,c,c,a -a,a,a,b,c,a -a,a,a,a,b,b -c,c,b,a,c,a -a,a,a,a,c,a -c,c,a,c,c,a -c,a,a,c,a,a -a,a,a,a,a,a -b,a,a,b,a,a -c,b,a,c,a,b -b,b,a,b,c,b -a,a,b,c,b,b -a,a,a,a,b,b -b,b,a,b,a,b -b,c,a,b,c,a -a,a,a,a,a,b -c,c,a,c,c,a -a,a,a,a,b,b -b,b,a,b,b,b -a,a,a,a,b,b -b,a,a,c,b,b -b,a,a,b,a,a -b,c,a,b,b,b -b,a,b,a,b,b -a,a,a,a,a,a -c,c,a,c,a,b -c,c,a,c,a,a -b,c,a,b,c,a -b,c,a,b,b,b -c,c,c,b,c,a -a,a,a,a,c,b -c,c,a,c,b,b -a,a,a,a,b,b -a,c,b,c,b,b -a,c,a,a,a,a -c,c,c,b,b,b -a,a,a,a,a,b -c,a,a,a,b,b -c,b,a,c,b,a -c,c,c,c,c,a -c,c,a,c,b,a -b,c,a,b,c,a -c,a,a,c,c,a -a,a,b,c,a,b -c,b,a,a,c,a -a,a,c,c,a,b -a,c,a,b,c,a -a,a,a,a,a,b -a,a,a,a,a,a -b,b,a,b,c,a -c,b,a,c,c,a -a,a,a,a,c,b -c,c,a,c,c,a -a,b,a,a,c,a -a,a,a,a,a,a -a,a,c,c,a,b -c,c,a,c,c,a -c,c,b,b,c,a -b,a,b,a,a,a -c,c,a,c,c,a -a,a,a,a,c,a -c,c,a,c,c,b -c,c,a,c,c,a -c,c,a,c,b,b -c,c,a,c,c,b -a,a,a,a,a,a -b,a,a,b,a,b -a,a,a,a,a,a -c,c,a,b,a,b -c,c,a,c,c,a -b,c,a,c,b,b -a,c,a,c,c,a -a,a,a,a,a,a -b,c,a,b,c,a -c,c,a,c,c,a -c,b,a,c,a,b -c,a,c,b,a,b -c,c,a,b,b,b -a,a,c,b,b,b -c,c,a,c,c,a -c,c,a,c,b,b -a,a,b,a,b,b -a,a,a,c,a,a -b,c,a,b,c,b -c,a,a,c,a,a -a,a,a,a,b,b -a,a,a,a,b,b -c,b,b,b,a,b -b,c,a,c,c,b -a,c,a,a,b,b -c,b,a,c,b,b -b,b,a,b,b,a -a,a,a,b,c,a -b,a,a,b,a,b -c,c,a,c,b,b -c,c,b,c,b,b -a,a,a,a,a,a -a,a,b,c,a,a -a,a,a,b,b,b -c,c,a,c,b,b -c,c,a,c,c,a -b,a,b,a,a,a -a,a,a,a,b,b -a,c,a,c,b,b -c,c,a,c,c,a -c,c,a,c,a,b -c,c,a,c,b,b -b,a,a,b,b,b -c,c,a,c,a,a -b,a,b,a,a,a -a,a,a,a,a,a -b,c,a,b,c,a -c,a,a,c,b,a -b,a,a,b,a,b -a,a,b,c,a,b -c,c,a,c,c,a -b,c,a,a,c,a -a,a,a,a,b,b -c,c,a,b,c,a -c,c,a,c,b,b -b,b,b,b,b,b -c,c,a,b,c,b -a,a,a,a,a,a -c,c,a,c,b,a -b,b,a,b,b,a -b,a,a,b,a,a -b,c,a,b,b,b -c,c,a,c,b,b -b,a,b,a,a,b -b,c,b,a,c,a -a,a,a,a,b,a -b,c,c,a,c,a -b,c,a,b,a,b -c,b,b,c,c,a -a,a,a,a,a,a -a,a,a,a,b,b -c,a,a,c,a,b -b,a,b,a,a,a -c,c,a,c,b,b -b,a,b,a,a,a -b,a,a,b,a,a -c,c,a,c,c,a -a,b,a,a,c,a -c,c,a,a,c,b -c,c,a,c,c,a -a,a,a,a,b,b -a,a,c,b,b,b -c,c,b,b,c,a -a,a,a,a,a,b -b,a,a,b,c,b -b,a,a,b,a,b -a,a,a,a,a,a -c,c,a,c,c,a -c,c,c,b,c,b -c,a,a,c,a,a -c,c,a,b,a,b -a,a,b,c,c,a -c,c,b,b,c,a -b,c,a,b,a,b -b,a,a,b,a,a -a,a,a,a,a,a -b,a,a,c,a,b -b,a,a,c,a,a -c,c,a,c,c,a -a,a,b,c,a,a -b,a,a,c,a,b -c,b,a,b,c,a -b,c,a,b,c,a -a,a,a,a,a,a -c,c,a,b,c,a -b,a,a,b,b,b -c,c,a,c,c,a -a,a,b,c,a,b -c,c,a,c,b,b -c,c,a,c,c,a -c,c,a,c,a,b -b,c,a,b,a,b -a,c,c,b,c,a -c,c,a,c,c,a -b,b,a,b,c,a -b,a,b,a,a,a -a,a,a,a,a,a -a,a,c,a,a,b -a,a,a,a,b,b -c,c,b,b,c,a -c,c,b,b,a,b -a,a,a,a,a,a -c,c,a,c,b,b -b,c,a,b,b,b -a,a,a,a,b,a -b,b,a,b,a,b -c,c,b,b,b,b -b,c,b,a,c,b -b,a,a,b,a,a -a,a,b,c,a,a -b,c,a,a,b,b -a,a,a,a,b,b -a,a,a,a,a,a -b,c,b,a,b,b -a,c,a,a,c,a -b,c,a,b,b,a -a,a,a,a,a,b -a,a,b,c,b,b -c,c,a,c,a,a -a,a,a,a,b,b -b,a,a,c,a,a -c,c,b,a,b,b -c,c,a,c,a,b -a,a,a,a,b,b -a,a,a,a,b,a -a,a,b,a,a,a -a,c,b,b,b,b -b,c,b,a,b,b -b,c,a,b,c,a -c,b,b,b,b,b -b,c,a,b,a,a -c,c,b,b,a,b -b,c,c,a,b,a -a,a,a,a,a,b -a,a,a,a,a,b -c,b,c,c,c,a -b,b,a,a,c,b -a,a,a,a,a,a -a,a,a,a,c,b -c,c,a,a,b,b -a,a,b,c,b,b -b,c,a,b,b,b -c,c,a,c,b,a -c,c,a,c,c,a -b,a,b,a,b,b -a,a,a,c,a,a -b,a,a,b,a,a -a,c,a,a,c,b -a,a,a,a,a,a -b,c,b,a,b,b -c,b,a,c,a,b -c,c,a,c,c,a -c,c,a,c,c,a -c,c,b,a,a,b -c,c,a,c,b,b -a,a,a,a,b,b -c,c,a,b,c,a -a,a,b,a,a,a -c,c,a,c,c,b -c,c,a,c,c,a -c,c,a,c,b,b -c,c,a,c,c,a -a,a,a,a,a,a -c,b,a,c,c,a -a,b,a,a,c,a -c,c,a,c,b,b -b,c,a,b,c,a -b,a,a,b,a,b -b,a,a,b,b,a -c,c,a,b,c,a -b,a,a,b,b,b -b,a,b,a,b,b -b,a,a,a,a,a -a,a,b,c,a,a -c,c,a,c,c,a -a,a,a,a,a,a -c,c,b,a,b,b -b,c,a,b,c,a -b,a,a,b,a,a -a,a,a,a,a,a -a,a,a,a,a,a -b,a,c,c,a,b -b,c,a,b,c,a -c,c,a,c,a,b -b,a,a,b,a,a -c,c,b,c,c,a -c,c,c,b,c,b -c,c,a,c,a,a -a,a,b,c,a,a -b,a,a,b,a,b -c,a,a,c,a,a -a,c,b,a,b,b -b,a,b,a,a,a -b,b,b,c,c,a -c,c,a,c,b,b -a,a,a,a,a,a -c,c,a,c,a,b -b,c,a,b,c,a -a,a,c,a,a,b -b,b,a,b,a,b -c,c,a,a,a,a -a,a,a,a,a,a -c,a,a,c,c,a -c,c,b,c,a,a -a,a,a,a,a,a -a,c,b,b,c,a -a,a,a,a,a,a -a,a,b,c,a,b -b,a,c,a,a,b -c,c,c,c,b,a -b,c,a,b,b,b -c,c,c,b,b,a -c,c,a,c,b,b -c,c,a,c,b,b -c,b,a,c,c,b -c,c,a,c,c,a -a,a,a,a,b,b -c,c,a,c,a,b -a,a,b,c,a,a -c,c,a,b,c,b -b,a,a,c,b,b -b,c,a,b,c,a -c,b,a,c,c,a -a,a,a,a,b,b -b,b,a,b,a,b -a,b,a,a,a,a -b,a,c,c,a,b -c,c,a,a,b,b -b,a,a,c,a,a -b,b,a,b,a,a -b,c,a,c,c,a -b,a,a,b,a,a -b,a,a,b,a,a -b,a,b,b,a,b -b,b,c,b,b,a -b,a,a,b,a,a -b,b,a,b,b,a -a,a,c,b,a,b -b,b,b,a,a,a -c,c,a,b,b,b -c,c,a,c,a,b -a,a,a,b,a,a -c,a,b,c,a,b -b,a,a,a,a,a -b,c,a,a,c,b -c,c,b,b,a,a -b,c,b,a,c,b -b,c,a,a,c,a -b,c,a,b,c,a -c,c,a,c,a,b -c,c,a,c,b,b -c,c,a,c,c,a -b,c,a,b,b,a -b,c,a,b,b,b -a,a,b,b,a,a -a,c,a,a,b,b -c,b,a,c,b,a -c,c,a,c,a,b -b,a,b,a,a,a -b,c,b,a,c,a -b,b,a,b,b,b -a,a,a,a,a,a -b,b,a,c,a,b -c,c,b,c,c,a -c,c,a,c,c,a -c,c,a,c,c,a -c,c,a,c,b,a -b,b,a,b,a,a -a,a,a,a,b,b -b,a,a,c,a,b -c,c,a,a,c,a -a,a,a,a,a,a -b,a,c,a,a,a -a,a,c,a,a,a -a,a,a,a,a,a -c,c,a,a,a,a -c,c,c,b,b,b -b,c,c,b,b,b -a,a,a,b,b,b -a,a,a,a,c,b -b,c,b,a,c,b -a,a,a,a,b,b -c,c,a,c,b,b -b,c,b,a,b,b -a,a,b,c,a,a -c,c,a,c,a,b -a,a,a,a,b,a -c,c,a,c,c,a -a,a,a,a,a,b -b,c,a,b,c,a -b,a,a,b,a,b -b,c,a,b,b,b -c,c,a,b,b,b -c,c,a,b,c,b -a,a,c,c,b,b -b,a,a,b,a,a -b,a,a,c,a,a -c,a,a,c,b,b -a,a,a,a,a,a -b,c,b,a,a,b -a,a,a,a,b,b -b,c,b,a,c,a -c,c,a,c,c,a -c,c,b,c,c,b -c,c,b,c,c,a -a,a,a,a,a,b -c,c,a,a,c,a -a,a,b,c,b,a -c,c,a,c,c,a -a,c,b,c,b,b -a,a,b,c,a,a -b,a,a,b,b,b -c,c,a,c,b,b -c,c,b,c,c,a -a,a,a,a,a,b -b,c,a,a,c,a -a,a,a,a,b,b -c,c,b,b,a,a -c,c,a,c,b,b -a,c,a,a,b,b -a,a,b,c,b,b -a,c,a,a,c,a -c,c,a,c,c,a -a,a,a,b,a,a -b,a,a,b,a,a -b,b,a,b,c,a -b,a,b,a,a,a -a,a,b,c,a,a -a,a,a,a,a,a -b,b,a,b,b,b -a,a,a,c,b,a -b,a,a,a,a,a -c,c,b,b,a,b -c,c,a,c,b,b -c,b,a,b,c,a -c,c,c,c,c,a -b,c,a,c,c,b -c,c,a,c,b,a -b,a,a,b,b,b -b,a,a,c,b,b -b,a,b,a,b,b -b,b,a,b,b,a -a,c,a,a,c,a -b,a,a,b,a,b -b,b,a,b,b,a -a,a,b,a,b,b -a,a,a,a,c,a -b,c,a,c,c,a -b,c,c,c,c,b -a,a,b,c,a,a -c,c,a,a,c,a -b,a,a,b,a,a -b,c,a,b,c,a -c,c,a,a,a,b -c,c,b,c,a,b -c,b,b,a,b,b -c,c,a,c,b,b -c,a,a,c,a,b -b,c,a,b,a,b -c,a,a,b,b,b -a,a,a,a,b,b -c,a,a,c,a,b -b,b,a,b,a,b -c,c,a,c,b,b -b,a,a,c,a,a -a,a,a,a,b,b -b,c,a,c,b,b -a,a,a,a,a,b -b,b,a,b,c,a -a,c,c,b,c,a -a,a,a,a,a,b -a,b,a,a,b,b -c,c,a,c,c,a -b,b,a,b,c,b -c,c,a,c,c,a -c,c,a,c,a,b -c,b,a,c,a,b -a,a,b,c,a,a -a,a,a,a,b,b -c,c,b,b,c,b -c,c,a,c,c,a -b,b,a,b,c,a -c,a,b,b,a,a -b,b,a,c,c,a -b,a,a,b,a,a -a,a,a,a,c,b -a,a,a,b,a,a -b,c,a,b,b,b -a,a,c,b,a,b -a,a,a,a,a,a -b,b,a,b,c,a -c,c,a,a,c,b -b,c,a,c,c,a -b,b,a,b,c,b -a,a,b,c,a,a -a,a,a,a,a,a -c,c,a,c,c,b -a,a,a,a,c,b -c,c,a,c,c,b -b,a,a,b,a,a -b,a,a,c,a,a -a,a,a,a,c,b -c,c,a,a,c,a -a,a,a,a,a,a -b,a,a,b,a,a -b,b,a,b,c,a -a,a,a,a,a,b -c,c,a,c,b,b -a,a,a,a,a,b -a,a,a,b,b,b -a,a,a,a,a,b -b,a,a,c,a,a -a,a,b,a,b,a -b,a,a,b,b,a -a,a,b,c,a,b -c,c,a,c,b,a -b,a,a,b,b,b -c,c,a,c,c,a -a,a,a,a,a,b -a,c,a,c,b,b -b,c,a,c,a,b -a,a,a,a,a,b -a,a,a,c,b,b -b,a,a,b,a,a -b,a,a,b,a,b -b,c,a,b,c,a -a,a,a,a,a,a -c,a,a,b,a,a -b,a,b,a,a,a -c,a,a,c,a,b -c,c,a,c,a,a -b,b,a,b,c,a -a,a,a,a,c,a -a,a,a,b,a,a -b,b,a,a,c,a -b,c,b,b,b,b -b,a,a,b,b,b -c,a,a,c,b,a -b,c,b,a,b,b -c,c,b,b,a,a -c,c,b,a,b,b -a,a,a,b,b,b -a,a,a,a,b,b -c,b,a,c,c,a -b,c,b,a,c,a -a,a,a,a,a,a -c,a,a,c,b,a -c,c,a,c,c,a -b,a,b,a,b,a -a,c,a,b,c,b -b,b,a,b,b,a -b,c,a,a,b,a -c,c,b,a,b,a -b,a,a,b,b,a -a,a,b,c,b,b -b,a,b,a,a,b -a,a,a,a,a,a -a,a,a,a,a,a -a,a,c,c,b,b -b,c,b,a,c,a -a,a,b,b,b,b -b,b,b,a,b,b -c,c,b,b,c,a -b,a,a,b,a,a -b,a,b,a,b,b -a,c,a,a,c,b -b,c,a,b,c,a -b,a,a,b,a,a -b,c,a,a,c,a -b,a,b,a,c,a -b,c,a,a,c,a -c,c,a,a,c,a -c,c,a,c,c,a -b,a,a,b,a,b -b,a,a,b,a,a -c,b,a,c,a,a -a,a,a,c,a,a -a,a,a,a,b,a -c,c,a,c,c,a -b,a,b,b,a,a -b,c,a,b,c,a -a,a,b,b,a,a -b,a,a,b,b,b -c,c,b,b,c,a -b,b,a,b,c,b -b,c,b,b,c,a -a,a,a,b,a,b -b,a,b,a,b,a -a,a,a,a,c,a -b,c,b,a,b,b -b,c,a,b,b,b -a,a,a,a,a,b -a,c,a,a,c,a -b,c,a,a,b,b -b,c,a,b,c,a -b,a,a,b,a,a -c,c,a,c,b,a -c,c,a,c,c,b -a,a,c,c,c,a -c,a,a,c,a,a -c,c,c,b,c,a -a,a,a,a,b,b -a,c,a,a,b,b -c,c,b,b,c,b -c,c,a,c,c,a -b,b,a,a,a,b -b,b,b,a,a,b -a,a,a,a,a,a -c,c,c,a,c,a -b,a,b,a,a,a -a,a,b,b,b,a -b,a,a,b,a,a -b,c,a,b,c,a -c,c,a,c,c,a -c,c,a,c,c,a -b,b,a,a,b,a -c,c,a,c,c,a -c,c,a,c,b,b -a,a,b,c,a,a -b,a,a,b,b,b -b,a,a,b,a,b -c,b,a,c,b,b -c,c,a,c,c,a -c,c,a,c,b,a -b,a,a,b,c,a -a,a,a,a,c,a -b,b,a,b,c,b -c,a,a,c,b,b -b,a,b,a,b,b -c,b,a,b,c,b -a,a,b,c,c,a -c,c,b,a,a,b -b,c,a,b,a,a -b,a,a,b,c,b -b,c,b,a,b,a -b,b,a,b,c,a -c,c,a,c,b,b -c,c,a,c,a,b -a,a,a,b,b,b -a,a,a,a,b,b -c,c,a,c,c,b -c,c,a,b,c,a -a,a,b,c,a,a -a,a,b,c,a,a -b,b,a,b,c,b -b,c,a,b,b,b -c,a,b,b,a,a -a,a,a,a,c,b -c,c,a,b,c,a -b,a,a,b,b,a -b,a,b,c,a,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,a,a,b,a -b,a,a,c,b,a -b,a,a,c,a,b -c,c,a,c,a,a -a,a,a,a,c,a -b,c,a,b,b,b -b,b,a,b,c,a -a,a,a,c,a,a -b,a,c,b,a,b -c,a,a,c,b,b -c,b,a,c,b,a -c,c,b,a,b,b -a,a,a,a,a,b -a,a,c,c,b,a -a,b,a,c,a,b -c,c,b,a,c,a -c,a,a,c,b,b -a,a,a,a,a,b -b,c,a,a,b,a -b,c,b,a,b,a -a,a,a,a,a,b -a,a,a,a,a,a -b,b,a,b,a,a -b,b,a,b,c,b -b,b,a,b,c,a -c,a,a,a,c,b -a,a,a,a,b,b -a,a,a,a,a,a -c,c,a,c,c,b -b,a,a,b,a,a -c,c,a,c,c,a -a,a,b,a,a,b -a,a,c,c,a,b -a,a,a,c,a,a -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,c,a,a -a,a,a,a,a,a -c,c,b,c,b,b -a,c,a,a,b,a -a,a,a,a,a,a -a,a,a,a,a,b -a,a,a,a,b,b -a,a,b,c,a,a -b,a,a,b,c,a -c,c,a,c,b,b -c,c,b,b,c,b -a,a,a,a,a,b -b,c,b,a,a,b -a,c,b,c,a,a -b,a,a,b,a,a -b,a,a,b,b,b -b,a,b,a,a,a -c,c,b,c,b,b -b,a,a,b,a,a -c,a,a,c,a,a -a,a,a,b,a,a -b,b,a,a,b,b -a,a,a,c,a,a -a,c,a,a,b,b -c,c,a,c,b,b -c,c,b,a,c,a -a,a,a,a,c,a -a,a,b,a,b,b -c,c,a,b,b,b -b,b,a,a,a,b -b,c,a,b,a,b -b,a,b,a,a,b -b,b,a,b,c,a -c,c,a,c,b,b -b,b,a,b,c,b -b,a,a,b,a,a -b,a,a,b,b,b -c,b,a,c,c,a -a,a,a,a,a,a -c,c,c,c,b,a -c,c,b,b,c,a -c,c,a,c,c,a -a,a,a,a,b,b -b,c,b,a,c,a -b,a,a,a,b,a -a,a,b,c,c,b -a,a,a,a,b,b -c,a,a,c,a,a -c,c,a,c,c,a -b,b,a,c,a,b -c,c,a,c,c,b -a,a,a,a,a,a -b,a,b,a,a,a -b,a,a,b,a,a -c,b,b,c,c,b -c,c,a,c,c,a -b,a,a,b,a,a -a,a,a,b,a,a -b,a,b,a,c,b -a,a,a,c,a,b -a,c,a,a,c,a -b,b,a,a,b,b -a,b,a,a,c,b -b,a,a,b,a,b -c,c,b,b,c,a -b,a,a,b,b,b -b,b,a,b,c,a -a,a,a,a,c,a -a,a,a,a,a,a -b,a,b,a,b,b -a,a,a,a,c,a -b,a,a,a,a,a -a,a,b,c,b,b -c,c,c,c,c,a -a,a,a,a,a,a -a,a,b,c,a,a -b,a,b,a,a,b -b,c,b,a,c,b -a,a,a,a,a,a -c,c,a,b,c,a -a,a,a,b,a,b -c,c,b,b,c,a -c,c,c,c,c,a -c,c,c,b,c,b -c,c,a,c,c,a -b,c,a,b,c,a -a,c,a,a,c,a -b,a,c,b,a,a -c,c,a,c,b,b -c,c,b,b,c,a -a,a,a,a,a,a -b,b,b,a,c,a -c,c,a,c,a,a -a,a,c,a,c,a -b,a,a,b,a,a -c,c,a,c,c,b -b,a,a,b,a,a -a,a,a,a,a,a -b,c,a,b,a,b -b,c,a,b,b,b -b,a,a,b,a,a -b,a,a,b,a,b -b,b,a,b,a,b -a,a,a,a,a,b -c,b,a,c,c,a -c,c,b,c,c,a -b,b,b,b,b,b -c,c,a,c,a,b -b,a,a,b,a,a -b,a,a,b,b,b -a,a,a,b,a,a -b,b,a,b,c,b -a,a,a,a,a,a -c,c,a,c,a,a -c,a,b,a,a,a -b,b,a,b,c,a -a,a,a,c,a,a -b,b,a,b,b,b -b,c,b,a,c,a -c,b,a,c,c,a -b,c,a,b,b,b -b,a,a,b,a,a -c,c,a,c,a,a -b,a,b,a,b,b -a,a,a,c,b,a -a,a,a,a,a,a -b,c,a,a,c,a -b,a,a,b,a,a -c,c,a,c,c,a -b,c,b,a,a,b -a,a,a,a,a,a -c,c,b,b,b,a -c,a,a,c,b,b -c,c,a,b,b,b -a,a,a,a,a,a -a,a,b,c,a,a -b,a,a,b,a,a -a,a,a,a,a,a -b,c,a,a,b,b -a,a,b,c,b,a -a,a,a,a,c,a -c,c,a,c,c,a -b,c,a,b,b,b -b,c,a,b,b,b -c,c,b,a,b,b -b,a,c,c,a,a -c,c,c,c,b,b -a,a,a,c,a,a -c,c,b,b,c,b -a,c,c,c,c,a -a,a,b,a,b,b -b,a,a,b,a,a -b,c,a,b,c,b -a,a,c,a,a,a -c,c,a,c,b,b -c,a,a,c,c,b -c,c,b,a,c,b -b,a,b,c,c,a -c,c,a,c,b,b -b,b,a,c,c,a -b,c,b,a,a,b -c,c,a,c,b,b -c,c,a,b,a,a -c,a,a,b,b,b -c,b,b,a,b,b -a,a,a,a,b,b -c,c,b,b,a,b -a,a,a,a,a,a -a,a,a,b,a,a -a,c,a,a,c,a -a,b,a,a,c,a -c,b,a,c,a,a -b,b,a,b,a,b -c,c,a,c,c,a -c,c,b,c,b,b -a,a,b,c,b,b -a,c,b,c,c,a -b,a,a,b,b,b -b,a,a,a,a,a -c,c,a,b,b,b -b,c,c,b,c,b -a,a,b,c,a,b -b,a,a,b,a,a -a,a,a,c,a,a -c,c,a,c,a,b -a,a,a,a,b,b -c,c,b,a,c,a -b,a,c,a,c,b -b,a,a,a,a,a -a,a,a,a,a,b -a,a,a,a,b,b -b,b,a,b,a,a -a,a,a,a,a,b -c,c,b,b,c,a -c,c,a,a,b,b -b,c,a,b,a,a -c,c,a,c,b,a -b,b,a,b,b,b -b,a,b,a,a,a -a,a,a,c,a,a -a,c,a,a,a,b -b,c,a,b,a,b -a,a,a,a,a,b -b,b,a,c,b,b -a,a,b,c,a,a -c,c,a,c,a,a -c,c,a,c,a,b -c,a,a,c,a,a -b,c,b,a,b,b -a,a,b,a,b,b -a,a,a,a,a,b -a,c,a,a,a,b -c,c,b,a,b,b -b,c,a,c,c,a -a,a,a,a,a,a -c,c,a,c,c,a -c,c,c,b,c,a -b,c,a,b,c,a -c,c,a,c,c,a -c,a,a,c,a,a -c,c,a,c,b,b -b,c,a,b,a,b -b,a,b,a,a,a -b,c,a,b,b,b -b,c,a,b,b,b -b,b,a,b,c,b -c,c,a,c,b,b -b,c,a,b,a,b -c,c,a,b,b,b -a,c,a,a,b,b -c,c,b,b,c,a -a,c,a,b,a,b -c,c,a,a,a,b -a,a,a,a,b,b -c,c,a,c,c,a -a,a,a,a,b,b -b,a,b,b,a,a -b,a,b,a,a,a -b,b,b,a,b,b -c,a,a,c,a,a -a,a,a,a,a,a -a,a,b,c,a,b -a,a,a,a,c,a -c,c,a,c,a,b -c,c,a,c,b,a -b,b,a,b,a,b -b,b,a,b,b,b -c,c,a,b,c,a -c,c,a,c,c,a -b,a,a,b,a,a -c,c,b,c,c,a -b,a,a,b,a,a -c,c,a,b,b,a -c,c,a,c,c,b -a,a,a,a,c,b -a,a,b,c,a,a -c,c,c,c,a,a -b,a,b,a,b,b -c,c,a,c,c,a -b,a,b,a,c,b -b,c,a,b,b,b -b,a,a,b,b,a -a,a,a,c,a,a -a,a,a,a,a,a -a,a,b,c,a,a -c,a,a,c,a,a -a,c,a,b,c,b -a,a,a,a,a,b -c,c,a,c,a,a -c,c,a,a,c,a -c,c,a,c,c,b -b,c,a,b,c,a -c,b,a,c,c,a -c,c,a,a,c,a -b,a,a,b,b,b -a,a,c,c,a,a -a,a,a,a,a,a -c,c,a,c,b,b -b,c,a,c,c,b -b,a,a,b,a,a -b,c,a,b,b,b -b,a,a,b,a,a -a,c,a,a,b,b -b,c,a,b,b,b -c,c,a,c,c,b -a,a,a,a,a,a -c,c,a,c,b,b -c,a,b,b,a,b -b,b,b,c,b,b -a,a,a,a,a,a -b,a,a,b,b,b -c,c,a,c,c,a -a,c,a,a,c,b -a,c,b,c,b,b -a,a,b,c,a,a -a,a,a,b,b,b -a,c,a,b,c,a -b,a,a,b,a,a -b,a,b,a,a,b -b,a,a,b,a,a -b,c,a,b,c,a -a,a,a,a,a,a -a,c,a,a,c,b -b,a,c,c,b,b -a,a,a,a,a,a -b,b,a,b,b,b -c,c,a,a,c,b -b,a,a,a,c,a -c,c,a,a,b,a -a,a,a,c,c,b -a,c,a,a,c,a -a,a,a,a,b,b -b,b,a,b,a,b -b,a,a,b,a,b -b,c,a,b,c,a -a,a,a,c,a,a -a,c,a,a,b,b -a,c,a,a,b,b -b,a,a,c,a,a -a,a,c,a,c,a -b,c,a,b,c,a -a,a,c,b,a,a -a,a,a,b,a,b -a,a,a,a,b,b -c,b,a,c,b,a -c,b,a,c,b,a -b,a,b,a,a,a -b,a,a,b,c,b -a,a,a,a,a,a -b,b,a,b,c,b -a,a,a,c,a,a -b,b,a,b,c,a -c,c,a,c,c,b -b,b,a,b,a,b -b,a,a,b,a,a -b,c,a,c,c,a -c,c,a,c,a,b -b,b,b,a,c,a -a,a,a,b,a,a -a,a,a,a,a,b -a,a,a,c,a,b -c,c,a,c,c,a -b,a,b,a,c,a -a,a,c,c,a,b -b,b,a,b,a,b -a,a,a,a,c,a -a,c,c,c,b,b -b,a,a,b,b,b -c,b,a,c,a,a -b,b,b,a,c,a -b,a,a,b,a,b -b,c,a,b,b,a -c,a,c,c,a,b -b,c,a,a,a,a -a,a,b,c,b,b -c,a,a,c,c,b -b,a,a,b,a,a -a,a,a,a,b,a -b,a,a,b,a,b -b,a,b,a,a,a -c,c,a,b,b,a -a,a,b,c,a,a -b,b,c,c,c,a -c,c,a,c,b,b -a,a,a,a,a,b -c,c,b,b,c,b -b,b,b,a,c,a -c,a,a,c,b,b -c,b,b,b,b,b -b,c,a,b,b,b -b,a,b,a,a,a -b,a,a,b,a,a -c,c,a,a,b,a -a,a,a,a,a,b -a,a,b,b,a,a -a,a,a,a,a,a -c,c,a,c,a,a -c,c,b,b,b,b -b,b,a,c,b,b -b,b,a,b,a,a -c,c,c,b,c,a -c,c,b,b,a,a -b,a,a,c,c,b -c,c,a,c,b,b -b,a,a,b,a,b -c,c,b,a,c,a -a,a,a,a,a,a -c,c,a,c,c,a -a,c,a,a,b,b -b,c,a,b,a,a -b,b,a,b,b,b -c,b,a,c,c,a -a,a,b,c,a,b -b,c,a,b,b,b -b,b,b,a,b,b -c,c,a,c,b,b -b,a,a,b,b,b -a,a,b,c,b,b -a,a,a,c,b,b -a,c,a,a,c,a -c,c,b,b,c,a -c,c,a,c,c,a -a,a,a,a,a,a -b,a,a,b,a,b -c,a,a,c,c,a -b,a,b,a,b,b -b,b,a,c,b,b -c,b,a,c,a,b -c,a,a,c,b,a -c,c,a,c,b,a -a,a,a,a,a,b -c,c,b,a,a,b -a,a,b,c,b,b -a,c,a,a,b,b -b,c,a,b,c,a -b,c,a,b,c,a -c,c,b,b,c,a -a,c,a,a,c,a -a,a,a,a,c,a -b,c,a,b,c,a -b,a,a,b,c,b -c,c,a,c,a,b -b,a,b,a,a,b -a,a,b,a,a,b -a,a,a,a,c,b -a,a,a,a,a,b -b,b,b,a,b,b -a,a,b,c,a,a -c,b,b,c,c,b -c,c,b,b,c,a -a,a,a,a,c,b -c,c,a,b,c,a -a,c,a,a,c,a -a,a,a,a,b,b -b,a,a,b,a,a -b,a,a,b,a,a -a,a,a,a,b,b -a,a,a,a,a,a -a,a,a,a,a,b -a,a,a,c,b,b -b,a,b,a,a,a -b,c,a,b,b,b -c,c,a,a,c,a -a,a,b,a,a,a -a,a,a,a,b,b -a,a,a,a,a,a -a,a,a,a,b,a -a,a,a,a,b,b -b,b,a,b,c,a -a,a,a,a,b,b -b,b,a,b,b,a -c,c,b,b,a,a -a,a,a,a,a,a -b,a,c,a,a,b -b,a,a,c,a,a -b,a,a,b,a,a -b,a,a,b,b,b -b,c,b,c,c,a -b,c,b,a,c,a -b,a,a,b,c,a -c,c,a,a,a,a -b,a,a,b,a,b -a,a,b,c,c,a -c,b,a,c,a,b -b,a,a,b,b,b -b,b,a,b,b,b -c,c,a,b,c,a -a,a,a,a,b,b -c,c,b,c,a,b -a,a,a,a,a,b -b,b,b,a,b,b -b,c,b,c,b,b -c,c,a,a,c,a -b,c,b,a,c,a -c,c,a,c,c,a -b,c,a,b,c,b -a,c,a,a,c,a -a,a,a,a,a,a -a,a,a,a,a,a -a,a,a,a,a,a -c,c,a,c,b,a -a,a,b,a,b,b -c,b,c,c,c,b -b,a,b,a,a,a -b,b,a,b,a,b -a,a,b,c,b,b -a,a,a,a,a,b -c,c,a,c,b,a -b,b,b,a,b,b -c,c,a,c,b,b -b,a,b,a,a,a -b,b,b,a,c,b -c,c,a,c,a,b -a,a,a,a,b,b -b,c,a,b,c,a -c,c,b,a,c,a -b,a,a,b,a,b -a,a,a,c,a,a -c,c,b,c,c,b -b,a,a,b,a,b -c,c,a,c,c,a -b,c,a,a,c,a -b,c,a,b,b,a -c,b,a,c,c,b -b,a,a,b,b,b -b,c,a,c,b,b -b,a,a,b,b,b -a,a,a,c,a,b -a,a,a,a,a,a -c,c,b,c,c,a -a,c,b,c,c,a -b,c,a,b,b,b -b,b,b,a,c,a -a,a,a,a,a,a -a,c,a,a,c,b -b,a,a,b,a,a -a,a,a,a,a,a -c,c,c,a,c,a -a,a,a,a,a,a -b,c,a,b,a,b -b,a,a,b,a,a -b,b,a,b,c,a -a,a,a,a,a,a -b,a,a,b,a,a -a,a,b,c,c,b -b,c,a,b,c,b -c,c,a,c,c,a -b,a,a,a,a,a -b,c,a,a,c,b -b,b,a,b,a,b -c,c,a,c,b,a -b,a,a,a,a,b -c,b,c,b,b,b -b,c,a,b,a,a -b,b,a,c,c,a -a,b,a,a,b,b -a,a,a,b,b,b -b,a,a,b,a,a -b,a,c,b,c,b -a,a,a,a,a,a -b,a,a,b,a,a -a,a,b,a,b,b -a,a,a,a,a,a -c,a,b,a,a,a -c,c,a,c,a,b -a,a,a,a,c,b -a,a,b,c,a,b -b,a,a,b,c,b -b,b,a,b,a,b -a,c,a,a,b,b -c,c,b,c,c,a -c,b,a,c,a,b -a,a,b,b,a,a -b,c,b,c,c,a -c,c,a,c,c,a -c,c,a,c,c,a -c,b,b,c,b,a -b,c,a,b,c,b -c,c,a,c,c,a -b,c,a,b,a,b -a,a,a,a,b,b -c,c,a,c,c,b -a,a,a,a,a,b -a,a,b,c,b,a -a,a,a,a,b,b -b,c,a,b,a,b -c,a,a,a,c,b -a,a,b,b,a,b -b,a,a,b,b,b -b,b,a,a,a,a -b,b,a,b,b,b -b,b,b,a,c,b -a,a,a,a,a,a -c,a,a,b,b,b -c,a,b,a,b,b -c,c,a,c,b,b -c,b,b,b,c,a -b,c,a,a,b,b -b,b,a,b,c,a -b,c,a,c,a,b -c,c,a,c,a,a -b,c,b,a,c,b -b,c,a,b,c,b -b,a,c,c,a,b -b,b,a,b,a,a -a,a,b,c,b,b -c,c,a,c,b,b -c,b,a,c,b,a -a,a,b,c,a,b -a,a,a,b,b,b -a,a,a,c,c,b -b,a,a,c,a,a -b,c,a,c,b,b -a,a,a,a,b,b -b,a,a,b,a,a -a,a,a,a,a,b -a,a,b,c,b,b -a,a,a,a,b,b -a,a,a,a,c,a -b,c,c,a,c,b -a,a,a,a,a,b -b,a,a,b,c,b -a,a,b,c,a,a -c,a,a,c,b,b -c,c,a,c,c,a -b,a,a,b,a,b -a,a,a,a,b,b -b,c,a,b,c,a -c,c,a,c,b,b -c,c,a,c,b,b -c,c,a,c,b,b -c,a,a,c,a,a -a,a,a,a,c,b -b,b,b,a,b,a -a,a,a,a,a,b -b,a,a,b,c,b -c,c,a,c,a,b -a,a,a,b,a,a -c,c,a,c,b,b -a,c,a,a,c,b -b,a,a,b,a,a -b,a,a,b,c,b -a,a,a,a,a,a -b,c,a,c,b,b -b,b,a,a,a,b -c,c,a,c,a,b -c,c,a,c,c,b -c,c,b,a,c,b -b,c,a,b,b,b -c,c,a,c,c,b -b,a,b,b,a,a -a,c,a,a,c,a -c,b,b,a,c,a -b,a,a,c,a,b -c,c,a,a,c,b -a,a,a,a,b,a -c,c,a,c,c,a -a,a,a,c,b,b -a,a,a,a,a,a -c,c,a,c,a,b -b,c,a,b,b,b -a,a,a,a,a,a -c,c,a,a,b,b -b,b,a,c,b,b -c,b,a,c,a,b -c,c,a,c,c,a -b,a,a,b,b,b -a,a,c,b,b,b -c,c,a,b,a,b -b,c,b,a,a,b -c,c,a,c,a,b -c,c,a,c,a,b -c,c,b,a,b,b -a,a,b,b,a,a -b,a,a,b,b,b -a,a,a,b,a,a -b,c,b,a,b,b -b,a,c,b,b,a -c,c,a,a,b,b -c,c,a,c,a,a -a,a,a,a,a,a -c,c,a,b,c,a -a,a,a,b,a,a -c,c,a,c,b,a -a,a,a,b,a,a -b,b,b,a,c,b -b,a,a,b,a,a -c,a,a,c,b,b -a,a,a,c,b,b -c,c,a,b,b,b -b,a,b,a,a,b -c,c,a,a,c,a -a,c,a,a,a,b -c,c,a,c,a,a -b,b,c,c,c,b -c,a,a,c,c,a -c,c,a,c,c,a -b,c,a,a,b,b -b,c,c,a,c,a -c,c,a,a,a,b -b,a,a,b,b,b -b,a,c,c,b,b -b,c,a,c,b,b -a,a,a,a,a,b -a,a,a,c,b,b -c,c,a,c,b,b -c,b,a,c,c,a -b,c,b,a,b,b -b,c,a,b,c,b -a,a,a,a,b,a -b,c,a,b,c,a -b,c,b,a,a,a -b,c,a,b,c,a -c,c,a,c,c,a -a,a,a,a,b,b -c,c,a,c,b,b -b,b,a,b,c,a -b,b,a,b,b,b -a,c,a,a,c,a -a,a,b,b,a,b -a,a,b,b,a,a -c,b,a,c,a,b -a,a,c,a,a,a -a,c,a,a,b,a -a,a,a,a,a,a -b,a,a,b,a,b -a,b,a,a,b,b -c,c,a,a,a,a -a,a,b,c,a,a -a,a,a,a,a,b -c,c,a,c,c,b -b,c,a,b,c,a -a,a,a,c,a,a -a,a,a,a,c,b -a,a,a,a,a,a -a,a,a,b,a,a -c,c,a,c,c,b -c,b,a,c,c,a -c,c,a,a,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,c,a,a,c,a -a,c,a,a,c,a -b,b,a,c,b,a -b,b,a,a,c,a -a,a,a,b,b,b -c,c,a,c,b,b -a,a,b,c,a,b -a,a,b,c,b,b -b,a,a,b,a,a -c,c,a,c,b,a -c,c,a,a,a,b -a,c,a,a,b,b -a,a,b,a,b,a -b,b,b,a,c,b -c,c,a,c,a,b -a,a,b,a,a,a -b,c,c,b,a,b -a,a,a,a,c,b -b,a,a,b,b,b -b,c,a,b,c,b -b,a,a,b,b,a -c,c,a,a,b,b -c,c,b,b,a,b -a,a,b,c,b,b -a,c,a,a,a,a -b,c,a,b,c,a -b,a,a,b,a,a -b,c,a,b,c,a -a,a,a,a,c,a -a,a,b,c,a,b -c,c,a,c,b,a -a,a,a,a,a,a -b,b,a,b,c,a -a,a,a,a,a,a -c,c,b,a,c,a -c,c,a,c,a,a -b,b,b,a,a,b -a,a,b,c,b,b -c,c,b,b,c,a -c,a,a,c,a,b -a,a,a,b,b,a -a,a,a,a,b,b -b,a,b,a,a,a -b,a,a,b,b,b -c,c,a,c,b,b -b,b,a,c,a,b -a,c,a,a,b,b -c,b,a,c,c,b -c,c,a,c,b,b -c,c,a,c,c,a -a,a,a,a,a,b -a,a,b,a,a,b -c,c,a,c,c,b -c,c,a,c,b,b -b,b,a,b,a,b -a,a,a,a,c,b -b,a,a,b,a,a -a,a,a,a,c,a -a,a,b,c,a,b -a,a,a,a,b,b -c,c,a,c,b,b -a,a,a,a,b,b -b,a,b,a,a,b -c,c,b,a,a,a -c,c,a,a,b,a -b,a,a,b,a,a -a,a,a,a,c,b -c,c,a,c,c,a -c,c,a,b,b,b -b,b,b,a,b,a -c,c,c,b,c,a -b,a,a,b,a,a -b,c,a,b,a,b -a,a,a,a,a,a -b,c,c,b,c,b -a,a,b,c,a,a -c,a,a,c,a,b -a,a,a,a,a,a -b,c,c,b,c,b -a,b,a,b,c,a -a,a,a,a,b,b -c,c,b,a,b,a -a,a,a,b,a,a -c,c,a,a,b,b -a,a,c,a,b,b -b,a,a,b,a,a -b,c,a,b,b,b -a,a,b,c,b,b -b,b,a,b,b,b -c,c,a,c,c,b -b,c,a,b,c,a -c,c,a,c,c,b -a,a,a,a,a,b -a,a,a,b,b,b -a,a,a,a,a,a -c,c,a,a,b,b -c,a,a,c,a,a -c,c,b,c,c,a -c,c,a,b,a,a -c,c,a,c,a,b -c,c,a,c,c,b -b,c,a,b,c,b -a,a,a,c,a,a -b,a,a,b,b,b -c,c,a,c,c,a -c,c,a,c,b,a -c,c,b,c,b,b -c,c,a,c,c,b -c,c,a,c,b,b -b,a,a,b,b,b -b,b,b,a,b,a -c,c,b,b,c,a -b,b,a,b,c,a -b,c,a,b,b,b -a,a,b,c,b,b -a,a,a,a,a,b -a,a,b,c,a,b -a,a,a,a,b,b -b,c,a,b,a,b -c,c,a,c,a,b -c,c,a,c,b,b -c,c,b,b,c,a -b,a,a,c,a,a -a,a,a,a,a,b -a,a,c,c,a,b -a,a,b,c,a,a -a,a,c,c,b,b -c,c,b,b,b,b -c,c,c,c,b,b -a,c,a,a,c,a -b,a,b,a,a,b -c,c,a,c,c,a -b,a,a,b,c,b -a,a,a,a,a,b -b,a,a,b,a,a -a,c,b,c,b,b -b,c,b,a,c,a -c,c,b,b,b,a -b,c,a,b,c,b -a,a,a,c,b,b -c,c,a,c,b,b -b,a,a,c,c,a -a,a,a,a,a,a -c,c,b,b,c,b -a,c,a,c,c,a -c,a,a,a,a,a -a,a,a,a,b,b -c,c,a,c,a,b -c,c,b,b,c,a -a,a,a,a,a,a -a,a,a,a,b,b -b,c,a,b,b,b -c,c,a,c,c,a -a,c,a,a,a,a -c,c,a,c,c,a -a,a,b,c,a,b -c,a,b,c,b,a -b,c,b,a,b,b -a,a,a,a,a,a -b,b,b,a,a,a -a,a,a,a,a,a -b,c,b,a,c,a -a,a,a,a,a,a -c,c,a,a,a,b -b,b,a,b,c,b -b,c,a,b,c,a -c,c,a,c,c,a -b,c,a,b,a,b -b,c,b,a,c,a -a,c,a,c,c,a -c,c,b,b,c,a -c,b,a,c,b,a -a,a,a,a,a,b -c,c,a,c,b,a -b,c,a,b,c,a -c,c,a,b,c,a -b,a,a,b,b,b -b,a,a,b,a,a -c,c,a,c,c,b -c,c,a,b,c,a -b,c,b,a,c,a -c,c,b,c,b,b -b,a,a,b,a,a -a,a,c,a,a,a -c,c,a,c,a,b -c,c,c,b,c,a -b,c,a,b,a,a -c,c,a,c,b,b -a,a,a,a,a,b -b,c,c,a,b,b -a,c,a,a,a,b -b,a,a,b,b,b -a,a,c,a,b,b -a,a,a,a,a,a -b,c,a,a,c,a -b,b,a,b,c,a -a,a,a,a,a,a -a,b,b,c,c,b -b,a,b,a,a,b -a,a,a,a,a,b -b,a,c,a,a,a -a,a,a,a,a,a -b,a,a,b,c,b -c,c,a,a,b,a -a,a,b,b,c,b -a,a,a,a,a,a -b,a,a,b,b,b -c,c,a,c,c,a -b,a,a,b,c,b -a,a,a,a,a,a -c,c,b,c,c,a -c,c,a,c,b,b -c,c,a,c,c,a -a,c,a,a,a,b -a,a,a,a,a,b -b,c,a,b,c,b -b,a,a,b,a,b -b,c,b,a,b,b -b,a,a,c,b,a -b,a,a,b,b,a -c,c,a,c,b,b -a,a,a,a,a,a -c,b,a,b,a,b -b,c,a,b,b,b -a,a,a,a,b,b -b,a,c,c,b,b -c,c,a,c,a,b -a,a,b,c,b,b -b,a,c,b,b,b -c,c,a,b,a,b -a,a,a,c,b,b -a,a,a,a,a,a -c,c,a,c,a,b -b,a,a,b,a,a -b,c,a,b,c,a -c,a,a,a,b,b -c,c,c,b,c,a -c,a,a,c,a,a -b,c,a,b,b,b -c,c,a,a,c,b -a,a,a,a,a,a -b,b,c,c,a,b -a,c,a,a,b,b -a,a,a,a,a,a -a,a,b,c,c,b -b,c,a,b,c,a -b,c,b,a,a,b -c,b,a,c,b,b -b,a,a,b,a,b -c,c,a,c,c,a -c,c,b,b,b,b -a,a,a,a,a,a -c,c,b,b,b,b -b,c,b,a,c,a -b,c,b,a,c,a -b,a,a,b,b,b -b,a,a,b,c,a -b,b,a,b,c,a -a,a,a,a,b,b -c,a,b,a,a,a -c,c,a,a,c,a -c,b,a,c,c,b -a,a,a,b,b,b -a,a,a,a,b,b -a,a,a,a,b,b -c,c,a,c,c,a -a,a,a,b,b,a -b,b,b,a,b,b -c,c,a,c,c,a -b,a,a,b,a,a -a,a,b,b,a,a -b,b,a,b,c,a -b,a,a,b,a,a -c,a,a,c,c,a -c,c,a,c,a,a -a,a,a,a,b,b -a,a,c,a,b,b -b,a,a,b,b,a -a,a,a,a,a,a -a,a,a,b,b,a -c,c,a,c,b,b -a,a,a,a,a,a -c,c,a,c,c,b -b,a,b,a,b,b -c,b,a,b,a,b -b,a,a,b,a,b -b,a,a,c,b,b -a,a,b,a,b,b -c,c,a,c,a,b -b,c,a,b,b,b -a,a,a,a,c,a -b,a,a,b,a,a -b,a,a,b,a,a -b,a,a,b,b,b -a,a,a,a,a,a -c,c,b,b,b,b -a,a,a,a,b,b -a,a,a,c,c,b -c,a,a,c,a,a -c,c,a,c,c,a -a,a,b,c,a,b -b,c,b,a,b,b -a,a,a,a,b,b -b,b,a,c,b,b -c,c,c,c,c,a -a,c,a,a,c,b -a,a,a,a,a,a -b,c,a,b,c,a -c,c,a,c,b,b -b,b,b,a,a,a -b,a,a,a,a,a -b,a,a,b,a,a -a,a,a,a,a,b -c,c,a,c,b,b -a,b,b,a,c,a -b,a,a,b,a,b -c,c,a,c,c,b -b,a,a,b,a,a -c,c,a,a,b,a -c,c,a,c,b,b -b,c,b,a,a,b -a,a,a,b,a,a -b,a,a,a,a,b -b,c,a,b,b,b -a,a,b,a,a,b -a,a,c,b,b,b -b,a,a,b,b,b -b,a,b,a,c,a -b,c,a,b,c,a -a,a,a,b,c,a -a,a,a,a,b,b -c,c,b,b,b,b -c,c,a,c,b,b -a,a,a,a,a,b -b,c,a,c,a,b -a,a,b,c,a,a -c,c,a,b,c,b -b,a,a,b,a,a -b,b,b,a,c,a -b,c,b,a,a,b -b,a,a,b,b,b -b,a,a,b,b,b -c,c,a,c,a,b -c,c,a,c,a,b -c,b,a,b,c,a -c,c,a,a,c,a -a,a,a,a,a,b -c,c,b,b,a,a -a,a,a,b,b,b -c,c,b,a,c,a -a,a,a,c,a,a -c,c,a,a,c,a -b,a,a,b,a,a -a,a,b,a,a,b -a,a,a,c,a,a -b,b,a,b,c,a -a,a,a,a,a,b -b,a,a,b,b,b -a,a,a,a,a,b -c,c,a,c,c,a -c,c,a,c,b,b -a,a,a,b,b,b -a,a,a,a,a,b -a,a,a,a,b,b -a,a,a,a,b,b -b,c,a,b,c,a -a,a,b,c,b,a -c,a,b,b,b,b -c,c,a,c,b,b -b,c,a,b,c,a -c,c,a,a,a,b -c,c,a,c,c,a -b,c,a,b,b,b -b,a,a,b,a,a -a,a,a,a,c,a -a,a,a,a,a,a -c,a,a,c,a,a -a,a,a,a,a,a -a,a,a,a,a,a -b,c,b,a,a,a -c,c,a,b,b,b -a,a,a,a,a,b -a,a,a,b,a,a -c,a,a,c,b,b -b,a,a,c,c,a -b,b,b,a,c,b -b,c,a,b,c,a -a,a,a,a,c,a -c,c,a,c,a,a -c,c,a,a,c,a -a,c,c,a,c,a -c,c,a,c,a,a -b,b,a,b,c,b -a,a,a,c,a,b -b,a,c,b,a,a -c,c,b,b,b,b -b,a,a,b,b,a -c,c,a,c,b,a -a,b,a,a,b,a -c,c,a,c,c,a -a,a,a,a,b,b -b,c,a,b,b,a -a,a,a,a,a,a -c,c,b,c,a,b -a,a,b,a,a,a -a,c,a,a,b,b -b,c,a,b,c,a -c,c,b,a,b,b -b,a,a,b,a,a -b,c,a,b,b,b -a,a,b,c,a,a -b,b,a,b,c,a -b,a,a,b,a,a -c,c,a,b,b,a -b,a,a,c,b,b -b,c,b,a,b,b -b,b,a,b,c,b -a,a,a,a,a,a -a,a,a,a,a,a -c,c,a,c,a,b -b,c,a,b,b,b -a,a,a,a,a,a -c,c,b,c,c,b -a,a,a,a,a,a -a,a,b,c,a,b -a,a,b,c,c,b -b,a,a,b,b,b -a,a,a,a,b,b -c,c,a,a,c,b -a,a,a,a,c,b -a,a,a,b,a,a -c,c,a,c,b,b -a,a,a,a,a,a -b,c,a,b,b,b -a,c,a,a,b,b -b,c,a,b,c,a -b,b,a,b,c,b -b,b,a,b,a,a -c,c,a,c,c,a -b,b,b,a,c,b -a,c,a,a,c,a -a,a,a,b,b,b -c,c,a,c,c,a -b,c,a,b,c,b -c,c,a,c,b,b -c,c,a,c,b,b -a,a,a,a,c,b -a,b,a,a,c,a -c,c,a,c,b,b -a,a,a,c,b,b -a,a,b,c,a,a -b,b,b,a,c,b -b,c,b,a,c,a -b,c,a,b,a,b -c,c,a,c,c,a -a,a,a,a,b,b -a,a,a,a,a,a -c,a,b,b,a,a -a,a,b,c,a,a -c,c,a,c,c,b -b,a,a,b,a,b -b,a,a,b,c,b -c,c,b,b,c,a -a,c,a,a,c,a -b,c,a,b,a,b -c,c,a,c,c,a -b,a,a,b,a,a -c,c,a,c,b,b -a,c,a,c,b,b -b,a,b,a,b,b -a,a,a,a,b,b -c,c,a,c,b,b -b,b,a,b,b,a -a,a,a,c,b,b -a,a,a,c,a,a -c,c,a,c,b,b -a,c,a,c,c,a -a,a,c,a,c,b -b,b,a,c,a,b -c,a,a,b,a,a -a,a,c,a,c,b -c,c,b,c,c,b -b,c,a,b,a,a -b,b,b,a,a,b -c,c,a,b,c,b -b,a,a,b,a,a -a,a,a,a,a,a -c,a,b,b,a,a -c,c,a,c,b,b -a,a,a,c,c,a -c,c,b,b,c,a -c,c,b,b,b,a -b,c,a,b,c,a -b,a,a,b,b,b -c,c,a,c,a,b -b,a,a,b,a,a -c,c,a,c,b,b -a,a,a,a,b,b -a,a,a,a,a,a -c,c,a,a,c,b -c,c,b,c,a,b -b,b,a,b,b,a -c,c,a,c,c,a -a,a,a,a,a,b -c,c,a,c,b,b -b,c,a,b,a,a -a,a,a,a,b,b -b,a,b,a,b,a -c,c,a,c,c,a -a,a,a,a,a,b -b,a,a,a,a,a -b,a,a,b,a,a -a,a,a,a,a,a -b,b,a,b,b,a -b,a,a,c,a,a -b,c,a,b,c,a -b,b,a,b,a,a -a,a,c,c,a,b -a,a,a,a,b,b -a,a,a,a,a,a -c,c,a,a,c,b -c,c,a,c,c,b -b,a,a,b,a,a -a,a,a,a,c,a -a,a,c,a,a,b -a,a,a,a,c,b -b,a,a,b,b,a -b,b,a,b,c,a -b,a,c,c,b,a -b,b,a,b,c,a -c,c,a,a,c,b -c,c,a,c,c,a -b,c,a,b,a,a -b,b,a,b,c,a -a,a,b,c,b,b -c,c,a,c,c,b -c,c,b,a,b,a -a,c,a,a,c,a -b,a,a,b,a,a -c,c,a,a,b,b -b,c,a,b,b,a -b,a,c,c,a,a -a,a,a,a,b,a -b,b,a,b,c,a -a,a,b,c,c,b -a,a,a,a,a,b -c,c,b,c,c,a -c,c,b,b,c,b -a,a,a,a,b,b -a,a,a,a,a,a -b,a,a,b,a,a -b,a,b,a,a,a -c,c,a,c,c,a -c,b,a,c,c,a -c,c,a,c,b,b -b,a,c,a,b,a -a,a,a,a,a,a -c,c,a,c,a,b -c,c,b,c,c,a -c,c,b,a,b,b -a,a,a,a,a,a -c,c,b,b,b,b -a,a,a,a,a,a -c,c,a,c,c,b -b,a,a,a,b,b -a,a,a,b,a,a -a,c,a,a,a,a -a,a,a,a,b,a -a,a,a,b,c,b -a,a,c,a,b,b -c,c,a,c,c,b -c,b,a,c,c,a -b,b,a,b,c,a -a,a,b,c,a,a -b,b,a,b,c,a -b,c,a,b,b,b -b,b,a,c,c,b -a,a,c,c,b,b -a,a,a,a,a,b -c,c,a,c,c,a -a,a,a,a,a,b -a,a,b,b,b,b -b,b,a,b,c,a -c,c,a,b,c,a -b,c,a,a,c,a -b,a,a,b,a,a -b,a,a,b,b,b -b,b,a,b,c,a -c,c,c,b,c,a -a,a,a,a,c,a -b,b,a,b,b,b -b,a,a,a,c,a -c,a,a,c,a,b -b,a,a,b,a,a -c,c,a,c,b,b -a,a,b,c,a,a -c,c,a,c,b,b -c,c,a,c,b,b -b,a,a,b,b,b -a,a,a,a,b,b -b,c,a,b,c,a -b,c,b,a,c,a -b,b,a,b,b,a -a,a,b,b,b,b -b,c,a,b,b,b -c,a,a,c,a,b -c,c,a,a,c,b -c,b,a,c,a,b -c,c,a,c,c,b -c,c,a,c,c,a -a,a,a,a,a,a -c,c,a,c,c,a -a,a,a,a,a,a -c,a,a,c,a,a -c,c,a,c,b,b -b,c,a,b,b,b -c,c,c,c,c,a -b,a,a,b,b,b -a,a,a,a,b,b -c,c,b,a,b,b -a,a,a,a,b,b -a,a,b,c,b,b -b,b,a,a,b,b -b,c,c,a,a,b -b,c,b,a,c,a -b,a,a,b,a,b -a,a,a,a,a,a -c,c,a,b,c,a -c,a,a,a,c,b -a,b,a,c,a,b -a,a,a,a,a,b -a,a,b,c,a,b -b,c,b,a,a,b -b,b,a,b,a,b -c,b,a,c,c,a -a,a,a,c,b,a -b,a,a,c,a,a -a,a,b,b,a,a -b,b,a,b,c,a -a,c,c,b,a,b -a,a,a,a,a,a -c,a,a,c,a,a -c,b,b,b,c,b -b,a,a,b,b,b -a,a,a,a,a,a -c,c,a,a,b,b -b,a,a,b,b,b -b,c,a,b,c,a -c,c,a,a,b,b -c,c,a,c,c,a -a,a,a,a,a,a -a,a,a,a,a,a -a,a,b,c,a,a -a,a,a,a,b,b -c,c,a,c,b,b -a,a,b,c,a,a -c,c,a,c,c,a -a,c,a,a,b,b -c,b,a,b,b,a -b,a,a,b,c,b -a,a,a,c,b,b -c,c,a,c,b,b -c,c,a,c,a,b -a,a,b,c,b,b -a,a,b,b,a,b -c,c,a,c,c,a -c,a,b,c,a,b -b,a,b,b,b,b -c,c,b,c,c,a -a,a,a,a,b,b -c,b,a,c,a,b -c,c,a,c,c,a -c,b,b,b,c,b -a,a,b,c,c,a -a,a,a,a,a,b -b,a,a,c,a,a -b,a,a,c,a,b -b,a,a,b,b,b -a,a,a,a,c,b -a,a,a,a,a,b -a,a,a,c,a,a -a,c,a,c,b,b -b,a,a,b,a,a -b,a,c,a,a,a -b,c,a,b,b,b -a,a,b,c,b,b -b,c,a,b,b,b -a,a,a,c,a,a -b,c,b,a,c,a -a,a,a,a,b,b -a,a,a,a,b,b -b,a,a,a,a,b -a,a,b,c,a,a -b,b,b,a,c,b -b,a,a,b,a,a -b,c,a,b,b,b -a,a,a,a,c,a -a,a,b,a,a,a -c,c,b,a,c,b -b,b,a,c,c,a -b,a,c,a,b,b -b,a,a,b,b,b -a,a,a,a,a,b -c,c,b,b,c,a -c,c,c,b,c,a -a,a,b,a,a,a -b,b,c,a,c,a -c,c,b,b,c,a -c,a,c,c,b,b -a,a,a,a,a,b -c,c,a,c,c,a -a,a,c,a,a,b -b,a,a,b,a,a -a,a,b,b,b,b -c,c,a,c,b,b -c,c,a,c,b,b -a,a,b,c,b,b -a,a,b,c,b,b -c,c,a,c,b,a -c,c,a,c,c,a -c,c,a,b,a,b -a,a,b,c,a,b -a,a,b,c,a,b -a,b,a,a,c,a -b,b,a,b,b,b -c,c,b,b,c,a -c,c,a,c,a,b -c,c,a,c,b,b -c,c,b,b,c,b -a,a,b,c,a,a -c,c,a,c,b,a -a,a,b,c,a,a -c,a,a,c,a,a -a,c,a,a,c,b -c,c,a,c,a,a -c,b,a,c,c,b -b,c,a,b,c,a -b,c,a,b,c,a -c,c,a,c,b,a -c,a,a,c,a,b -c,c,b,b,c,b -a,a,a,a,a,a -b,a,a,b,a,a -c,c,a,b,c,a -b,c,a,b,b,b -a,a,a,a,a,a -c,c,b,a,c,a -a,a,a,a,a,b -a,a,b,a,a,b -b,c,a,a,a,b -c,c,b,c,c,a -c,c,b,b,c,a -b,a,a,b,b,b -a,c,a,c,c,a -c,c,c,a,b,b -c,c,a,b,c,b -a,a,a,a,a,b -b,c,a,c,a,a -c,c,a,c,b,b -c,c,b,a,a,b -a,c,b,c,b,a -c,c,a,c,c,b -b,a,a,b,a,a -c,c,c,c,b,b -c,c,a,b,b,b -a,a,b,c,a,b -a,a,a,a,a,b -b,b,b,a,c,b -b,b,a,b,c,a -a,a,a,a,a,a -a,a,a,a,a,a -b,c,b,a,a,b -c,c,b,b,c,a -c,c,c,b,c,a -a,a,b,c,a,b -b,a,b,c,b,b -c,c,a,b,c,a -b,c,a,b,a,a -b,b,a,b,c,a -b,c,a,b,a,b -b,c,b,a,c,a -b,a,a,b,b,b -c,c,a,c,c,b -a,c,b,a,b,a -a,a,a,a,a,b -a,a,a,a,a,a -a,a,a,a,c,b -a,a,b,a,b,b -b,b,b,a,c,b -a,b,a,c,b,b -b,c,a,a,a,b -a,a,a,b,b,b -a,b,a,a,a,b -a,a,a,a,b,a -b,c,a,b,c,a -c,a,a,a,a,a -c,c,a,c,a,a -b,c,c,c,c,b -a,a,a,c,a,a -c,a,a,c,c,b -b,a,a,b,b,b -a,a,a,a,a,b -c,b,a,c,a,a -c,c,a,c,c,a -c,c,a,c,c,a -a,c,a,a,c,a -c,c,a,c,c,a -c,c,a,c,c,a -c,a,a,c,c,a -c,c,a,c,c,a -b,a,a,b,b,b -b,c,a,b,c,a -b,a,b,c,a,a -a,a,a,a,a,b -c,c,a,c,c,b -c,c,b,c,b,a -c,b,a,c,c,a -c,c,a,c,a,a -c,c,a,c,c,b -b,a,a,c,a,a -b,a,a,b,b,b -a,c,a,c,b,b -c,c,a,c,c,b -b,a,a,a,b,b -a,a,b,b,b,b -c,c,b,b,c,a -c,c,a,a,c,a -a,a,a,a,b,b -a,a,b,c,a,b -b,b,a,b,c,b -a,a,a,a,a,a -c,c,a,c,a,b -c,c,a,c,a,b -c,c,a,c,c,a -c,c,a,c,b,b -b,c,a,b,a,b -c,c,c,b,a,b -a,c,a,a,c,a -a,a,a,a,c,a -b,a,a,c,b,b -b,a,a,b,a,a -c,c,b,b,c,a -b,c,a,b,c,a -c,b,a,b,c,a -b,c,c,a,b,b -b,c,a,b,c,a -a,a,b,c,a,a -b,b,a,b,c,a -c,c,a,c,c,a -a,c,b,c,b,a -b,a,a,b,a,b -b,c,a,b,b,b -c,b,a,a,c,a -c,c,a,a,a,b -c,c,a,b,c,a -a,a,a,b,a,b -b,c,b,a,c,a -c,c,a,c,c,a -c,c,a,c,c,a -a,a,a,a,b,b -c,b,a,c,a,b -c,c,a,c,b,b -c,c,a,c,b,b -a,a,a,a,b,a -a,a,a,a,a,a -b,c,a,c,c,a -b,a,b,a,b,a -b,b,b,a,c,a -b,a,b,a,a,a -c,a,a,a,c,a -b,a,a,b,a,a -a,a,b,c,b,b -b,a,a,b,c,a -c,c,b,b,c,a -a,a,a,a,b,b -c,a,a,c,a,b -b,a,a,a,a,b -c,c,a,c,b,b -c,c,c,b,b,a -c,c,a,a,c,a -b,c,b,b,c,a -b,a,a,b,a,a -c,c,c,b,c,a -b,a,b,b,b,b -a,a,a,a,b,a -a,c,a,a,b,b -b,a,b,a,c,a -c,a,a,b,a,a -a,a,a,a,b,a -b,a,a,b,a,a -c,c,a,c,b,b -b,c,a,b,c,b -b,c,a,c,c,a -b,b,a,b,c,b -b,a,a,a,a,a -c,c,a,c,b,b -a,c,b,b,b,a -b,c,a,b,c,b -b,a,a,a,a,b -b,c,a,b,b,b -a,a,a,a,a,a -a,a,a,a,c,b -c,c,a,c,a,b -c,c,b,b,a,a -a,c,a,b,c,a -b,a,a,b,b,b -a,a,a,a,a,a -c,c,b,b,c,a -b,b,a,b,c,b -a,c,b,c,c,a -a,a,a,a,b,b \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.json b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.json deleted file mode 100644 index 27d6825..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "input": { - "alg": "gs", - "bookmark": 0, - "dataInput": "1", - "dendrogram": "both", - "editorIntro": 0, - "eval": 0, - "event": "A", - "evidence": "b", - "evidenceNode": "A", - "file": null, - "homeIntro": 0, - "inferenceIntro": 0, - "iss": 10, - "measuresIntro": 0, - "met": "mle", - "net": "1", - "Node": "A", - "nodeMeasure": "mb", - "nodeNames": "A", - "param": "barchart", - "parametersIntro": 0, - "rmd": "## Sample Code\nHere is some sample markdown to help illustrate the editor.\n\n### Get some sample data and show the first few values\n### Use `dat()` to get the active data set\n```{r}\ndat <- learning.test\nhead(dat)\n```\n\n### Learn the structure of the network\n```{r}\ndag <- bnlearn::cextend(bnlearn::gs(dat))\n```\n\n### Plot the force directed network\n```{r}\nnetworkData <- data.frame(bnlearn::arcs(dag))\n\nnetworkD3::simpleNetwork(\n networkData,\n Source = \"from\",\n Target = \"to\"\n)\n```\n\n### Print the network score\n```{r}\nbnlearn::score(dag, dat)\n```\n\n### Fit the model parameters and show the CPT for node A\n```{r}\nfit <- bnlearn::bn.fit(dag, dat)\nfit$A\n```\n\n### Plot the model parameters for node A\n```{r}\nbnlearn::bn.fit.barchart(fit[[\"A\"]])\n```\n\n### Get the Markov blanket for node A\n```{r}\nbnlearn::mb(dag, \"A\")\n```\n\n### Plot a d3 heatmap of the adjacency matrix\n```{r}\nheatmaply::heatmaply(\n bnlearn::amat(dag),\n grid_gap = 1,\n colors = blues9,\n dendrogram = \"both\",\n symm = TRUE,\n margins = c(100, 100, NA, 0),\n hide_colorbar = TRUE\n)\n````\n\n### Generate some random data from the network and show the first few values\n```{r}\nset.seed(1)\nsimData <- bnlearn::rbn(fit, n = 100, dat)\nhead(simData)\n```\n\n```{r}\n# Put your own code here...\n", - "sidebarCollapsed": false, - "sidebarItemExpanded": null, - "sidebarMenu": "home", - "structureIntro": 0, - "type": "loglik" - }, - "output": { - "arcsBox": { - "html": "
\n
\n
\n

5<\/h3>\n

Arcs<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "nodesBox": { - "html": "
\n
\n
\n

6<\/h3>\n

Nodes<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - } - }, - "export": { - - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.png deleted file mode 100644 index 14ee722..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/001.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.json b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.json deleted file mode 100644 index a9e77df..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "input": { - "alg": "gs", - "bookmark": 0, - "dataInput": "1", - "dendrogram": "both", - "editorIntro": 0, - "eval": 0, - "event": "A", - "evidence": "b", - "evidenceNode": "A", - "file": null, - "homeIntro": 0, - "inferenceIntro": 0, - "iss": 10, - "measuresIntro": 0, - "met": "mle", - "net": "1", - "Node": "A", - "nodeMeasure": "mb", - "nodeNames": "A", - "param": "barchart", - "parametersIntro": 0, - "rmd": "## Sample Code\nHere is some sample markdown to help illustrate the editor.\n\n### Get some sample data and show the first few values\n### Use `dat()` to get the active data set\n```{r}\ndat <- learning.test\nhead(dat)\n```\n\n### Learn the structure of the network\n```{r}\ndag <- bnlearn::cextend(bnlearn::gs(dat))\n```\n\n### Plot the force directed network\n```{r}\nnetworkData <- data.frame(bnlearn::arcs(dag))\n\nnetworkD3::simpleNetwork(\n networkData,\n Source = \"from\",\n Target = \"to\"\n)\n```\n\n### Print the network score\n```{r}\nbnlearn::score(dag, dat)\n```\n\n### Fit the model parameters and show the CPT for node A\n```{r}\nfit <- bnlearn::bn.fit(dag, dat)\nfit$A\n```\n\n### Plot the model parameters for node A\n```{r}\nbnlearn::bn.fit.barchart(fit[[\"A\"]])\n```\n\n### Get the Markov blanket for node A\n```{r}\nbnlearn::mb(dag, \"A\")\n```\n\n### Plot a d3 heatmap of the adjacency matrix\n```{r}\nheatmaply::heatmaply(\n bnlearn::amat(dag),\n grid_gap = 1,\n colors = blues9,\n dendrogram = \"both\",\n symm = TRUE,\n margins = c(100, 100, NA, 0),\n hide_colorbar = TRUE\n)\n````\n\n### Generate some random data from the network and show the first few values\n```{r}\nset.seed(1)\nsimData <- bnlearn::rbn(fit, n = 100, dat)\nhead(simData)\n```\n\n```{r}\n# Put your own code here...\n", - "sidebarCollapsed": false, - "sidebarItemExpanded": null, - "sidebarMenu": "structure", - "structureIntro": 0, - "type": "loglik" - }, - "output": { - "arcsBox": { - "html": "
\n
\n
\n

5<\/h3>\n

Arcs<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "netPlot": { - "x": { - "links": { - "source": [ - 0, - 1, - 1, - 2, - 5 - ], - "target": [ - 3, - 0, - 4, - 3, - 4 - ], - "value": [ - 1, - 1, - 1, - 1, - 1 - ], - "colour": [ - "#666", - "#666", - "#666", - "#666", - "#666" - ] - }, - "nodes": { - "name": [ - "A", - "B", - "C", - "D", - "E", - "F" - ], - "group": [ - 1, - 1, - 1, - 1, - 1, - 1 - ], - "nodesize": [ - 8, - 8, - 8, - 8, - 8, - 8 - ] - }, - "options": { - "NodeID": "name", - "Group": "group", - "colourScale": "d3.scaleOrdinal(['#3182bd'])", - "fontSize": 7, - "fontFamily": "serif", - "clickTextSize": 17.5, - "linkDistance": 50, - "linkWidth": "'1.5px'.toString()", - "charge": -30, - "opacity": 0.75, - "zoom": true, - "legend": false, - "arrows": false, - "nodesize": true, - "radiusCalculation": "d.nodesize", - "bounded": false, - "opacityNoHover": 1, - "clickAction": null - } - }, - "evals": [ - - ], - "jsHooks": [ - - ], - "deps": [ - - ] - }, - "nodesBox": { - "html": "
\n
\n
\n

6<\/h3>\n

Nodes<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "score": "-23832.13" - }, - "export": { - - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.png deleted file mode 100644 index 5d14480..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/002.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.json b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.json deleted file mode 100644 index d988090..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.json +++ /dev/null @@ -1,474 +0,0 @@ -{ - "input": { - "alg": "hc", - "bookmark": 0, - "dataInput": "1", - "dendrogram": "both", - "editorIntro": 0, - "eval": 0, - "event": "CVP", - "evidence": "NORMAL", - "evidenceNode": "CVP", - "file": null, - "homeIntro": 0, - "inferenceIntro": 0, - "iss": 10, - "measuresIntro": 0, - "met": "mle", - "net": "3", - "Node": "CVP", - "nodeMeasure": "mb", - "nodeNames": "CVP", - "param": "barchart", - "parametersIntro": 0, - "rmd": "## Sample Code\nHere is some sample markdown to help illustrate the editor.\n\n### Get some sample data and show the first few values\n### Use `dat()` to get the active data set\n```{r}\ndat <- learning.test\nhead(dat)\n```\n\n### Learn the structure of the network\n```{r}\ndag <- bnlearn::cextend(bnlearn::gs(dat))\n```\n\n### Plot the force directed network\n```{r}\nnetworkData <- data.frame(bnlearn::arcs(dag))\n\nnetworkD3::simpleNetwork(\n networkData,\n Source = \"from\",\n Target = \"to\"\n)\n```\n\n### Print the network score\n```{r}\nbnlearn::score(dag, dat)\n```\n\n### Fit the model parameters and show the CPT for node A\n```{r}\nfit <- bnlearn::bn.fit(dag, dat)\nfit$A\n```\n\n### Plot the model parameters for node A\n```{r}\nbnlearn::bn.fit.barchart(fit[[\"A\"]])\n```\n\n### Get the Markov blanket for node A\n```{r}\nbnlearn::mb(dag, \"A\")\n```\n\n### Plot a d3 heatmap of the adjacency matrix\n```{r}\nheatmaply::heatmaply(\n bnlearn::amat(dag),\n grid_gap = 1,\n colors = blues9,\n dendrogram = \"both\",\n symm = TRUE,\n margins = c(100, 100, NA, 0),\n hide_colorbar = TRUE\n)\n````\n\n### Generate some random data from the network and show the first few values\n```{r}\nset.seed(1)\nsimData <- bnlearn::rbn(fit, n = 100, dat)\nhead(simData)\n```\n\n```{r}\n# Put your own code here...\n", - "sidebarCollapsed": false, - "sidebarItemExpanded": null, - "sidebarMenu": "parameters", - "structureIntro": 0, - "type": "aic" - }, - "output": { - "arcsBox": { - "html": "
\n
\n
\n

5<\/h3>\n

Arcs<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "condPlot": { - "src": "[image data sha1: f93e4aada0592598f2c90f8f2ab9da2c55118000]", - "width": 458, - "height": 400, - "coordmap": [ - { - "domain": { - "left": -0.04, - "right": 1.04, - "bottom": -0.04, - "top": 1.04 - }, - "range": { - "left": 0, - "right": 458, - "bottom": 399, - "top": -1 - }, - "log": { - "x": null, - "y": null - }, - "mapping": { - - } - } - ] - }, - "netPlot": { - "x": { - "links": { - "source": [ - 24, - 11, - 31, - 31, - 4, - 13, - 13, - 23, - 28, - 10, - 26, - 26, - 21, - 21, - 21, - 21, - 19, - 19, - 19, - 25, - 17, - 17, - 17, - 17, - 6, - 20, - 20, - 20, - 30, - 30, - 3, - 3, - 3, - 9, - 12, - 12, - 12, - 12, - 8, - 8, - 29, - 27, - 0, - 32, - 32, - 32, - 32, - 32, - 33, - 33, - 35, - 35, - 34 - ], - "target": [ - 20, - 19, - 2, - 1, - 2, - 9, - 12, - 25, - 31, - 27, - 18, - 35, - 17, - 32, - 33, - 35, - 24, - 20, - 30, - 29, - 26, - 29, - 33, - 35, - 34, - 5, - 16, - 30, - 4, - 16, - 31, - 21, - 0, - 12, - 4, - 14, - 15, - 3, - 14, - 15, - 28, - 28, - 7, - 26, - 17, - 27, - 0, - 33, - 7, - 18, - 6, - 34, - 22 - ], - "value": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "colour": [ - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666" - ] - }, - "nodes": { - "name": [ - "ACO2", - "APL", - "BP", - "CCHL", - "CO", - "CVP", - "DISC", - "ECO2", - "ERCA", - "ERLO", - "FIO2", - "HIST", - "HR", - "HRBP", - "HREK", - "HRSA", - "HYP", - "INT", - "KINK", - "LVF", - "LVV", - "MINV", - "MVS", - "PAP", - "PCWP", - "PMB", - "PRSS", - "PVS", - "SAO2", - "SHNT", - "STKV", - "TPR", - "VALV", - "VLNG", - "VMCH", - "VTUB" - ], - "group": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "nodesize": [ - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8 - ] - }, - "options": { - "NodeID": "name", - "Group": "group", - "colourScale": "d3.scaleOrdinal(['#3182bd'])", - "fontSize": 7, - "fontFamily": "serif", - "clickTextSize": 17.5, - "linkDistance": 50, - "linkWidth": "'1.5px'.toString()", - "charge": -30, - "opacity": 0.75, - "zoom": true, - "legend": false, - "arrows": false, - "nodesize": true, - "radiusCalculation": "d.nodesize", - "bounded": false, - "opacityNoHover": 1, - "clickAction": null - } - }, - "evals": [ - - ], - "jsHooks": [ - - ], - "deps": [ - - ] - }, - "nodesBox": { - "html": "
\n
\n
\n

6<\/h3>\n

Nodes<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "score": "-218149.6" - }, - "export": { - - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.png deleted file mode 100644 index c15e06e..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/003.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.json b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.json deleted file mode 100644 index f650b1c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.json +++ /dev/null @@ -1,502 +0,0 @@ -{ - "input": { - "alg": "hc", - "bookmark": 0, - "dataInput": "1", - "dendrogram": "both", - "editorIntro": 0, - "eval": 0, - "event": "CVP", - "evidence": "NORMAL", - "evidenceNode": "CVP", - "file": null, - "homeIntro": 0, - "inferenceIntro": 0, - "iss": 10, - "measuresIntro": 0, - "met": "bayes", - "net": "3", - "Node": "PCWP", - "nodeMeasure": "mb", - "nodeNames": "CVP", - "param": "dotplot", - "parametersIntro": 0, - "rmd": "## Sample Code\nHere is some sample markdown to help illustrate the editor.\n\n### Get some sample data and show the first few values\n### Use `dat()` to get the active data set\n```{r}\ndat <- learning.test\nhead(dat)\n```\n\n### Learn the structure of the network\n```{r}\ndag <- bnlearn::cextend(bnlearn::gs(dat))\n```\n\n### Plot the force directed network\n```{r}\nnetworkData <- data.frame(bnlearn::arcs(dag))\n\nnetworkD3::simpleNetwork(\n networkData,\n Source = \"from\",\n Target = \"to\"\n)\n```\n\n### Print the network score\n```{r}\nbnlearn::score(dag, dat)\n```\n\n### Fit the model parameters and show the CPT for node A\n```{r}\nfit <- bnlearn::bn.fit(dag, dat)\nfit$A\n```\n\n### Plot the model parameters for node A\n```{r}\nbnlearn::bn.fit.barchart(fit[[\"A\"]])\n```\n\n### Get the Markov blanket for node A\n```{r}\nbnlearn::mb(dag, \"A\")\n```\n\n### Plot a d3 heatmap of the adjacency matrix\n```{r}\nheatmaply::heatmaply(\n bnlearn::amat(dag),\n grid_gap = 1,\n colors = blues9,\n dendrogram = \"both\",\n symm = TRUE,\n margins = c(100, 100, NA, 0),\n hide_colorbar = TRUE\n)\n````\n\n### Generate some random data from the network and show the first few values\n```{r}\nset.seed(1)\nsimData <- bnlearn::rbn(fit, n = 100, dat)\nhead(simData)\n```\n\n```{r}\n# Put your own code here...\n", - "sidebarCollapsed": false, - "sidebarItemExpanded": null, - "sidebarMenu": "inference", - "structureIntro": 0, - "type": "aic" - }, - "output": { - "arcsBox": { - "html": "
\n
\n
\n

5<\/h3>\n

Arcs<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "condPlot": { - "src": "[image data sha1: 38409767041e523d99b55352024c9df9863dbfe9]", - "width": 458, - "height": 400, - "coordmap": [ - { - "domain": { - "left": -0.04, - "right": 1.04, - "bottom": -0.04, - "top": 1.04 - }, - "range": { - "left": 0, - "right": 458, - "bottom": 399, - "top": -1 - }, - "log": { - "x": null, - "y": null - }, - "mapping": { - - } - } - ] - }, - "distPlot": { - "src": "[image data sha1: ce0a6633c3cf11ec0b51d5764a8adc194fd69b48]", - "width": 458, - "height": 400, - "coordmap": [ - { - "domain": { - "left": 0.064, - "right": 3.736, - "bottom": 0, - "top": 1 - }, - "range": { - "left": 59.04, - "right": 427.76, - "bottom": 325.56, - "top": 58.04 - }, - "log": { - "x": null, - "y": null - }, - "mapping": { - - } - } - ] - }, - "netPlot": { - "x": { - "links": { - "source": [ - 24, - 11, - 31, - 31, - 4, - 13, - 13, - 23, - 28, - 10, - 26, - 26, - 21, - 21, - 21, - 21, - 19, - 19, - 19, - 25, - 17, - 17, - 17, - 17, - 6, - 20, - 20, - 20, - 30, - 30, - 3, - 3, - 3, - 9, - 12, - 12, - 12, - 12, - 8, - 8, - 29, - 27, - 0, - 32, - 32, - 32, - 32, - 32, - 33, - 33, - 35, - 35, - 34 - ], - "target": [ - 20, - 19, - 2, - 1, - 2, - 9, - 12, - 25, - 31, - 27, - 18, - 35, - 17, - 32, - 33, - 35, - 24, - 20, - 30, - 29, - 26, - 29, - 33, - 35, - 34, - 5, - 16, - 30, - 4, - 16, - 31, - 21, - 0, - 12, - 4, - 14, - 15, - 3, - 14, - 15, - 28, - 28, - 7, - 26, - 17, - 27, - 0, - 33, - 7, - 18, - 6, - 34, - 22 - ], - "value": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "colour": [ - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666", - "#666" - ] - }, - "nodes": { - "name": [ - "ACO2", - "APL", - "BP", - "CCHL", - "CO", - "CVP", - "DISC", - "ECO2", - "ERCA", - "ERLO", - "FIO2", - "HIST", - "HR", - "HRBP", - "HREK", - "HRSA", - "HYP", - "INT", - "KINK", - "LVF", - "LVV", - "MINV", - "MVS", - "PAP", - "PCWP", - "PMB", - "PRSS", - "PVS", - "SAO2", - "SHNT", - "STKV", - "TPR", - "VALV", - "VLNG", - "VMCH", - "VTUB" - ], - "group": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "nodesize": [ - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8, - 8 - ] - }, - "options": { - "NodeID": "name", - "Group": "group", - "colourScale": "d3.scaleOrdinal(['#3182bd'])", - "fontSize": 7, - "fontFamily": "serif", - "clickTextSize": 17.5, - "linkDistance": 50, - "linkWidth": "'1.5px'.toString()", - "charge": -30, - "opacity": 0.75, - "zoom": true, - "legend": false, - "arrows": false, - "nodesize": true, - "radiusCalculation": "d.nodesize", - "bounded": false, - "opacityNoHover": 1, - "clickAction": null - } - }, - "evals": [ - - ], - "jsHooks": [ - - ], - "deps": [ - - ] - }, - "nodesBox": { - "html": "
\n
\n
\n

6<\/h3>\n

Nodes<\/p>\n <\/div>\n

\n <\/i>\n <\/div>\n <\/div>\n<\/div>", - "deps": [ - { - "name": "font-awesome", - "version": "4.7.0", - "src": { - "href": "shared/font-awesome" - }, - "meta": null, - "script": null, - "stylesheet": "css/font-awesome.min.css", - "head": null, - "attachment": null, - "package": null, - "all_files": true - } - ] - }, - "score": "-218149.6" - }, - "export": { - - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.png deleted file mode 100644 index ffaecec..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest-expected/004.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest.R b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest.R deleted file mode 100644 index 63ed71e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/tests/mytest.R +++ /dev/null @@ -1,33 +0,0 @@ -app <- ShinyDriver$new("../", seed = 123) -app$snapshotInit("mytest") - -app$snapshot() -Sys.sleep(2) -app$setInputs(sidebarMenu = "structure") -Sys.sleep(4) -app$snapshot() -app$setInputs(net = "3") -app$setInputs(alg = "hc") -app$setInputs(type = "aic") -app$setInputs(sidebarMenu = "parameters") -Sys.sleep(1) -app$snapshot() -app$setInputs(met = "bayes") -app$setInputs(param = "dotplot") -app$setInputs(Node = "PCWP") -app$setInputs(sidebarMenu = "inference") -Sys.sleep(1) -app$snapshot() -app$setInputs(evidenceNode = "PCWP") -app$setInputs(evidence = "HIGH") -app$setInputs(event = "HIST") -app$setInputs(sidebarMenu = "measures") -app$setInputs(nodeMeasure = "nbr") -app$setInputs(nodeMeasure = "parents") -app$setInputs(nodeNames = "PCWP") -app$setInputs(dendrogram = "row") -app$setInputs(sidebarMenu = "editor") -app$setInputs(bookmark = "click") -app$setInputs(sidebarMenu = "structure") -app$setInputs(dataInput = "2") -app$uploadFile(file = "learning_test.csv") diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/ui.R b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/ui.R deleted file mode 100644 index fc12596..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/ui.R +++ /dev/null @@ -1,606 +0,0 @@ -code = - '## Sample Code -Here is some sample markdown to help illustrate the editor. - -### Get some sample data and show the first few values -### Use `dat()` to get the active data set -```{r} -dat <- learning.test -head(dat) -``` - -### Learn the structure of the network -```{r} -dag <- bnlearn::cextend(bnlearn::gs(dat)) -``` - -### Plot the force directed network -```{r} -networkData <- data.frame(bnlearn::arcs(dag)) - -networkD3::simpleNetwork( - networkData, - Source = "from", - Target = "to" -) -``` - -### Print the network score -```{r} -bnlearn::score(dag, dat) -``` - -### Fit the model parameters and show the CPT for node A -```{r} -fit <- bnlearn::bn.fit(dag, dat) -fit$A -``` - -### Plot the model parameters for node A -```{r} -bnlearn::bn.fit.barchart(fit[["A"]]) -``` - -### Get the Markov blanket for node A -```{r} -bnlearn::mb(dag, "A") -``` - -### Plot a d3 heatmap of the adjacency matrix -```{r} -heatmaply::heatmaply( - bnlearn::amat(dag), - grid_gap = 1, - colors = blues9, - dendrogram = "both", - symm = TRUE, - margins = c(100, 100, NA, 0), - hide_colorbar = TRUE -) -``` - -### Generate some random data from the network and show the first few values -```{r} -set.seed(1) -simData <- bnlearn::rbn(fit, n = 100, dat) -head(simData) -``` - -```{r} -# Put your own code here... -' - -# Green dashboard page -shinydashboard::dashboardPage( - skin = "green", - - # Dashboard header and title - shinydashboard::dashboardHeader( - title = "BayesianNetwork" - ), - - # Dashboard sidebar - shinydashboard::dashboardSidebar( - - # Sidebar menu - shinydashboard::sidebarMenu( - id = "sidebarMenu", - - # Home menu item - shinydashboard::menuItem( - "Home", - tabName = "home", - icon = shiny::icon("home") - ), - - # Structure menu item - shinydashboard::menuItem( - "Structure", - icon = shiny::icon("globe"), - tabName = "structure" - ), - - # Parameters menu item - shinydashboard::menuItem( - "Parameters", - tabName = "parameters", - icon = shiny::icon("bar-chart") - ), - - # Inference menu item - shinydashboard::menuItem( - "Inference", - icon = shiny::icon("arrow-right"), - tabName = "inference" - ), - - # Measures menu item - shinydashboard::menuItem( - "Measures", - tabName = "measures", - icon = shiny::icon("table") - ), - - # Editor menu item - shinydashboard::menuItem( - "Editor", - tabName = "editor", - icon = shiny::icon("code") - ), - br(), - - # Help page link - shinydashboard::menuItem("Help", - icon = icon("info-circle"), - href = "http://paulgovan.github.io/BayesianNetwork/"), - - # Source code link - shinydashboard::menuItem("Source Code", - icon = icon("github"), - href = "https://github.com/paulgovan/BayesianNetwork"), - - # Bookmark button - shiny::br(), - shiny::bookmarkButton(id = "bookmark"), - tags$style(type='text/css', "#bookmark { display: block; margin: 0 auto; }") - - ) - ), - - # Dashboard body - shinydashboard::dashboardBody( - id = "dashboardBody", - - # Add favicon and title to header - tags$head( - tags$link(rel = "icon", type = "image/png", href = "favicon.png"), - tags$title("BayesianNetwork") - ), - - # Include introjs UI - rintrojs::introjsUI(), - - # Dashboard tab items - shinydashboard::tabItems( - - # Home tab item - shinydashboard::tabItem( - tabName = "home", - shiny::fluidRow( - - # Welcome box - shinydashboard::box( - title = "", - status = "success", - width = 8, - shiny::img(src = "favicon.png", - height = 200, - width = 175 - ), - shiny::h2("BayesianNetwork"), - shiny::h4("Bayesian Network Modeling and Analysis"), - br(), - shiny::h4("BayesianNetwork is a ", - shiny::a(href = 'http://shiny.rstudio.com', 'Shiny'), - "web application for Bayesian network modeling and analysis, powered by", - shiny::a(href = 'http://www.bnlearn.com', 'bnlearn'), - 'and', - shiny::a(href = 'http://christophergandrud.github.io/networkD3/', 'networkD3'), - '.' - ), - shiny::h4("Click", - shiny::a("Structure", href="#shiny-tab-structure", "data-toggle" = "tab"), - " in the sidepanel to get started." - ), - br(), - shiny::h4(shiny::HTML('©'), - '2016 By Paul Govan. ', - shiny::a(href = 'http://www.apache.org/licenses/LICENSE-2.0', 'Terms of Use.') - ), - br(), - # Add introjs btn - shiny::actionButton("homeIntro", "Show me how it works"), - tags$style(type='text/css', "#homeIntro { display: block; margin: 0 auto; }") - ), - - # Nodes and arcs value boxes - shiny::uiOutput("nodesBox"), - shiny::uiOutput("arcsBox") - ) - ), - - # Structure tab item - shinydashboard::tabItem(tabName = "structure", - shiny::fluidRow( - shiny::column( - width = 4, - - # Network input box - shinydashboard::box( - title = "Data Input", - status = "success", - collapsible = TRUE, - width = NULL, - shiny::helpText("Select a sample network or upload your Bayesian network data:"), - - shinyWidgets::radioGroupButtons(inputId = "dataInput", - choices = c("Sample Network" = 1, - "Upload Data" = 2), - selected = 1, - justified = TRUE - ), - - # Conditional panel for sample network selection - shiny::conditionalPanel( - condition = "input.dataInput == 1", - - # Demo network input select - shiny::selectInput( - inputId = "net", - h5("Bayesian Network:"), - c("Sample Discrete Network" = 1, - "Sample Gaussian Network" = 2, - "Alarm Network" = 3, - "Insurance Network" = 4, - "Hailfinder Network" = 5 - ) - ) - ), - - # Conditional panel for file input selection - shiny::conditionalPanel( - condition = "input.dataInput == 2", - - shiny::p('Note: your data should be structured as a csv file with header of variable names.' - ), - - # File input - shiny::fileInput( - 'file', - strong('File Input:'), - accept = c('text/csv', - 'text/comma-separated-values', - 'text/tab-separated-values', - 'text/plain', - '.csv', - '.tsv' - ) - ) - ) - ), - - # Structural learning box - shinydashboard::box( - title = "Structural Learning", - status = "success", - collapsible = TRUE, - width = NULL, - shiny::helpText("Select a structural learning algorithm:"), - - # Structural learning algorithm input select - shiny::selectizeInput( - inputId = "alg", - shiny::h5("Learning Algorithm:"), - choices = list( - "Constraint-based Learning" = - c("Grow-Shrink" = "gs", - "Incremental Association" = "iamb", - "Fast IAMB" = "fast.iamb", - "Inter IAMB" = "inter.iamb" - ), - "Score-based Learning" = - c("Hill Climbing" = "hc", - "Tabu" = "tabu"), - "Hybrid Learning" = - c("Max-Min Hill Climbing" = "mmhc", - "2-phase Restricted Maximization" = 'rsmax2' - ), - "Local Discovery Learning" = - c("Max-Min Parents and Children" = 'mmpc', - "Semi-Interleaved HITON-PC" = "si.hiton.pc", - "ARACNE" = "aracne", - "Chow-Liu" = "chow.liu" - ) - ) - ) - ), - - # Network score box - shinydashboard::box( - title = "Network Score", - status = "success", - collapsible = TRUE, - width = NULL, - - # Network score function input select - shiny::selectInput( - "type", - h5("Network Score:"), - c("Log-Likelihood" = "loglik", - "Akaike Information Criterion" = "aic", - "Bayesian Information Criterion" = "bic", - "Bayesian Equivalent" = "be" - ), 'loglik-g' - ), - - # Network score output - shiny::verbatimTextOutput("score") - ) - ), - shiny::column( - width = 8, - - # Bayesian network box - shinydashboard::box( - title = "Bayesian Network", - status = "success", - collapsible = TRUE, - width = NULL, - - # d3 force directed network - networkD3::simpleNetworkOutput("netPlot") - ) - ) - ), - - # Add introjs btn - shiny::actionButton("structureIntro", "Show me how") - ), - - # parameters tab item - shinydashboard::tabItem(tabName = "parameters", - shiny::fluidRow( - shiny::column( - width = 4, - - # parameter learning box - shinydashboard::box( - title = "Parameter Learning", - status = "success", - collapsible = TRUE, - width = NULL, - shiny::helpText("Select a parameter learning method:"), - - # Parameter learning method input select - shiny::selectInput( - "met", - shiny::h5("Learning Method:"), - c("Maximum Likelihood Estimation" = "mle", - "Bayesian Estimation" = "bayes" - ) - ) - - # shiny::helpText("Select an imaginary sample size:"), - - # Imaginary Sample Size for illustrative purposes - # shiny::numericInput( - # "iss", - # shiny::h5("Sample Size:"), - # value = 10, - # min = 1 - # ) - ), - - # Parameter infographic box - shinydashboard::box( - title = "Parameter Graphic", - status = "success", - collapsible = TRUE, - width = NULL, - helpText("Select a parameter infographic:"), - - # Parameter infographic input select - selectInput("param", label = h5("Parameter Infographic:"), - ""), - - # Conditional panel for discrete data - shiny::conditionalPanel( - "input.param == 'barchart' || input.param == 'dotplot'", - - # Node input select - shiny::selectInput("Node", label = shiny::h5("Node:"), "") - ) - ) - # shinydashboard::box( - # title = "Expert Knowledge", status = "success", solidHeader = TRUE, collapsible = TRUE, width = NULL, height = 1000, - # shiny::selectInput("Node", label = h5("Node:"), - # ""), - # shiny::helpText("Add expert knowledge to your model (Experimental):"), - # shiny::actionButton("saveBtn", "Save"), - # rhandsontable::rHandsontableOutput("hot") - # ) - ), - shiny::column( - width = 8, - - # Network parameters box - shinydashboard::box( - title = "Network Parameters", - status = "success", - collapsible = TRUE, - width = NULL, - - # Conditional PD plot - shiny::plotOutput("condPlot") - ) - ) - ), - - # Add introjs btn - shiny::actionButton("parametersIntro", "Show me how") - ), - - # Inference tab item - shinydashboard::tabItem(tabName = "inference", - shiny::fluidRow( - shiny::column( - width = 4, - - # Evidence box - shinydashboard::box( - title = "Evidence", - status = "success", - collapsible = TRUE, - width = NULL, - helpText("Select evidence to add to the model:"), - shiny::fluidRow( - shiny::column(6, - - # Evidence node input select - shiny::selectInput( - "evidenceNode", label = shiny::h5("Evidence Node:"), - "" - )), - shiny::column(6, - - # Conditional panel for discrete data - shiny::conditionalPanel( - "input.param == 'barchart' || input.param == 'dotplot'", - - # Evidence input select - shiny::selectInput( - "evidence", label = shiny::h5("Evidence:"), - "" - ) - ) - ) - ) - ), - - # Event box - shinydashboard::box( - title = "Event", - status = "success", - collapsible = TRUE, - width = NULL, - helpText("Select an event of interest:"), - - # Event node input select - shiny::selectInput("event", label = shiny::h5("Event Node:"), - "") - ) - ), - shiny::column( - width = 8, - - # Event parameter box - shinydashboard::box( - title = "Event Parameter", - status = "success", - collapsible = TRUE, - width = NULL, - - # Event conditional PD plot - shiny::plotOutput("distPlot") - ) - ) - ), - - # Add introjs btn - shiny::actionButton("inferenceIntro", "Show me how") - ), - - # Measures tab item - shinydashboard::tabItem(tabName = "measures", - shiny::fluidRow( - - # Measure controls box - shinydashboard::box( - title = "Controls", - status = "success", - collapsible = TRUE, - width = 4, - shiny::helpText("Select a node measure:"), - - # Node measure input select - shiny::selectInput( - "nodeMeasure", - h5("Node Measure:"), - c("Markov Blanket" = "mb", - "Neighborhood" = "nbr", - "Parents" = "parents", - "Children" = "children", - "In Degree" = "in.degree", - "Out Degree" = "out.degree", - "Incident Arcs" = "incident.arcs", - "Incoming Arcs" = "incoming.arcs", - "Outgoing Arcs" = "outgoing.arcs" - ) - ), - - # Node input select - shiny::selectInput("nodeNames", label = shiny::h5("Node:"), - ""), - shiny::helpText("Select a network measure:"), - - # Network measure input select - shiny::selectInput( - "dendrogram", - h5("Dendrogram:"), - c("Both" = "both", - "Row" = "row", - "Column" = "column", - "None" = "none" - ) - ) - ), - - # Node measure box - shinydashboard::box( - title = "Node Measure", - status = "success", - collapsible = TRUE, - width = 8, - - # Node measure output - shiny::verbatimTextOutput("nodeText") - ), - - # Network measure box - shinydashboard::box( - title = "Adjacency Matrix", - status = "success", - collapsible = TRUE, - width = 8, - - # d3 heatmap - plotly::plotlyOutput("netTable") - ) - ), - - # Add introjs btn - shiny::actionButton("measuresIntro", "Show me how") - ) - - , - - # Editor tab item - shinydashboard::tabItem(tabName = "editor", - shiny::fluidRow( - column(6, - - # shinyAce editor box - shinydashboard::box( - title = "Editor", - status = "success", - collapsible = TRUE, - width = 12, - - # shinyAce Editor - shinyAce::aceEditor("rmd", mode = "markdown", value = code), - shiny::actionButton("eval", "Run") - ), - - # Add introjs btn - shiny::actionButton("editorIntro", "Show me how") - ), - column(6, - - # knitr output - shiny::htmlOutput("knitr") - ) - ) - ) - ) - ) -) diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/www/favicon.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/www/favicon.png deleted file mode 100644 index e45e36d..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/bn/www/favicon.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/AnIndex b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/AnIndex deleted file mode 100644 index 3505be6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/AnIndex +++ /dev/null @@ -1 +0,0 @@ -BayesianNetwork BayesianNetwork diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdb b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdb deleted file mode 100644 index 557c52f..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdb and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdx b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdx deleted file mode 100644 index 69ef5ba..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/BayesianNetwork.rdx and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/aliases.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/aliases.rds deleted file mode 100644 index 5cbba7a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/aliases.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/paths.rds b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/paths.rds deleted file mode 100644 index dd0aa3f..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/help/paths.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/00Index.html b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/00Index.html deleted file mode 100644 index cad1d69..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/00Index.html +++ /dev/null @@ -1,28 +0,0 @@ - - -R: Bayesian Network Modeling and Analysis - - - -
-

Bayesian Network Modeling and Analysis - -

-
-
-[Up] -[Top] -

Documentation for package ‘BayesianNetwork’ version 0.2

- - - -

Help Pages

- - - - - -
BayesianNetworkBayesian Network modeling and analysis.
-
diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/R.css b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/R.css deleted file mode 100644 index 2ef6cd6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/html/R.css +++ /dev/null @@ -1,120 +0,0 @@ -@media screen { - .container { - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto; - max-width: 900px; - } -} - -.rimage img { /* from knitr - for examples and demos */ - width: 96%; - margin-left: 2%; -} - -.katex { font-size: 1.1em; } - -code { - color: inherit; - background: inherit; -} - -body { - line-height: 1.4; - background: white; - color: black; -} - -a:link { - background: white; - color: blue; -} - -a:visited { - background: white; - color: rgb(50%, 0%, 50%); -} - -h1 { - background: white; - color: rgb(55%, 55%, 55%); - font-family: monospace; - font-size: 1.4em; /* x-large; */ - text-align: center; -} - -h2 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-size: 1.2em; /* large; */ - text-align: center; -} - -h3 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-size: 1.2em; /* large; */ -} - -h4 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-style: italic; - font-size: 1.2em; /* large; */ -} - -h5 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; -} - -h6 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-style: italic; -} - -img.toplogo { - width: 4em; - vertical-align: middle; -} - -img.arrow { - width: 30px; - height: 30px; - border: 0; -} - -span.acronym { - font-size: small; -} - -span.env { - font-family: monospace; -} - -span.file { - font-family: monospace; -} - -span.option{ - font-family: monospace; -} - -span.pkg { - font-weight: bold; -} - -span.samp{ - font-family: monospace; -} - -div.vignettes a:hover { - background: rgb(85%, 85%, 85%); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Dashboard.PNG b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Dashboard.PNG deleted file mode 100644 index 3b4f8a6..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Dashboard.PNG and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Icon.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Icon.png deleted file mode 100644 index 7fd82ff..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Icon.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Inference.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Inference.png deleted file mode 100644 index 12af196..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Inference.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Measures.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Measures.png deleted file mode 100644 index cbcccf7..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Measures.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Parameters.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Parameters.png deleted file mode 100644 index c1986d3..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Parameters.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Simulation.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Simulation.png deleted file mode 100644 index bcdbdf8..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Simulation.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Structure.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Structure.png deleted file mode 100644 index 1e695cb..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/images/Structure.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/Structure.png b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/Structure.png deleted file mode 100644 index d84555b..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/Structure.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.bib b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.bib deleted file mode 100644 index 46c2f22..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.bib +++ /dev/null @@ -1,74 +0,0 @@ - @Manual{BayesianNetwork, - title = {BayesianNetwork: Bayesian Network Modeling and Analysis}, - author = {Paul Govan}, - year = {2017}, - note = {R package version 0.1.3}, - url = {https://CRAN.R-project.org/package=BayesianNetwork}, - } - - @article{govan2016resource, - title={The Resource-based View on Project Risk Management}, - author={Govan, Paul and Damnjanovic, Ivan}, - journal={ASCE Journal of Construction Engineering and Management}, - year={2016}, - doi = {10.1061/(ASCE)CO.1943-7862.0001136} - } - - @article{scutari2009learning, - title={Learning Bayesian networks with the bnlearn R package}, - author={Scutari, Marco}, - journal={arXiv preprint arXiv:0908.3817}, - year={2009} - } - - @Manual{shiny, - title = {shiny: Web Application Framework for R}, - author = {Winston Chang and Joe Cheng and JJ Allaire and Yihui Xie and Jonathan McPherson}, - year = {2017}, - note = {R package version 1.0.3}, - url = {https://CRAN.R-project.org/package=shiny}, - } - - @Manual{shinydashboard, - title = {shinydashboard: Create Dashboards with 'Shiny'}, - author = {Winston Chang and Barbara {Borges Ribeiro}}, - year = {2017}, - note = {R package version 0.6.1}, - url = {https://CRAN.R-project.org/package=shinydashboard}, - } - - @Manual{heatmaply, - title = {heatmaply: Interactive Cluster Heat Maps Using 'plotly'}, - author = {Tal Galili}, - year = {2017}, - note = {R package version 0.10.1}, - url = {https://CRAN.R-project.org/package=heatmaply}, - } - - @Manual{networkD3, - title = {networkD3: D3 JavaScript Network Graphs from R}, - author = {J.J. Allaire and Christopher Gandrud and Kenton Russell and CJ Yetman}, - year = {2017}, - note = {R package version 0.4}, - url = {https://CRAN.R-project.org/package=networkD3}, - } - - @Article{rintrojs, - title = {{rintrojs}: A Wrapper for the Intro.js Library}, - author = {Carl Ganz}, - journal = {Journal of Open Source Software}, - publisher = {The Open Journal}, - year = {2016}, - volume = {1}, - issue = {6}, - month = {October}, - url = {http://dx.doi.org/10.21105/joss.00063}, - } - - @Manual{shinyAce, - title = {shinyAce: Ace Editor Bindings for Shiny}, - author = {{Trestle Technology, LLC}}, - year = {2016}, - note = {R package version 0.2.1}, - url = {https://CRAN.R-project.org/package=shinyAce}, - } diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.html b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.html deleted file mode 100644 index 1de3d19..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - - - -BayesianNetwork: Interactive Bayesian Network Modeling and Analysis - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -
-

Summary

-

BayesianNetwork (Govan 2017) is a shiny (Chang et al. 2017) web application for Bayesian Network modeling and analysis, providing a front-end to the bnlearn (Scutari 2009) package for Bayesian Network learning. The application includes structural learning algorithms for learning the structure of the network with support for both discrete and continuous variables, parameter learning methods for estimating the network parameters, procedures for adding evidence to the network and performing Bayesian inference, and node and network utilities for measuring the importance of connections in the network. BayesianNetwork originated as a research project for risk analysis applications, where the primary motivation was to develop an app for modeling and analyzing Bayesian Networks in an interactive environment (Govan and Damnjanovic 2016). The goal is that the package be both powerful and intuitive, serving as a tool for researchers, educators and students alike. The package documentation includes examples and additional resources for running the software.

-
-The Structure Tab -

The Structure Tab

-
-
-
-

References

-
-
-

Allaire, J.J., Christopher Gandrud, Kenton Russell, and CJ Yetman. 2017. NetworkD3: D3 Javascript Network Graphs from R. https://CRAN.R-project.org/package=networkD3.

-
-
-

Chang, Winston, and Barbara Borges Ribeiro. 2017. Shinydashboard: Create Dashboards with ’Shiny’. https://CRAN.R-project.org/package=shinydashboard.

-
-
-

Chang, Winston, Joe Cheng, JJ Allaire, Yihui Xie, and Jonathan McPherson. 2017. Shiny: Web Application Framework for R. https://CRAN.R-project.org/package=shiny.

-
-
-

Galili, Tal. 2017. Heatmaply: Interactive Cluster Heat Maps Using ’Plotly’. https://CRAN.R-project.org/package=heatmaply.

-
-
-

Ganz, Carl. 2016. “rintrojs: A Wrapper for the Intro.js Library.” Journal of Open Source Software 1 (6). The Open Journal. http://dx.doi.org/10.21105/joss.00063.

-
-
-

Govan, Paul. 2017. BayesianNetwork: Bayesian Network Modeling and Analysis. https://CRAN.R-project.org/package=BayesianNetwork.

-
-
-

Govan, Paul, and Ivan Damnjanovic. 2016. “The Resource-Based View on Project Risk Management.” ASCE Journal of Construction Engineering and Management. doi:10.1061/(ASCE)CO.1943-7862.0001136.

-
-
-

Scutari, Marco. 2009. “Learning Bayesian Networks with the Bnlearn R Package.” ArXiv Preprint ArXiv:0908.3817.

-
-
-

Trestle Technology, LLC. 2016. ShinyAce: Ace Editor Bindings for Shiny. https://CRAN.R-project.org/package=shinyAce.

-
-
-
- - - - -
- - - - - - - - diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.md b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.md deleted file mode 100644 index b8bd4e0..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 'BayesianNetwork: Interactive Bayesian Network Modeling and Analysis' -authors: -- affiliation: 1 - name: Paul B. Govan - orcid: 0000-0002-1821-8492 -date: "14 July 2017" -output: - pdf_document: default - html_document: - fig_caption: yes -nocite: | - @shinydashboard, @heatmaply, @networkD3, @rintrojs, @shinyAce -bibliography: paper.bib -tags: -- bayesian-networks -- network-measures -- learning-algorithms -- r -- shiny -affiliations: -- index: 1 - name: GE Renewable Energy ---- - -# Summary - -`BayesianNetwork` [@BayesianNetwork] is a `shiny` [@shiny] web application for Bayesian Network modeling and analysis, providing a front-end to the `bnlearn` [@scutari2009learning] package for Bayesian Network learning. The application includes structural learning algorithms for learning the structure of the network with support for both discrete and continuous variables, parameter learning methods for estimating the network parameters, procedures for adding evidence to the network and performing Bayesian inference, and node and network utilities for measuring the importance of connections in the network. `BayesianNetwork` originated as a research project for risk analysis applications, where the primary motivation was to develop an app for modeling and analyzing Bayesian Networks in an interactive environment [@govan2016resource]. The goal is that the package be both powerful and intuitive, serving as a tool for researchers, educators and students alike. The package documentation includes examples and additional resources for running the software. - -![The Structure Tab](Structure.png) - -# References diff --git a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.pdf b/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.pdf deleted file mode 100644 index f5c6f17..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/BayesianNetwork/paper/paper.pdf and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/DESCRIPTION b/revdep/library.noindex/BayesianNetwork/new/bslib/DESCRIPTION deleted file mode 100644 index cd69038..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/DESCRIPTION +++ /dev/null @@ -1,68 +0,0 @@ -Package: bslib -Title: Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown' -Version: 0.5.0 -Authors@R: c( - person("Carson", "Sievert", role = c("aut", "cre"), email = "carson@rstudio.com", comment = c(ORCID = "0000-0002-4958-2844")), - person("Joe", "Cheng", role = "aut", email = "joe@rstudio.com"), - person("Garrick", "Aden-Buie", role = "aut", email = "garrick@posit.co", comment = c(ORCID = "0000-0002-7111-0077")), - person(given = "Posit Software, PBC", role = c("cph", "fnd")), - person(family = "Bootstrap contributors", role = "ctb", - comment = "Bootstrap library"), - person(family = "Twitter, Inc", role = "cph", - comment = "Bootstrap library"), - person("Javi", "Aguilar", role = c("ctb", "cph"), - comment = "Bootstrap colorpicker library"), - person("Thomas", "Park", role = c("ctb", "cph"), - comment = "Bootswatch library"), - person(family = "PayPal", role = c("ctb", "cph"), - comment = "Bootstrap accessibility plugin") - ) -Description: Simplifies custom 'CSS' styling of both 'shiny' and - 'rmarkdown' via 'Bootstrap' 'Sass'. Supports 'Bootstrap' 3, 4 and 5 as - well as their various 'Bootswatch' themes. An interactive widget is - also provided for previewing themes in real time. -License: MIT + file LICENSE -URL: https://rstudio.github.io/bslib/, https://github.com/rstudio/bslib -BugReports: https://github.com/rstudio/bslib/issues -Depends: R (>= 2.10) -Imports: base64enc, cachem, grDevices, htmltools (>= 0.5.4), jquerylib - (>= 0.1.3), jsonlite, memoise (>= 2.0.1), mime, rlang, sass (>= - 0.4.0) -Suggests: bsicons, curl, fontawesome, ggplot2, knitr, magrittr, - rappdirs, rmarkdown (>= 2.7), shiny (>= 1.6.0), testthat, - thematic, withr -Encoding: UTF-8 -RoxygenNote: 7.2.3 -Collate: 'accordion.R' 'bootswatch.R' 'breakpoints.R' - 'bs-current-theme.R' 'bs-dependencies.R' 'bs-global.R' - 'bs-remove.R' 'bs-theme-layers.R' 'utils.R' - 'bs-theme-preview.R' 'bs-theme-update.R' 'bs-theme.R' 'card.R' - 'deprecated.R' 'files.R' 'fill.R' 'imports.R' 'layout.R' - 'nav-items.R' 'nav-update.R' 'navs-legacy.R' 'navs.R' - 'onLoad.R' 'page.R' 'precompiled.R' 'print.R' 'shiny-devmode.R' - 'sidebar.R' 'staticimports.R' 'utils-shiny.R' 'utils-tags.R' - 'value-box.R' 'version-default.R' 'versions.R' -Config/testthat/edition: 3 -Config/Needs/routine: chromote, desc, renv -Config/Needs/website: brio, crosstalk, dplyr, DT, ggplot2, glue, - htmlwidgets, leaflet, lorem, palmerpenguins, plotly, purrr, - rprojroot, rstudio/htmltools, scales, stringr, tidyr, webshot2 -Config/Needs/deploy: BH, cpp11, dplyr, DT, ggplot2, ggridges, gt, - hexbin, histoslider, lattice, leaflet, lubridate, modelr, - nycflights13, plotly, reactable, reshape2, rprojroot, - rsconnect, scales -NeedsCompilation: no -Packaged: 2023-06-09 12:27:20 UTC; cpsievert -Author: Carson Sievert [aut, cre] (), - Joe Cheng [aut], - Garrick Aden-Buie [aut] (), - Posit Software, PBC [cph, fnd], - Bootstrap contributors [ctb] (Bootstrap library), - Twitter, Inc [cph] (Bootstrap library), - Javi Aguilar [ctb, cph] (Bootstrap colorpicker library), - Thomas Park [ctb, cph] (Bootswatch library), - PayPal [ctb, cph] (Bootstrap accessibility plugin) -Maintainer: Carson Sievert -Repository: CRAN -Date/Publication: 2023-06-09 13:10:02 UTC -Built: R 4.2.0; ; 2023-06-10 11:22:27 UTC; unix diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/INDEX b/revdep/library.noindex/BayesianNetwork/new/bslib/INDEX deleted file mode 100644 index 2a65ce8..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/INDEX +++ /dev/null @@ -1,33 +0,0 @@ -accordion Create a vertically collapsing accordion -accordion_panel_set Dynamically update accordions -as_fill_carrier Test and/or coerce fill behavior -bootswatch_themes Obtain a list of all available bootswatch - themes. -breakpoints Define breakpoint values -bs_add_variables Add low-level theming customizations -bs_current_theme Obtain the currently active theme at render - time -bs_dependency Themeable HTML components -bs_get_variables Retrieve Sass variable values from the current - theme -bs_global_theme Global theming -bs_remove Remove or retrieve Sass code from a theme -bs_theme Create a Bootstrap theme -bs_theme_dependencies Compile Bootstrap Sass with (optional) theming -bs_theme_preview Preview the currently set theme -card A Bootstrap card component -card_body Card items -font_face Helpers for importing web fonts -layout_column_wrap A grid-like, column-first, layout -layout_columns Responsive column-based grid layouts -nav-items Navigation items -nav_select Dynamically update nav containers -navset Navigation containers -page Create a Bootstrap page -page_sidebar A sidebar page (i.e., dashboard) -run_with_themer Theme customization UI -sidebar Sidebar layouts -theme_bootswatch Obtain a theme's Bootswatch theme name -theme_version Obtain a theme's Bootstrap version -value_box Value box -versions Available Bootstrap versions diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/LICENSE b/revdep/library.noindex/BayesianNetwork/new/bslib/LICENSE deleted file mode 100644 index 8c2ccf3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/LICENSE +++ /dev/null @@ -1,2 +0,0 @@ -YEAR: 2021 -COPYRIGHT HOLDER: bslib contributors diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/Rd.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/Rd.rds deleted file mode 100644 index 1f0a67a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/Rd.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/features.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/features.rds deleted file mode 100644 index a253595..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/features.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/hsearch.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/hsearch.rds deleted file mode 100644 index cf0d9eb..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/hsearch.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/links.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/links.rds deleted file mode 100644 index 40afe63..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/links.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/nsInfo.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/nsInfo.rds deleted file mode 100644 index e30dc7f..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/nsInfo.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/package.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/package.rds deleted file mode 100644 index 44596d5..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/Meta/package.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/NAMESPACE b/revdep/library.noindex/BayesianNetwork/new/bslib/NAMESPACE deleted file mode 100644 index 59086a2..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/NAMESPACE +++ /dev/null @@ -1,151 +0,0 @@ -# Generated by roxygen2: do not edit by hand - -S3method(is_fill_item,default) -S3method(is_fill_item,htmlwidget) -S3method(is_fillable_container,default) -S3method(is_fillable_container,htmlwidget) -S3method(print,bslib_breakpoints) -S3method(print,bslib_fragment) -S3method(print,bslib_page) -export(accordion) -export(accordion_panel) -export(accordion_panel_close) -export(accordion_panel_insert) -export(accordion_panel_open) -export(accordion_panel_remove) -export(accordion_panel_set) -export(accordion_panel_update) -export(as.card_item) -export(as_fill_carrier) -export(as_fill_item) -export(as_fillable_container) -export(bootstrap) -export(bootstrap_sass) -export(bootswatch_themes) -export(breakpoints) -export(bs_add_declarations) -export(bs_add_functions) -export(bs_add_mixins) -export(bs_add_rules) -export(bs_add_variables) -export(bs_bundle) -export(bs_current_theme) -export(bs_dependency) -export(bs_dependency_defer) -export(bs_get_contrast) -export(bs_get_variables) -export(bs_global_add_rules) -export(bs_global_add_variables) -export(bs_global_bundle) -export(bs_global_clear) -export(bs_global_get) -export(bs_global_set) -export(bs_global_theme) -export(bs_global_theme_update) -export(bs_remove) -export(bs_retrieve) -export(bs_theme) -export(bs_theme_accent_colors) -export(bs_theme_add) -export(bs_theme_add_variables) -export(bs_theme_base_colors) -export(bs_theme_clear) -export(bs_theme_dependencies) -export(bs_theme_fonts) -export(bs_theme_get) -export(bs_theme_get_variables) -export(bs_theme_new) -export(bs_theme_preview) -export(bs_theme_set) -export(bs_theme_update) -export(bs_themer) -export(card) -export(card_body) -export(card_body_fill) -export(card_footer) -export(card_header) -export(card_image) -export(card_title) -export(font_collection) -export(font_face) -export(font_google) -export(font_link) -export(is.card_item) -export(is_bs_theme) -export(is_fill_carrier) -export(is_fill_item) -export(is_fillable_container) -export(layout_column_wrap) -export(layout_columns) -export(layout_sidebar) -export(nav) -export(nav_append) -export(nav_content) -export(nav_hide) -export(nav_insert) -export(nav_item) -export(nav_menu) -export(nav_panel) -export(nav_panel_hidden) -export(nav_prepend) -export(nav_remove) -export(nav_select) -export(nav_show) -export(nav_spacer) -export(navs_bar) -export(navs_hidden) -export(navs_pill) -export(navs_pill_card) -export(navs_pill_list) -export(navs_tab) -export(navs_tab_card) -export(navset_bar) -export(navset_card_pill) -export(navset_card_tab) -export(navset_hidden) -export(navset_pill) -export(navset_pill_list) -export(navset_tab) -export(page) -export(page_fill) -export(page_fillable) -export(page_fixed) -export(page_fluid) -export(page_navbar) -export(page_sidebar) -export(precompiled_css_path) -export(remove_all_fill) -export(run_with_themer) -export(showcase_left_center) -export(showcase_top_right) -export(sidebar) -export(sidebar_toggle) -export(theme_bootswatch) -export(theme_version) -export(value_box) -export(version_default) -export(versions) -import(htmltools) -import(sass) -importFrom(grDevices,col2rgb) -importFrom(jquerylib,jquery_core) -importFrom(jsonlite,fromJSON) -importFrom(rlang,":=") -importFrom(rlang,abort) -importFrom(rlang,is_missing) -importFrom(rlang,list2) -importFrom(rlang,maybe_missing) -importFrom(rlang,missing_arg) -importFrom(sass,font_collection) -importFrom(sass,font_face) -importFrom(sass,font_google) -importFrom(sass,font_link) -importFrom(stats,na.omit) -importFrom(stats,setNames) -importFrom(tools,file_path_sans_ext) -importFrom(utils,URLencode) -importFrom(utils,download.file) -importFrom(utils,getFromNamespace) -importFrom(utils,head) -importFrom(utils,modifyList) -importFrom(utils,packageVersion) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/NEWS.md b/revdep/library.noindex/BayesianNetwork/new/bslib/NEWS.md deleted file mode 100644 index 43fd097..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/NEWS.md +++ /dev/null @@ -1,147 +0,0 @@ -# bslib 0.5.0 - -This significant release focuses on making dashboards with filling/responsive layouts easier. See the new [Getting Started with Dashboards article](https://rstudio.github.io/bslib/articles/dashboards.html) to learn more. It also includes new components (`accordion()`) as well as many improvements and bug fixes for existing features and components. - -`{bslib}`'s dashboarding features are still experimental at this point, but this release represents a significant step towards being our recommended way to create Shiny dashboards. - -## Breaking changes / improvements - -* `card_body()` now provides the same behavior as `card_body_fill()` (i.e., it is both a fillable container and fill item) by default. And, now, since `card_body()` can do everything `card_body_fill()` can do, `card_body_fill()` has been deprecated. The main benefit of this change is that `card(full_screen = TRUE, ...)` with output(s) passed to `...` "just works" in an intuitive way. To revert to the previous behavior, set `fillable = FALSE` and `fill = FALSE` in calls to `card_body()` and set `wrapper = function(x) card_body(x, fillable = FALSE, fill = FALSE)` in calls to `card()`. (#498) -* Closed #375: `margin-top` is no longer included on header tags that aren't created via pandoc. If this negatively impacts spacing above headers, consider adding a suitable [utility class](https://rstudio.github.io/bslib/articles/utility-classes.html) (for example, change `shiny::titlePanel("My title")` to `tagAppendAttributes(titlePanel("My title"), class = "mt-3", .selector = "h2")`). (#396) -* `page_fill()` (now called `page_fillable()`) had several breaking changes (listed below) to better accommodate filling layouts. If this breaks existing behavior, consider using `shiny::fillPage(theme = bslib::bs_theme(), ...)` instead of `page_fill()`. - * `page_fill()` now produces a `` tag with `display:flex` (instead of `display:block`). - * `page_fill()` no longer fills the windows height on mobile (i.e., narrow screens) by default (set `fillable_mobile = TRUE` to restore the old behavior). - * `page_fill()` now adds `padding` and `gap` by default, set `padding = 0` and `gap = 0` to restore the old behavior. -* `page_navbar()` (and also `shiny::navbarPage()` with `theme = bs_theme()`) had a couple breaking changes: - * The container of each page is now `display:flex` (instead of `display:block`). If this breaks existing behavior, set `page_navbar()`'s `fillable` argument to `FALSE`. - * `header` and `footer` is no longer wrapped in an additional `shiny::fluidRow()` container. If this breaks existing behavior, consider wrapping the `header` and `footer` value(s) with `shiny::fluidRow()`). (#479) -* `layout_column_wrap()`'s `fill` argument now controls whether or not the _layout container_ is allowed to grow/shrink to fit a fillable container (e.g., `page_fillable()`). It also gains a new `fillable` argument for controlling whether _UI elements_ are allowed to fill their row height. This is more consistent with the meaning of `fill` in other functions, like `card()`, `card_body()`, `layout_sidebar()`, etc. (#498) -* Defaults for the following Bootstrap 5 Sass variables were changed to `null`: `$accordion-button-active-bg`, `$accordion-button-active-color`, and `$accordion-icon-active-color`. To restore the old behavior, do `bs_add_variables(theme, "accordion-button-active-bg" = "tint-color($component-active-bg, 90%)", "accordion-button-active-color" = "shade-color($primary, 10%)", "accordion-icon-active-color" = "$accordion-button-active-color", .where = "declarations")`. (#475) - -## New features - -* Added `page_sidebar()`, for easy dashboard creation. (#588) -* Added a `sidebar()` API for creating sidebar layouts in various contexts. See [the article](https://rstudio.github.io/bslib/articles/sidebars.html) to learn more. (#479) -* Added `layout_columns()`, for responsive column-based grid layouts. (#587) -* Adds a new `accordion()` API. See `help(accordion)` for examples and details. Note also `accordion()` is designed to [work well inside a `sidebar()`](https://rstudio.github.io/bslib/articles/sidebars.html#sidebar-accordions). (#475) -* `page_navbar()`, `navset_card_tab()`, and ` navset_card_pill()` gain a `sidebar` argument for putting a `sidebar()` on every page/tab/pill. (#479) -* `page_navbar()` gains a `fillable` argument to make the content of particular page(s) fit the window/card. (#479) -* `page_fillable()` (aka, `page_fill()`) is now considered a `fillable` container, meaning that `fill` items like `card()`, `layout_column_wrap()`, and `layout_sidebar()` now grow/shrink to fit the window's height when they appear as a direct child of `page_fillable()`. (#479) -* `page_navbar()` and `page_fillable()` gain `fillable_mobile` arguments to control whether the page should grow/shrink to fit the viewport on mobile. (#479) -* `card()`, `value_box()`, and `card_image()` gain `max_height`/`min_height` and `fill` arguments. (#498) -* `card_body()` gains a `padding` argument. (#587) -* Added new `as_fill()`, `as_fillable()`, `as_fill_carrier()`, `is_fill()`, and `is_fillable()` for testing and coercing potential to fill. (#498) - -## Bug fixes - -* Closed #558: nested cards with `fullscreen = TRUE` now correctly and individually expand to fill the window. Tab focus behavior while in full screen mode has also been improved. (#557) -* Closed #573: Improved styling when a dynamic result is supplied to `value_box()`'s `title`/`value` (e.g., `value_box("Dynamic value", uiOutput("value"))`). (#605) - - -## Deprecations - -* `card_body_fill()` has been deprecated in favor of `card_body()`. (#498) -* `page_fill()` has been deprecated in favor of `page_fillable()`. (#498) -* `nav()` has been deprecated in favor of `nav_panel()` and `nav_content()` in favor of `nav_panel_hidden()`. (#476) -* The `navs_*()` family of functions have been deprecated in favor of `navset_*()` (#476): - * `navs_tab()` is now `navset_tab()` - * `navs_pill()` is now `navset_pill()` - * `navs_pill_list()` is now `navset_pill_list()` - * `navs_bar()` is now `navset_bar()` - * `navs_tab_card()` and `navs_pill_card()` are now `navset_card_tab()` and `navset_card_pill()`, respectively. - -# bslib 0.4.2 - -## Potentially breaking changes - -* Upgraded Bootstrap 5 (i.e., `bs_theme(version = 5)`) from 5.1.3 to 5.2.2. (#438, #455) - -## New features - -* Adds a new `card()` API as well as `value_box()` and `layout_column_wrap()`. To learn more about this new functionality, refer to these new pkgdown articles: - - * https://rstudio.github.io/bslib/articles/cards.html - * https://rstudio.github.io/bslib/articles/value-boxes.html - * https://rstudio.github.io/bslib/articles/column-layout.html - -# bslib 0.4.1 - -## Bug Fixes - -* Closed #458. This release `{bslib}` now requires `{memoise}` 2.0.1 or above. - -# bslib 0.4.0 - -## Breaking changes - -* `bs_theme()` now defaults to `version = 5` (i.e., Bootstrap 5). If this change happens to break an existing app, consider specifying `bs_theme(version = 4)` to revert the change in the Bootstrap version. (#374) -* The default coloring on some Bootswatch 4+ theme's `.navbar-default`/`.navbar-inverse` class has changed slightly to better match their Bootswatch 3 coloring. Also, since this coloring is now based solely on [`$navbar-*` variables](https://rstudio.github.io/bslib/articles/bs5-variables.html), Bootswatch themes now work better in combination with custom `$navbar-*` values (e.g., `bs_theme("navbar-bg" = ...)` can be used to provide the background color, and foreground colors will automatically contrast appropriately). (#392) - -## New features - -* Upgraded Bootstrap 5 (i.e., `bs_theme(version = 5)`) from 5.1.0 to 5.1.3 (#378) -* Closed #369: `bs_dependency_defer()` now memoises `func` (by default), reducing the time required to render multiple instances of the same [dynamically themable widget](https://rstudio.github.io/bslib/articles/custom-components.html#dynamically-themeable-component). (#405) - -## Bug fixes - -* Closed #393: Bootstrap 5's `$form-check-label-*` variables now work as expected with `shiny::radioButtons()`, `shiny::checkboxInput()`, and `shiny::checkboxGroupInput()`. (#395) -* Closed #382: Various fixes for using `shiny::checkboxInput()`, `shiny::checkboxGroupInput()`, and `shiny::radioButton()` with `bs_theme(version = 5, bootswatch = "sketchy")`. (#385) -* Closed #377: make sure `shiny::tabsetPanel(type = "hidden")` (i.e., `bslib::navs_hidden()`) stays hidden when used with `bs_theme()`. (#379) -* Closed #424: fixed an issue with `nav_menu()` appearing first in a `navs_*()` container with Bootstrap 4+. -* Closed #431: Bootstrap 5 navbars no longer have an unwanted "Toggle Navigation" label when collapsed. (#432) -* Closed #400: `nav_menu(align="right")` now works with Bootstrap 5. (#401) -* Closed #390: using `bs_theme(bootswatch = "paper", version = 5)` or `bs_theme(bootswatch = "readable", version = 5)` no longer errors. (#391) - -# bslib 0.3.1 - -## New features - -* Upgraded Bootstrap 5 (i.e., `bs_theme(version = 5)`) from 5.0.2 to 5.1.0 (#365) - -## Bug fixes - -* Closed rstudio/shiny#3519: `nav_menu()` (i.e., `shiny::navbarMenu()`) wasn't producing an `.active` class on it's `.dropdown` container properly. (#372) - -# bslib 0.3.0 - -## Breaking changes - -* Closed rstudio/rmarkdown#2154: `{magrittr}`'s pipe operator (`%>%`) is no longer re-exported by `{bslib}`. Either `library(magrittr)` to make `%>%` available and/or use use R 4.1's pipe operator (`|>`). - -## New features - -* Closed #82: Added support for Bootstrap 5 (via `bs_theme(version = 5)`). Bootstrap 4 remains the default in this release, but the next release, the default will likely change to Bootstrap 5. - -## Bug fixes - -* Closed #6: rmarkdown's .tabset-fade class now works with Bootstrap 4+ since legacy use of .nav .fade is now officially supported in Bootstrap 4+. (#325) - -# bslib 0.2.5.1 - -Small patch release to fix failing test on Solaris. - -# bslib 0.2.5 - -## New features and improvements - -* Closed #251: New `bs_theme()` options (`navbar-bg`, `navbar-light-bg`, and `navbar-dark-bg`) for more easily customizing the navbar's background (and foreground) color (#253, #271). -* Closed #281: New `bs_theme()` argument (`font_scale`) for easier scaling of the base font size (#288). -* Closed #256 and #282: Font file importers (`font_google()`, `font_link()`, and `font_face()`) are now re-exported from the `{sass}` package. As a result, they may now be used with any Sass variable (e.g., `bs_theme("input-font-family" = font_google("Pacifico"))`) as well as inside Rmd yaml without `!expr` (e.g., `input-font-family: google: Pacifico` -- see #256 for more details). A new `font_collection()` function was also added for a more convenient way to specify font fallbacks (#291). -* Closed #255: `bs_themer()` now emits sensible `yaml` front matter when used within an Rmd document (#288). -* Closed #227: `bs_themer()` now overlays a spinner during Sass compilation (#243). -* Closed #278: `{bslib}` now includes `rmarkdown::html_document` templates demonstrating example usage with `{bslib}` and `{thematic}` (#288). -* Closed #231: Upgraded from Bootstrap 4.5.3 to 4.6.0 (#254). -* Closed #237: `
` tags now have border-left/padding styles with `version = 4` (to mirror the `version = 3` behavior) (#239). -* Closed #279: Warnings about low color contrasts are now suppressed by default, unless `shiny::devmode()` is enabled. To enable/disable these warnings, set the new `options(bslib.color_contrast_warnings = )` to `TRUE`/`FALSE` (#287). -* `bs_theme_dependencies()` now includes Sass source maps when `shiny::devmode()` is enabled (#312). -* Added new `bs_add_functions()`/`bs_add_mixins()` and deprecated `bs_add_declarations()` to reflect `sass::sass_layer()`'s new ability to place `functions` _before_ variable `defaults`. As a result, variable definitions may now use functions defined with `bs_add_functions()`. (#311) - -## Bug fixes - -* Closed #236, #230, #242, #187, #215, #250: Addressed various cosmetic issues with CSS (#249). -* Closed #289: collapsed navbar toggle now correctly floats to the right (#290). -* Closed [rstudio/flexdashboard#316](https://github.com/rstudio/flexdashboard/issues/316): fixed an issue with navbar nav spacing/alignment (#286). - -# bslib 0.2.4 - -* Initial release of the package, see https://rstudio.github.io/bslib/ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib b/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib deleted file mode 100644 index 6686156..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib +++ /dev/null @@ -1,27 +0,0 @@ -# File share/R/nspackloader.R -# Part of the R package, https://www.R-project.org -# -# Copyright (C) 1995-2012 The R Core Team -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# A copy of the GNU General Public License is available at -# https://www.r-project.org/Licenses/ - -local({ - info <- loadingNamespaceInfo() - pkg <- info$pkgname - ns <- .getNamespace(as.name(pkg)) - if (is.null(ns)) - stop("cannot find namespace environment for ", pkg, domain = NA); - dbbase <- file.path(info$libname, pkg, "R", pkg) - lazyLoad(dbbase, ns, filter = function(n) n != ".__NAMESPACE__.") -}) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdb b/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdb deleted file mode 100644 index 3018989..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdb and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdx b/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdx deleted file mode 100644 index 2fcd234..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/R/bslib.rdx and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdb b/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdb deleted file mode 100644 index 68bcfdb..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdb and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdx b/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdx deleted file mode 100644 index ed948b7..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/R/sysdata.rdx and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_declarations.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_declarations.scss deleted file mode 100644 index 743682e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_declarations.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Cards are white by default, but we want a smarter default for .well -// that it appears gray by default -$well-bg: $card-cap-bg !default; -$well-color: $body-color !default; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_defaults.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_defaults.scss deleted file mode 100644 index b6bce5a..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_defaults.scss +++ /dev/null @@ -1,2 +0,0 @@ -// BS3 had .navbar { margin-bottom: 20px; } -$navbar-margin-bottom: 20px !default; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_dropdown_compat.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_dropdown_compat.scss deleted file mode 100644 index 0f4d195..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_dropdown_compat.scss +++ /dev/null @@ -1,23 +0,0 @@ -// # DROPDOWNS -// -// In bs3, dropdown menus are .dropdown-menu>li.active>a -// In bs4, dropdown menus are .dropdown-menu>.dropdown-item.active -// -// Also, bs3 dropdowns within tabs/pills are interfered with in bs4 by -// selectors like `.bs-tabs li>a`, making menu items look like tabs. - -.dropdown-menu>li>a { - @extend .dropdown-item; -} -.dropdown-menu>li.active>a { - // This @extend works, but it litters `.dropdown-menu>li.active>a` all over - // the bootstrap.css output because it's such a common class. Instead, we - // copy these few properties from from _dropdown.scss. - // @extend .active; - color: $dropdown-link-active-color; - text-decoration: none; - @include gradient-bg($dropdown-link-active-bg); -} -.dropdown-menu>li.divider { - @extend .dropdown-divider; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_glyphicons.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_glyphicons.scss deleted file mode 100644 index 9b4d9cf..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_glyphicons.scss +++ /dev/null @@ -1,313 +0,0 @@ -// This file is auto-generated by tools/glyphicons.R -// Consider making edits there before editing this file. -$bootstrap-sass-asset-helper: false; -$icon-font-name: 'glyphicons-halflings-regular'; -$icon-font-svg-id: 'glyphicons_halflingsregular'; -$icon-font-path: 'fonts/bootstrap/'; -// -// Glyphicons for Bootstrap -// -// Since icons are fonts, they can be placed anywhere text is placed and are -// thus automatically sized to match the surrounding child. To use, create an -// inline element with the appropriate classes, like so: -// -// Star - -@at-root { - // Import the fonts - @font-face { - font-family: 'Glyphicons Halflings'; - src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot')); - src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'), - url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg'); - } -} - -// Catchall baseclass -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -// Individual icons -.glyphicon-asterisk { &:before { content: "\2a"; } } -.glyphicon-plus { &:before { content: "\2b"; } } -.glyphicon-euro, -.glyphicon-eur { &:before { content: "\20ac"; } } -.glyphicon-minus { &:before { content: "\2212"; } } -.glyphicon-cloud { &:before { content: "\2601"; } } -.glyphicon-envelope { &:before { content: "\2709"; } } -.glyphicon-pencil { &:before { content: "\270f"; } } -.glyphicon-glass { &:before { content: "\e001"; } } -.glyphicon-music { &:before { content: "\e002"; } } -.glyphicon-search { &:before { content: "\e003"; } } -.glyphicon-heart { &:before { content: "\e005"; } } -.glyphicon-star { &:before { content: "\e006"; } } -.glyphicon-star-empty { &:before { content: "\e007"; } } -.glyphicon-user { &:before { content: "\e008"; } } -.glyphicon-film { &:before { content: "\e009"; } } -.glyphicon-th-large { &:before { content: "\e010"; } } -.glyphicon-th { &:before { content: "\e011"; } } -.glyphicon-th-list { &:before { content: "\e012"; } } -.glyphicon-ok { &:before { content: "\e013"; } } -.glyphicon-remove { &:before { content: "\e014"; } } -.glyphicon-zoom-in { &:before { content: "\e015"; } } -.glyphicon-zoom-out { &:before { content: "\e016"; } } -.glyphicon-off { &:before { content: "\e017"; } } -.glyphicon-signal { &:before { content: "\e018"; } } -.glyphicon-cog { &:before { content: "\e019"; } } -.glyphicon-trash { &:before { content: "\e020"; } } -.glyphicon-home { &:before { content: "\e021"; } } -.glyphicon-file { &:before { content: "\e022"; } } -.glyphicon-time { &:before { content: "\e023"; } } -.glyphicon-road { &:before { content: "\e024"; } } -.glyphicon-download-alt { &:before { content: "\e025"; } } -.glyphicon-download { &:before { content: "\e026"; } } -.glyphicon-upload { &:before { content: "\e027"; } } -.glyphicon-inbox { &:before { content: "\e028"; } } -.glyphicon-play-circle { &:before { content: "\e029"; } } -.glyphicon-repeat { &:before { content: "\e030"; } } -.glyphicon-refresh { &:before { content: "\e031"; } } -.glyphicon-list-alt { &:before { content: "\e032"; } } -.glyphicon-lock { &:before { content: "\e033"; } } -.glyphicon-flag { &:before { content: "\e034"; } } -.glyphicon-headphones { &:before { content: "\e035"; } } -.glyphicon-volume-off { &:before { content: "\e036"; } } -.glyphicon-volume-down { &:before { content: "\e037"; } } -.glyphicon-volume-up { &:before { content: "\e038"; } } -.glyphicon-qrcode { &:before { content: "\e039"; } } -.glyphicon-barcode { &:before { content: "\e040"; } } -.glyphicon-tag { &:before { content: "\e041"; } } -.glyphicon-tags { &:before { content: "\e042"; } } -.glyphicon-book { &:before { content: "\e043"; } } -.glyphicon-bookmark { &:before { content: "\e044"; } } -.glyphicon-print { &:before { content: "\e045"; } } -.glyphicon-camera { &:before { content: "\e046"; } } -.glyphicon-font { &:before { content: "\e047"; } } -.glyphicon-bold { &:before { content: "\e048"; } } -.glyphicon-italic { &:before { content: "\e049"; } } -.glyphicon-text-height { &:before { content: "\e050"; } } -.glyphicon-text-width { &:before { content: "\e051"; } } -.glyphicon-align-left { &:before { content: "\e052"; } } -.glyphicon-align-center { &:before { content: "\e053"; } } -.glyphicon-align-right { &:before { content: "\e054"; } } -.glyphicon-align-justify { &:before { content: "\e055"; } } -.glyphicon-list { &:before { content: "\e056"; } } -.glyphicon-indent-left { &:before { content: "\e057"; } } -.glyphicon-indent-right { &:before { content: "\e058"; } } -.glyphicon-facetime-video { &:before { content: "\e059"; } } -.glyphicon-picture { &:before { content: "\e060"; } } -.glyphicon-map-marker { &:before { content: "\e062"; } } -.glyphicon-adjust { &:before { content: "\e063"; } } -.glyphicon-tint { &:before { content: "\e064"; } } -.glyphicon-edit { &:before { content: "\e065"; } } -.glyphicon-share { &:before { content: "\e066"; } } -.glyphicon-check { &:before { content: "\e067"; } } -.glyphicon-move { &:before { content: "\e068"; } } -.glyphicon-step-backward { &:before { content: "\e069"; } } -.glyphicon-fast-backward { &:before { content: "\e070"; } } -.glyphicon-backward { &:before { content: "\e071"; } } -.glyphicon-play { &:before { content: "\e072"; } } -.glyphicon-pause { &:before { content: "\e073"; } } -.glyphicon-stop { &:before { content: "\e074"; } } -.glyphicon-forward { &:before { content: "\e075"; } } -.glyphicon-fast-forward { &:before { content: "\e076"; } } -.glyphicon-step-forward { &:before { content: "\e077"; } } -.glyphicon-eject { &:before { content: "\e078"; } } -.glyphicon-chevron-left { &:before { content: "\e079"; } } -.glyphicon-chevron-right { &:before { content: "\e080"; } } -.glyphicon-plus-sign { &:before { content: "\e081"; } } -.glyphicon-minus-sign { &:before { content: "\e082"; } } -.glyphicon-remove-sign { &:before { content: "\e083"; } } -.glyphicon-ok-sign { &:before { content: "\e084"; } } -.glyphicon-question-sign { &:before { content: "\e085"; } } -.glyphicon-info-sign { &:before { content: "\e086"; } } -.glyphicon-screenshot { &:before { content: "\e087"; } } -.glyphicon-remove-circle { &:before { content: "\e088"; } } -.glyphicon-ok-circle { &:before { content: "\e089"; } } -.glyphicon-ban-circle { &:before { content: "\e090"; } } -.glyphicon-arrow-left { &:before { content: "\e091"; } } -.glyphicon-arrow-right { &:before { content: "\e092"; } } -.glyphicon-arrow-up { &:before { content: "\e093"; } } -.glyphicon-arrow-down { &:before { content: "\e094"; } } -.glyphicon-share-alt { &:before { content: "\e095"; } } -.glyphicon-resize-full { &:before { content: "\e096"; } } -.glyphicon-resize-small { &:before { content: "\e097"; } } -.glyphicon-exclamation-sign { &:before { content: "\e101"; } } -.glyphicon-gift { &:before { content: "\e102"; } } -.glyphicon-leaf { &:before { content: "\e103"; } } -.glyphicon-fire { &:before { content: "\e104"; } } -.glyphicon-eye-open { &:before { content: "\e105"; } } -.glyphicon-eye-close { &:before { content: "\e106"; } } -.glyphicon-warning-sign { &:before { content: "\e107"; } } -.glyphicon-plane { &:before { content: "\e108"; } } -.glyphicon-calendar { &:before { content: "\e109"; } } -.glyphicon-random { &:before { content: "\e110"; } } -.glyphicon-comment { &:before { content: "\e111"; } } -.glyphicon-magnet { &:before { content: "\e112"; } } -.glyphicon-chevron-up { &:before { content: "\e113"; } } -.glyphicon-chevron-down { &:before { content: "\e114"; } } -.glyphicon-retweet { &:before { content: "\e115"; } } -.glyphicon-shopping-cart { &:before { content: "\e116"; } } -.glyphicon-folder-close { &:before { content: "\e117"; } } -.glyphicon-folder-open { &:before { content: "\e118"; } } -.glyphicon-resize-vertical { &:before { content: "\e119"; } } -.glyphicon-resize-horizontal { &:before { content: "\e120"; } } -.glyphicon-hdd { &:before { content: "\e121"; } } -.glyphicon-bullhorn { &:before { content: "\e122"; } } -.glyphicon-bell { &:before { content: "\e123"; } } -.glyphicon-certificate { &:before { content: "\e124"; } } -.glyphicon-thumbs-up { &:before { content: "\e125"; } } -.glyphicon-thumbs-down { &:before { content: "\e126"; } } -.glyphicon-hand-right { &:before { content: "\e127"; } } -.glyphicon-hand-left { &:before { content: "\e128"; } } -.glyphicon-hand-up { &:before { content: "\e129"; } } -.glyphicon-hand-down { &:before { content: "\e130"; } } -.glyphicon-circle-arrow-right { &:before { content: "\e131"; } } -.glyphicon-circle-arrow-left { &:before { content: "\e132"; } } -.glyphicon-circle-arrow-up { &:before { content: "\e133"; } } -.glyphicon-circle-arrow-down { &:before { content: "\e134"; } } -.glyphicon-globe { &:before { content: "\e135"; } } -.glyphicon-wrench { &:before { content: "\e136"; } } -.glyphicon-tasks { &:before { content: "\e137"; } } -.glyphicon-filter { &:before { content: "\e138"; } } -.glyphicon-briefcase { &:before { content: "\e139"; } } -.glyphicon-fullscreen { &:before { content: "\e140"; } } -.glyphicon-dashboard { &:before { content: "\e141"; } } -.glyphicon-paperclip { &:before { content: "\e142"; } } -.glyphicon-heart-empty { &:before { content: "\e143"; } } -.glyphicon-link { &:before { content: "\e144"; } } -.glyphicon-phone { &:before { content: "\e145"; } } -.glyphicon-pushpin { &:before { content: "\e146"; } } -.glyphicon-usd { &:before { content: "\e148"; } } -.glyphicon-gbp { &:before { content: "\e149"; } } -.glyphicon-sort { &:before { content: "\e150"; } } -.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } -.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } -.glyphicon-sort-by-order { &:before { content: "\e153"; } } -.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } -.glyphicon-sort-by-attributes { &:before { content: "\e155"; } } -.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } -.glyphicon-unchecked { &:before { content: "\e157"; } } -.glyphicon-expand { &:before { content: "\e158"; } } -.glyphicon-collapse-down { &:before { content: "\e159"; } } -.glyphicon-collapse-up { &:before { content: "\e160"; } } -.glyphicon-log-in { &:before { content: "\e161"; } } -.glyphicon-flash { &:before { content: "\e162"; } } -.glyphicon-log-out { &:before { content: "\e163"; } } -.glyphicon-new-window { &:before { content: "\e164"; } } -.glyphicon-record { &:before { content: "\e165"; } } -.glyphicon-save { &:before { content: "\e166"; } } -.glyphicon-open { &:before { content: "\e167"; } } -.glyphicon-saved { &:before { content: "\e168"; } } -.glyphicon-import { &:before { content: "\e169"; } } -.glyphicon-export { &:before { content: "\e170"; } } -.glyphicon-send { &:before { content: "\e171"; } } -.glyphicon-floppy-disk { &:before { content: "\e172"; } } -.glyphicon-floppy-saved { &:before { content: "\e173"; } } -.glyphicon-floppy-remove { &:before { content: "\e174"; } } -.glyphicon-floppy-save { &:before { content: "\e175"; } } -.glyphicon-floppy-open { &:before { content: "\e176"; } } -.glyphicon-credit-card { &:before { content: "\e177"; } } -.glyphicon-transfer { &:before { content: "\e178"; } } -.glyphicon-cutlery { &:before { content: "\e179"; } } -.glyphicon-header { &:before { content: "\e180"; } } -.glyphicon-compressed { &:before { content: "\e181"; } } -.glyphicon-earphone { &:before { content: "\e182"; } } -.glyphicon-phone-alt { &:before { content: "\e183"; } } -.glyphicon-tower { &:before { content: "\e184"; } } -.glyphicon-stats { &:before { content: "\e185"; } } -.glyphicon-sd-video { &:before { content: "\e186"; } } -.glyphicon-hd-video { &:before { content: "\e187"; } } -.glyphicon-subtitles { &:before { content: "\e188"; } } -.glyphicon-sound-stereo { &:before { content: "\e189"; } } -.glyphicon-sound-dolby { &:before { content: "\e190"; } } -.glyphicon-sound-5-1 { &:before { content: "\e191"; } } -.glyphicon-sound-6-1 { &:before { content: "\e192"; } } -.glyphicon-sound-7-1 { &:before { content: "\e193"; } } -.glyphicon-copyright-mark { &:before { content: "\e194"; } } -.glyphicon-registration-mark { &:before { content: "\e195"; } } -.glyphicon-cloud-download { &:before { content: "\e197"; } } -.glyphicon-cloud-upload { &:before { content: "\e198"; } } -.glyphicon-tree-conifer { &:before { content: "\e199"; } } -.glyphicon-tree-deciduous { &:before { content: "\e200"; } } -.glyphicon-cd { &:before { content: "\e201"; } } -.glyphicon-save-file { &:before { content: "\e202"; } } -.glyphicon-open-file { &:before { content: "\e203"; } } -.glyphicon-level-up { &:before { content: "\e204"; } } -.glyphicon-copy { &:before { content: "\e205"; } } -.glyphicon-paste { &:before { content: "\e206"; } } -// The following 2 Glyphicons are omitted for the time being because -// they currently use Unicode codepoints that are outside the -// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle -// non-BMP codepoints in CSS string escapes, and thus can't display these two icons. -// Notably, the bug affects some older versions of the Android Browser. -// More info: https://github.com/twbs/bootstrap/issues/10106 -// .glyphicon-door { &:before { content: "\1f6aa"; } } -// .glyphicon-key { &:before { content: "\1f511"; } } -.glyphicon-alert { &:before { content: "\e209"; } } -.glyphicon-equalizer { &:before { content: "\e210"; } } -.glyphicon-king { &:before { content: "\e211"; } } -.glyphicon-queen { &:before { content: "\e212"; } } -.glyphicon-pawn { &:before { content: "\e213"; } } -.glyphicon-bishop { &:before { content: "\e214"; } } -.glyphicon-knight { &:before { content: "\e215"; } } -.glyphicon-baby-formula { &:before { content: "\e216"; } } -.glyphicon-tent { &:before { content: "\26fa"; } } -.glyphicon-blackboard { &:before { content: "\e218"; } } -.glyphicon-bed { &:before { content: "\e219"; } } -.glyphicon-apple { &:before { content: "\f8ff"; } } -.glyphicon-erase { &:before { content: "\e221"; } } -.glyphicon-hourglass { &:before { content: "\231b"; } } -.glyphicon-lamp { &:before { content: "\e223"; } } -.glyphicon-duplicate { &:before { content: "\e224"; } } -.glyphicon-piggy-bank { &:before { content: "\e225"; } } -.glyphicon-scissors { &:before { content: "\e226"; } } -.glyphicon-bitcoin { &:before { content: "\e227"; } } -.glyphicon-btc { &:before { content: "\e227"; } } -.glyphicon-xbt { &:before { content: "\e227"; } } -.glyphicon-yen { &:before { content: "\00a5"; } } -.glyphicon-jpy { &:before { content: "\00a5"; } } -.glyphicon-ruble { &:before { content: "\20bd"; } } -.glyphicon-rub { &:before { content: "\20bd"; } } -.glyphicon-scale { &:before { content: "\e230"; } } -.glyphicon-ice-lolly { &:before { content: "\e231"; } } -.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } -.glyphicon-education { &:before { content: "\e233"; } } -.glyphicon-option-horizontal { &:before { content: "\e234"; } } -.glyphicon-option-vertical { &:before { content: "\e235"; } } -.glyphicon-menu-hamburger { &:before { content: "\e236"; } } -.glyphicon-modal-window { &:before { content: "\e237"; } } -.glyphicon-oil { &:before { content: "\e238"; } } -.glyphicon-grain { &:before { content: "\e239"; } } -.glyphicon-sunglasses { &:before { content: "\e240"; } } -.glyphicon-text-size { &:before { content: "\e241"; } } -.glyphicon-text-color { &:before { content: "\e242"; } } -.glyphicon-text-background { &:before { content: "\e243"; } } -.glyphicon-object-align-top { &:before { content: "\e244"; } } -.glyphicon-object-align-bottom { &:before { content: "\e245"; } } -.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } } -.glyphicon-object-align-left { &:before { content: "\e247"; } } -.glyphicon-object-align-vertical { &:before { content: "\e248"; } } -.glyphicon-object-align-right { &:before { content: "\e249"; } } -.glyphicon-triangle-right { &:before { content: "\e250"; } } -.glyphicon-triangle-left { &:before { content: "\e251"; } } -.glyphicon-triangle-bottom { &:before { content: "\e252"; } } -.glyphicon-triangle-top { &:before { content: "\e253"; } } -.glyphicon-console { &:before { content: "\e254"; } } -.glyphicon-superscript { &:before { content: "\e255"; } } -.glyphicon-subscript { &:before { content: "\e256"; } } -.glyphicon-menu-left { &:before { content: "\e257"; } } -.glyphicon-menu-right { &:before { content: "\e258"; } } -.glyphicon-menu-down { &:before { content: "\e259"; } } -.glyphicon-menu-up { &:before { content: "\e260"; } } diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_headers.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_headers.scss deleted file mode 100644 index 1f94787..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_headers.scss +++ /dev/null @@ -1,30 +0,0 @@ -// BS3 -> BS4 saw a removal of margin-top on headers, -// which is a pretty jarring change, expecially for Rmd -// https://github.com/twbs/bootstrap/blob/f17f882d/dist/css/bootstrap.css#L1219-L1250 -// https://github.com/twbs/bootstrap/blob/4de4874e/scss/_reboot.scss#L82-L89 - -@if $bootstrap-version >= 5 { - // For BS5+, only apply the margin-top if pandoc's CSS classes - // are present. This way rmarkdown::html_document_base will continue - // to have margin-top (which is good), but 'raw' headers won't, which - // leads to a better experience with accordions, popovers, etc - // (their design/examples expect headers that don't have margin-top). - // It also seems as though Quarto docs don't generate these CSS classes, - // but it also seems they've added their own rules https://github.com/quarto-dev/quarto-cli/blob/0e662c/src/resources/formats/html/bootstrap/_bootstrap-rules.scss#L595-L613. - // In pandoc, `--to html4` writes `div.section.levelX` and `--to html5` - // produces `section.levelX` elements. - .section, section { - &.level1, &.level2, &.level3 { - margin-top: 1.5 * $spacer; - } - &.level4, &.level5, &.level6 { - margin-top: $spacer; - } - } - -} @else { - - h1, h2, h3 { margin-top: 1.5 * $spacer;} - h4, h5, h6 { margin-top: $spacer; } - -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_help_text.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_help_text.scss deleted file mode 100644 index 4b5043b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_help_text.scss +++ /dev/null @@ -1,3 +0,0 @@ -.help-text, .help-block { - @extend .form-text; @extend .text-muted; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_nav_compat.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_nav_compat.scss deleted file mode 100644 index 22ed3ba..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_nav_compat.scss +++ /dev/null @@ -1,38 +0,0 @@ -// Fix tab selector borders in bs3. -.nav-tabs>li, -.nav-pills>li { - @extend .nav-item; -} -.nav-tabs>li>a, -.nav-pills>li>a { - @extend .nav-link; -} - -// Active tab/pill. -// -// bs3 uses .nav>li.active>a, bs4 uses .nav>li>a.active or .nav>li.show>a. -// -// My original approach to this was making .nav>li.active @extend .show, but -// after a lot of trial and error I could not get it to fully work. -.nav-tabs>li.active>a { - color: $nav-tabs-link-active-color; - background-color: $nav-tabs-link-active-bg; - border-color: $nav-tabs-link-active-border-color; -} -.nav-pills>li.active>a { - color: $nav-pills-link-active-color; - background-color: $nav-pills-link-active-bg; -} - -// Support vertical pills -.nav-stacked { - // Don't extend the .flex-column utility, it uses !important - // @extend .flex-column; - flex-direction: column; - -webkit-flex-direction: column; -} - - -.in { - @extend .show; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_navbar_compat.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_navbar_compat.scss deleted file mode 100644 index c214e14..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_navbar_compat.scss +++ /dev/null @@ -1,90 +0,0 @@ -// bs4 navbars require .navbar-expand[-sm|-md|-lg|-xl], but bs3 navbars -// don't have them. This selector matches .navbar without .navbar-expand -// and defaults it to .navbar-expand-sm. -.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) { - @extend .navbar-expand-sm; -} - -.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom) { - // Instead of exactly re-doing bs3's .navbar { margin-bottom }, set - // margin-top on each pane (so 'fill' panes can be flush with navbar) - & + div > .tab-content > .tab-pane { - --bslib-navbar-margin: #{$navbar-margin-bottom}; - margin-top: var(--bslib-navbar-margin); - } -} - -// Map BS3 navbar positioning to general utilities -.navbar-fixed-top { - @extend .fixed-top; -} -.navbar-fixed-bottom { - @extend .fixed-bottom; -} -.navbar-sticky-top { - @extend .sticky-top; -} - -ul.nav.navbar-nav { - flex: 1; - -webkit-flex: 1; - &.navbar-right { - flex: unset; - -webkit-flex: unset; - display: flex; - display: -webkit-flex; - justify-content: flex-end; - -webkit-justify-content: flex-end; - } -} - -ul.nav.navbar-nav>li:not(.dropdown) { - @extend .nav-item; -} -ul.nav.navbar-nav>li>a { - @extend .nav-link; -} - -// BS3 .navbar-default -> BS4 .navbar-light -.navbar.navbar-default { - // Sets a variety of fg colors which are configurable via $navbar-light-* options - @extend .navbar-light; - // To make it easier for end users to set the navbar bg color, - // we've introduced this variable - background-color: $navbar-light-bg !important; -} - -// BS3 .navbar-inverse -> BS4 .navbar-dark -.navbar.navbar-inverse { - // Sets a variety of fg colors which are configurable via $navbar-dark-* options - @extend .navbar-dark; - // See comments above for $navbar-light-bg - background-color: $navbar-dark-bg !important; -} - -// Implement bs3 navbar toggler; used in Rmd websites, i.e. -// https://github.com/rstudio/rmarkdown-website/blob/453e1802b32b5baf1c8a67f80947adcc53e49b7f/_navbar.html -.navbar-toggle { - @extend .navbar-toggler; -} -.navbar-toggle { - > .icon-bar { - display: none; - &:last-child { - @extend .navbar-toggler-icon; - } - } -} - -// Make sure navbar-toggle floats right when navbar is collapsed -// https://github.com/rstudio/bslib/issues/289 -// In BS4, media-breakpoint-down() does the _next_ breakpoint (xs->sm) -// In BS5+, it takes the breakpoint (sm) verbatim -@include media-breakpoint-down(if($bootstrap-version==4, xs, sm)) { - .navbar-header { - width: 100%; - .navbar-toggle { - float: right; - } - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_progress_compat.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_progress_compat.scss deleted file mode 100644 index 5e0f773..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_progress_compat.scss +++ /dev/null @@ -1,6 +0,0 @@ -@each $color, $value in $theme-colors { - .progress-bar-#{$color} { - background-color: $value; - color: color-contrast($value); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_rules.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_rules.scss deleted file mode 100644 index 0f73069..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_rules.scss +++ /dev/null @@ -1,13 +0,0 @@ -@import "wells"; -@import "help_text"; -@import "dropdown_compat"; -@import "navbar_compat"; -@import "nav_compat"; -@import "progress_compat"; - -@import "glyphicons"; - -@import "shiny_input"; -@import "shiny_misc"; - -@import "headers"; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_input.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_input.scss deleted file mode 100644 index c7596a7..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_input.scss +++ /dev/null @@ -1,48 +0,0 @@ -// Dropped in BS5, but this seems pretty fundamental? -$form-group-margin-bottom: 1rem !default; -.form-group { - margin-bottom: $form-group-margin-bottom; -} - -// The @extends here add a lot of bloat to version=4 (& it's not entirely correct) -// Instead of fixing, consider this deprecated, and for BS5, we'll modify -// their selectors directly to accomodate shiny -@if $bootstrap-version == 4 { - .shiny-input-checkboxgroup, .shiny-input-radiogroup { - // TODO: this is pretty expensive! - .checkbox, .radio { - @extend .form-check; - label { - @extend .form-check-label; - } - label > input { - @extend .form-check-input; - } - } - - // Since these inline classes don't have a proper div container - // (they're labels), we borrow just the styling we need from - // .form-check-inline - // https://github.com/rstudio/bs4/blob/7aadd19/inst/node_modules/bootstrap/scss/_forms.scss#L227-L240 - .checkbox-inline, .radio-inline { - padding-left: 0; - margin-right: $form-check-inline-margin-x; - - label > input { - margin-top: 0; - margin-right: $form-check-inline-input-margin-x; - margin-bottom: 0; - } - } - } -} - -.input-daterange .input-group-addon.input-group-prepend.input-group-append { - padding: inherit; - line-height: inherit; - text-shadow: inherit; - border-width: 0; - .input-group-text { - border-radius: 0; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_misc.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_misc.scss deleted file mode 100644 index e17014a..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_shiny_misc.scss +++ /dev/null @@ -1,16 +0,0 @@ -// For code inside of showcase mode -// TODO: this should probably ported to shiny itself -// if and when shiny-showcase.css is ported to sass -pre.shiny-code { - padding: 0.5 * $spacer; -} - -// BS5 changed float-left -> float-start -@if $bootstrap-version != 4 { - .float-left { - @extend .float-start; - } - .float-right { - @extend .float-end; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_wells.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_wells.scss deleted file mode 100644 index b17e589..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/_wells.scss +++ /dev/null @@ -1,25 +0,0 @@ -// Derives from BS3 SASS, but modified to inherit from BS4 vars -// https://github.com/rstudio/bslib/blob/04925e1/inst/node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss#L1 -.well { - @extend .card; - display: block; - background-color: $well-bg; - color: $well-color; - padding: $card-spacer-x; - @include border-radius($border-radius) -} - -// Sizes -.well-lg { - padding: 1.5 * $spacer; - @include border-radius($border-radius-lg); -} -.well-sm { - padding: 0.5 * $spacer; - @include border-radius($border-radius-sm); -} - -// For wellPanel() inside absolutePanel() -.draggable .well { - background-color: opaque($body-bg, $well-bg); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.eot b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a495..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.svg b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb549..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.ttf b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc6..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 9e61285..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff2 b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b5..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/bs3compat.js b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/bs3compat.js deleted file mode 100644 index 4f029dc..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/bs3compat.js +++ /dev/null @@ -1,48 +0,0 @@ -// Inform the world that we have the ability to use BS3 nav/navbar markup in BS4 -window.BS3_COMPAT = true; - -// This logic needs to execute after both the BS4+ (new) as well as BS3 (legacy) -// jQuery plugins have been registered. For BS5, plugin registration happens -// after DOM content is loaded, which is why we do the same here. -// https://github.com/twbs/bootstrap/blob/08139c22/js/dist/tab.js#L87 -$(function() { - - // The legacy plugin needs to be registered after the new one - if (!$.fn.tab.Constructor.VERSION.match(/^3\./)) { - (console.warn || console.error || console.log)("bs3compat.js couldn't find bs3 tab impl; bs3 tabs will not be properly supported"); - return; - } - var legacyTabPlugin = $.fn.tab.noConflict(); - - if (!$.fn.tab || !$.fn.tab.Constructor || !$.fn.tab.noConflict) { - (console.warn || console.error || console.log)("bs3compat.js couldn't find a jQuery tab impl; bs3 tabs will not be properly supported"); - } - var newTabPlugin = $.fn.tab.noConflict(); - - // Re-define the tab click event - // https://github.com/twbs/bootstrap/blob/08139c2/js/src/tab.js#L33 - var EVENT_KEY = "click.bs.tab.data-api"; - $(document).off(EVENT_KEY); - - var SELECTOR = '[data-toggle="tab"], [data-toggle="pill"], [data-bs-toggle="tab"], [data-bs-toggle="pill"]'; - $(document).on(EVENT_KEY, SELECTOR, function(event) { - event.preventDefault(); - $(this).tab("show"); - }); - - function TabPlugin(config) { - // Legacy (bs3) tabs: li.active > a - // New (bs4+) tabs: li.nav-item > a.active.nav-link - var legacy = $(this).closest(".nav").find("li:not(.dropdown).active > a").length > 0; - var plugin = legacy ? legacyTabPlugin : newTabPlugin; - plugin.call($(this), config); - } - - var noconflict = $.fn.tab; - $.fn.tab = TabPlugin; - $.fn.tab.Constructor = newTabPlugin.Constructor; - $.fn.tab.noConflict = function() { - $.fn.tab = noconflict; - return TabPlugin; - }; -}); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/tabs.js b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/tabs.js deleted file mode 100644 index 79825cc..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/tabs.js +++ /dev/null @@ -1,157 +0,0 @@ -/* ======================================================================== - * Bootstrap: tab.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#tabs - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -// Register tab plugin after DOM content loaded in order to -// override BS5's plugin -// https://github.com/twbs/bootstrap/blob/08139c22/js/dist/tab.js#L87 -$(function() { - 'use strict'; - - // TAB CLASS DEFINITION - // ==================== - - var Tab = function (element) { - // jscs:disable requireDollarBeforejQueryAssignment - this.element = $(element) - // jscs:enable requireDollarBeforejQueryAssignment - } - - Tab.VERSION = '3.4.1' - - Tab.TRANSITION_DURATION = 150 - - Tab.prototype.show = function () { - var $this = this.element - var $ul = $this.closest('ul:not(.dropdown-menu)') - var selector = $this.data('target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - if ($this.parent('li').hasClass('active')) return - - var $previous = $ul.find('.active:last a') - var hideEvent = $.Event('hide.bs.tab', { - relatedTarget: $this[0] - }) - var showEvent = $.Event('show.bs.tab', { - relatedTarget: $previous[0] - }) - - $previous.trigger(hideEvent) - $this.trigger(showEvent) - - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return - - var $target = $(document).find(selector) - - this.activate($this.closest('li'), $ul) - this.activate($target, $target.parent(), function () { - $previous.trigger({ - type: 'hidden.bs.tab', - relatedTarget: $this[0] - }) - $this.trigger({ - type: 'shown.bs.tab', - relatedTarget: $previous[0] - }) - }) - } - - Tab.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - var transition = callback - && $.support.transition - && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', false) - - element - .addClass('active') - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if (element.parent('.dropdown-menu').length) { - element - .closest('li.dropdown') - .addClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - } - - callback && callback() - } - - $active.length && transition ? - $active - .one('bsTransitionEnd', next) - .emulateTransitionEnd(Tab.TRANSITION_DURATION) : - next() - - $active.removeClass('in') - } - - - // TAB PLUGIN DEFINITION - // ===================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tab') - - if (!data) $this.data('bs.tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tab - - $.fn.tab = Plugin - $.fn.tab.Constructor = Tab - - - // TAB NO CONFLICT - // =============== - - $.fn.tab.noConflict = function () { - $.fn.tab = old - return this - } - - - // TAB DATA-API - // ============ - - var clickHandler = function (e) { - e.preventDefault() - Plugin.call($(this), 'show') - } - - $(document) - .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) - .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) - -}); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/transition.js b/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/transition.js deleted file mode 100644 index 81e7122..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/bs3compat/js/transition.js +++ /dev/null @@ -1,59 +0,0 @@ -/* ======================================================================== - * Bootstrap: transition.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#transitions - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/v3-dev/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // https://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/_mixins.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/_mixins.scss deleted file mode 100644 index ba8e1ef..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/_mixins.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin bslib-breakpoints-css-vars( - $breakpoint-var, - $breakpoints, - $allow-cascade: false -) { - @each $breakpoint in $breakpoints { - @if not $allow-cascade { - --#{$breakpoint-var}--#{$breakpoint}: unset; - } - - @include media-breakpoint-up(#{$breakpoint}) { - &.#{$breakpoint-var}--#{$breakpoint} { - --#{$breakpoint-var}: var(--#{$breakpoint-var}--#{$breakpoint}); - } - } - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/_variables.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/_variables.scss deleted file mode 100644 index ac57acb..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/_variables.scss +++ /dev/null @@ -1,16 +0,0 @@ -// accordion() -$accordion-box-shadow-active: none !default; - -// page_sidebar() -$bslib-page-title-bg: if($navbar-bg, $navbar-bg, $dark) !default; -$bslib-page-title-color: color-contrast($bslib-page-title-bg) !default; - -// layout_sidebar() -$bslib-sidebar-padding: $spacer * 1.5 !default; -$bslib-sidebar-icon-size: $spacer !default; -$bslib-sidebar-bg: mix($body-color, $body-bg, 3.66%) !default; -$bslib-sidebar-fg: color-contrast($bslib-sidebar-bg) !default; -$bslib-sidebar-border: var(--bs-card-border-width, #{$card-border-width}) solid var(--bs-card-border-color, #{$card-border-color}) !default; -$bslib-sidebar-transition-duration: 500ms !default; -$bslib-sidebar-column-sidebar: Min(calc(100% - #{$bslib-sidebar-icon-size}), var(--bslib-sidebar-width, 250px)); -$bslib-sidebar-column-main: minmax(0, 1fr); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js b/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js deleted file mode 100644 index 419d3dd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! bslib 0.5.0 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var a=window.Shiny?Shiny.InputBinding:class{};function c(i,e){window.Shiny&&Shiny.inputBindings.register(new i,"bslib."+e)}function r(i,e){return Object.prototype.hasOwnProperty.call(i,e)&&i[e]!==void 0}var l=class extends a{find(e){return $(e).find(".accordion.bslib-accordion-input")}getValue(e){let n=this._getItemInfo(e).filter(s=>s.isOpen()).map(s=>s.value);return n.length===0?null:n}subscribe(e,t){$(e).on("shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".accordionInputBinding")}receiveMessage(e,t){let n=t.method;if(n==="set")this._setItems(e,t);else if(n==="open")this._openItems(e,t);else if(n==="close")this._closeItems(e,t);else if(n==="remove")this._removeItem(e,t);else if(n==="insert")this._insertItem(e,t);else if(n==="update")this._updateItem(e,t);else throw new Error(`Method not yet implemented: ${n}`)}_setItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1?o.show():o.hide()})}_openItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1&&o.show()})}_closeItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1&&o.hide()})}_insertItem(e,t){let n=this._findItem(e,t.target);n||(n=t.position==="before"?e.firstElementChild:e.lastElementChild);let s=t.panel;if(n?Shiny.renderContent(n,s,t.position==="before"?"beforeBegin":"afterEnd"):Shiny.renderContent(e,s),this._isAutoClosing(e)){let o=$(s.html).attr("data-value");$(e).find(`[data-value="${o}"] .accordion-collapse`).attr("data-bs-parent","#"+e.id)}}_removeItem(e,t){let n=this._getItemInfo(e).filter(o=>t.target.indexOf(o.value)>-1),s=Shiny==null?void 0:Shiny.unbindAll;n.forEach(o=>{s&&s(o.item),o.item.remove()})}_updateItem(e,t){let n=this._findItem(e,t.target);if(!n)throw new Error(`Unable to find an accordion_panel() with a value of ${t.target}`);if(r(t,"value")&&(n.dataset.value=t.value),r(t,"body")){let o=n.querySelector(".accordion-body");Shiny.renderContent(o,t.body)}let s=n.querySelector(".accordion-header");if(r(t,"title")){let o=s.querySelector(".accordion-title");Shiny.renderContent(o,t.title)}if(r(t,"icon")){let o=s.querySelector(".accordion-button > .accordion-icon");Shiny.renderContent(o,t.icon)}}_getItemInfo(e){return Array.from(e.querySelectorAll(":scope > .accordion-item")).map(n=>this._getSingleItemInfo(n))}_getSingleItemInfo(e){let t=e.querySelector(".accordion-collapse"),n=()=>$(t).hasClass("show");return{item:e,value:e.dataset.value,isOpen:n,show:()=>{n()||$(t).collapse("show")},hide:()=>{n()&&$(t).collapse("hide")}}}_getValues(e,t,n){let s=n!==!0?n:t.map(d=>d.value);return this._isAutoClosing(e)&&(s=s.slice(s.length-1,s.length)),s}_findItem(e,t){return e.querySelector(`[data-value="${t}"]`)}_isAutoClosing(e){return e.classList.contains("autoclose")}};c(l,"accordion");})(); -//# sourceMappingURL=accordion.min.js.map diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js.map b/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js.map deleted file mode 100644 index 2e2b174..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.min.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/accordion.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n // Cross-referenced with https://allyjs.io/data-tables/focusable.html\n const base = [\n \"a[href]\",\n \"area[href]\",\n \"button\",\n \"details summary\",\n \"input\",\n \"iframe\",\n \"select\",\n \"textarea\",\n '[contentEditable=\"\"]',\n '[contentEditable=\"true\"]',\n '[contentEditable=\"TRUE\"]',\n \"[tabindex]\",\n ];\n const modifiers = [':not([tabindex=\"-1\"])', \":not([disabled])\"];\n const selectors = base.map((b) => b + modifiers.join(\"\"));\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "import type { HtmlDep } from \"./_utils\";\nimport { InputBinding, registerBinding, hasDefinedProperty } from \"./_utils\";\n\ntype AccordionItem = {\n item: HTMLElement;\n value: string;\n isOpen: () => boolean;\n show: () => void;\n hide: () => void;\n};\n\ntype HTMLContent = {\n html: string;\n deps?: HtmlDep[];\n};\n\ntype SetMessage = {\n method: \"set\";\n values: string[];\n};\n\ntype OpenMessage = {\n method: \"open\";\n values: string[] | true;\n};\n\ntype CloseMessage = {\n method: \"close\";\n values: string[] | true;\n};\n\ntype InsertMessage = {\n method: \"insert\";\n panel: HTMLContent;\n target: string;\n position: \"after\" | \"before\";\n};\n\ntype RemoveMessage = {\n method: \"remove\";\n target: string[];\n};\n\ntype UpdateMessage = {\n method: \"update\";\n target: string;\n value: string;\n body: HTMLContent;\n title: HTMLContent;\n icon: HTMLContent;\n};\n\ntype MessageData =\n | CloseMessage\n | InsertMessage\n | OpenMessage\n | RemoveMessage\n | SetMessage\n | UpdateMessage;\n\nclass AccordionInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(\".accordion.bslib-accordion-input\");\n }\n\n getValue(el: HTMLElement): string[] | null {\n const items = this._getItemInfo(el);\n const selected = items.filter((x) => x.isOpen()).map((x) => x.value);\n return selected.length === 0 ? null : selected;\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".accordionInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n const method = data.method;\n if (method === \"set\") {\n this._setItems(el, data);\n } else if (method === \"open\") {\n this._openItems(el, data);\n } else if (method === \"close\") {\n this._closeItems(el, data);\n } else if (method === \"remove\") {\n this._removeItem(el, data);\n } else if (method === \"insert\") {\n this._insertItem(el, data);\n } else if (method === \"update\") {\n this._updateItem(el, data);\n } else {\n throw new Error(`Method not yet implemented: ${method}`);\n }\n }\n\n protected _setItems(el: HTMLElement, data: SetMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n vals.indexOf(x.value) > -1 ? x.show() : x.hide();\n });\n }\n\n protected _openItems(el: HTMLElement, data: OpenMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.show();\n });\n }\n\n protected _closeItems(el: HTMLElement, data: CloseMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.hide();\n });\n }\n\n protected _insertItem(el: HTMLElement, data: InsertMessage) {\n let targetItem = this._findItem(el, data.target);\n\n // If no target was specified, or the target was not found, then default\n // to the first or last item, depending on the position\n if (!targetItem) {\n targetItem = (\n data.position === \"before\" ? el.firstElementChild : el.lastElementChild\n ) as HTMLElement;\n }\n\n const panel = data.panel;\n\n // If there is still no targetItem, then there are no items in the accordion\n if (targetItem) {\n Shiny.renderContent(\n targetItem,\n panel,\n data.position === \"before\" ? \"beforeBegin\" : \"afterEnd\"\n );\n } else {\n Shiny.renderContent(el, panel);\n }\n\n // Need to add a reference to the parent id that makes autoclose to work\n if (this._isAutoClosing(el)) {\n const val = $(panel.html).attr(\"data-value\");\n $(el)\n .find(`[data-value=\"${val}\"] .accordion-collapse`)\n .attr(\"data-bs-parent\", \"#\" + el.id);\n }\n }\n\n protected _removeItem(el: HTMLElement, data: RemoveMessage) {\n const targetItems = this._getItemInfo(el).filter(\n (x) => data.target.indexOf(x.value) > -1\n );\n\n const unbindAll = Shiny?.unbindAll;\n\n targetItems.forEach((x) => {\n if (unbindAll) unbindAll(x.item);\n x.item.remove();\n });\n }\n\n protected _updateItem(el: HTMLElement, data: UpdateMessage) {\n const target = this._findItem(el, data.target);\n\n if (!target) {\n throw new Error(\n `Unable to find an accordion_panel() with a value of ${data.target}`\n );\n }\n\n if (hasDefinedProperty(data, \"value\")) {\n target.dataset.value = data.value;\n }\n\n if (hasDefinedProperty(data, \"body\")) {\n const body = target.querySelector(\".accordion-body\") as HTMLElement; // always exists\n Shiny.renderContent(body, data.body);\n }\n\n const header = target.querySelector(\".accordion-header\") as HTMLElement; // always exists\n\n if (hasDefinedProperty(data, \"title\")) {\n const title = header.querySelector(\".accordion-title\") as HTMLElement; // always exists\n Shiny.renderContent(title, data.title);\n }\n\n if (hasDefinedProperty(data, \"icon\")) {\n const icon = header.querySelector(\n \".accordion-button > .accordion-icon\"\n ) as HTMLElement; // always exists\n Shiny.renderContent(icon, data.icon);\n }\n }\n\n protected _getItemInfo(el: HTMLElement): AccordionItem[] {\n const items = Array.from(\n el.querySelectorAll(\":scope > .accordion-item\")\n ) as HTMLElement[];\n return items.map((x) => this._getSingleItemInfo(x));\n }\n\n protected _getSingleItemInfo(x: HTMLElement): AccordionItem {\n const collapse = x.querySelector(\".accordion-collapse\") as HTMLElement;\n const isOpen = () => $(collapse).hasClass(\"show\");\n return {\n item: x,\n value: x.dataset.value as string,\n isOpen: isOpen,\n show: () => {\n if (!isOpen()) $(collapse).collapse(\"show\");\n },\n hide: () => {\n if (isOpen()) $(collapse).collapse(\"hide\");\n },\n };\n }\n\n protected _getValues(\n el: HTMLElement,\n items: AccordionItem[],\n values: string[] | true\n ): string[] {\n let vals = values !== true ? values : items.map((x) => x.value);\n const autoclose = this._isAutoClosing(el);\n if (autoclose) {\n vals = vals.slice(vals.length - 1, vals.length);\n }\n return vals;\n }\n\n protected _findItem(el: HTMLElement, value: string): HTMLElement | null {\n return el.querySelector(`[data-value=\"${value}\"]`);\n }\n\n protected _isAutoClosing(el: HTMLElement): boolean {\n return el.classList.contains(\"autoclose\");\n }\n}\n\nregisterBinding(AccordionInputBinding, \"accordion\");\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "hasDefinedProperty", "obj", "prop", "AccordionInputBinding", "InputBinding", "scope", "el", "selected", "x", "callback", "event", "data", "method", "items", "vals", "targetItem", "panel", "val", "targetItems", "unbindAll", "target", "hasDefinedProperty", "body", "header", "title", "icon", "collapse", "isOpen", "values", "value", "registerBinding"] -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.scss deleted file mode 100644 index 95bffbc..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/accordion.scss +++ /dev/null @@ -1,16 +0,0 @@ -.accordion { - .accordion-icon:not(:empty) { - margin-right: 0.25rem; - display: flex; /* Without flex, the height/alignment is messed up */ - } - .accordion-button:not(.collapsed) { - box-shadow: $accordion-box-shadow-active; - // $accordion-box-shadow-active defaults to none, which will override - // the box-shadow applied to .accordion-button:focus (and, as a result, - // non-collapsed buttons won't show a visual indication of focus, #488). - // So, repeat the .accordion-button:focus below to give it a higher priority. - &:focus { - box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); - } - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js b/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js deleted file mode 100644 index 6136288..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! bslib 0.5.0 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var b=window.Shiny?Shiny.InputBinding:class{};function p(u){let e=["a[href]","area[href]","button","details summary","input","iframe","select","textarea",'[contentEditable=""]','[contentEditable="true"]','[contentEditable="TRUE"]',"[tabindex]"],t=[':not([tabindex="-1"])',":not([disabled])"],r=e.map(n=>n+t.join("")),s=u.querySelectorAll(r.join(", "));return Array.from(s)}var d=class{constructor(){this.resizeObserverEntries=[],this.resizeObserver=new ResizeObserver(e=>{let t=new Event("resize");if(window.dispatchEvent(t),!window.Shiny)return;let r=[];for(let s of e)s.target instanceof HTMLElement&&s.target.querySelector(".shiny-bound-output")&&s.target.querySelectorAll(".shiny-bound-output").forEach(n=>{if(r.includes(n))return;let{binding:a,onResize:h}=$(n).data("shinyOutputBinding");if(!a||!a.resize)return;let c=n.shinyResizeObserver;if(c&&c!==this||(c||(n.shinyResizeObserver=this),h(n),r.push(n),!n.classList.contains("shiny-plot-output")))return;let l=n.querySelector('img:not([width="100%"])');l&&l.setAttribute("width","100%")})})}observe(e){this.resizeObserver.observe(e),this.resizeObserverEntries.push(e)}unobserve(e){let t=this.resizeObserverEntries.indexOf(e);t<0||(this.resizeObserver.unobserve(e),this.resizeObserverEntries.splice(t,1))}flush(){this.resizeObserverEntries.forEach(e=>{document.body.contains(e)||this.unobserve(e)})}};var E=window.bootstrap?window.bootstrap.Tooltip:class{},i=class{constructor(e){var t;e.removeAttribute(i.attr.ATTR_INIT),(t=e.querySelector(`script[${i.attr.ATTR_INIT}]`))==null||t.remove(),this.card=e,i.instanceMap.set(e,this),i.shinyResizeObserver.observe(this.card),this._addEventListeners(),this._enableTooltips(),this.overlay=this._createOverlay(),this._exitFullScreenOnEscape=this._exitFullScreenOnEscape.bind(this),this._trapFocusExit=this._trapFocusExit.bind(this)}enterFullScreen(e){e&&e.preventDefault(),document.addEventListener("keydown",this._exitFullScreenOnEscape,!1),document.addEventListener("keydown",this._trapFocusExit,!0),this.card.contains(document.activeElement)||(this.card.setAttribute("tabindex","-1"),this.card.focus()),this.card.classList.add(i.attr.CLASS_FULL_SCREEN),document.body.classList.add(i.attr.CLASS_HAS_FULL_SCREEN),this.card.insertAdjacentElement("beforebegin",this.overlay.container)}exitFullScreen(){document.removeEventListener("keydown",this._exitFullScreenOnEscape,!1),document.removeEventListener("keydown",this._trapFocusExit,!0),this.overlay.container.remove(),this.card.classList.remove(i.attr.CLASS_FULL_SCREEN),this.card.removeAttribute("tabindex"),document.body.classList.remove(i.attr.CLASS_HAS_FULL_SCREEN)}_addEventListeners(){let e=this.card.querySelector(`:scope > .${i.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){let e=`.${i.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;if(!this.card.querySelector(e))return;this.card.querySelectorAll(e).forEach(r=>new E(r))}_exitFullScreenOnEscape(e){if(!(e.target instanceof HTMLElement))return;let t=["select[open]","input[aria-expanded='true']"];e.target.matches(t.join(", "))||e.key==="Escape"&&this.exitFullScreen()}_trapFocusExit(e){if(!(e instanceof KeyboardEvent)||e.key!=="Tab")return;let t=e.target===this.card,r=e.target===this.overlay.anchor,s=this.card.contains(e.target),n=()=>{e.preventDefault(),e.stopImmediatePropagation()};if(!(s||t||r)){n(),this.card.focus();return}let a=p(this.card);if(!(a.length>0)){n(),this.overlay.anchor.focus();return}if(t)return;let c=a[a.length-1],l=e.target===c;if(r&&e.shiftKey){n(),c.focus();return}if(l&&!e.shiftKey){n(),this.overlay.anchor.focus();return}}_createOverlay(){let e=document.createElement("div");e.id=i.attr.ID_FULL_SCREEN_OVERLAY,e.onclick=this.exitFullScreen.bind(this);let t=this._createOverlayCloseAnchor();return e.appendChild(t),{container:e,anchor:t}}_createOverlayCloseAnchor(){let e=document.createElement("a");return e.classList.add(i.attr.CLASS_FULL_SCREEN_EXIT),e.tabIndex=0,e.onclick=()=>this.exitFullScreen(),e.onkeydown=t=>{(t.key==="Enter"||t.key===" ")&&this.exitFullScreen()},e.innerHTML=this._overlayCloseHtml(),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return i.instanceMap.get(e)}static initializeAllCards(e=!0){if(document.readyState==="loading"){i.onReadyScheduled||(i.onReadyScheduled=!0,document.addEventListener("DOMContentLoaded",()=>{i.initializeAllCards(!1)}));return}e&&i.shinyResizeObserver.flush();let t=`.${i.attr.CLASS_CARD}[${i.attr.ATTR_INIT}]`;if(!document.querySelector(t))return;document.querySelectorAll(t).forEach(s=>new i(s))}},o=i;o.attr={ATTR_INIT:"data-bslib-card-init",CLASS_CARD:"bslib-card",CLASS_FULL_SCREEN:"bslib-full-screen",CLASS_HAS_FULL_SCREEN:"bslib-has-full-screen",CLASS_FULL_SCREEN_ENTER:"bslib-full-screen-enter",CLASS_FULL_SCREEN_EXIT:"bslib-full-screen-exit",ID_FULL_SCREEN_OVERLAY:"bslib-full-screen-overlay"},o.shinyResizeObserver=new d,o.instanceMap=new WeakMap,o.onReadyScheduled=!1;window.bslib=window.bslib||{};window.bslib.Card=o;})(); -//# sourceMappingURL=card.min.js.map diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js.map b/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js.map deleted file mode 100644 index 1a7e9c5..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.min.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_shinyResizeObserver.ts", "../../srcts/src/components/card.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n // Cross-referenced with https://allyjs.io/data-tables/focusable.html\n const base = [\n \"a[href]\",\n \"area[href]\",\n \"button\",\n \"details summary\",\n \"input\",\n \"iframe\",\n \"select\",\n \"textarea\",\n '[contentEditable=\"\"]',\n '[contentEditable=\"true\"]',\n '[contentEditable=\"TRUE\"]',\n \"[tabindex]\",\n ];\n const modifiers = [':not([tabindex=\"-1\"])', \":not([disabled])\"];\n const selectors = base.map((b) => b + modifiers.join(\"\"));\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "/**\n * A resize observer that ensures Shiny outputs resize during or just after\n * their parent container size changes. Useful, in particular, for sidebar\n * transitions or for full-screen card transitions.\n *\n * @class ShinyResizeObserver\n * @typedef {ShinyResizeObserver}\n */\nclass ShinyResizeObserver {\n /**\n * The actual ResizeObserver instance.\n * @private\n * @type {ResizeObserver}\n */\n private resizeObserver: ResizeObserver;\n /**\n * An array of elements that are currently being watched by the Resize\n * Observer.\n *\n * @details\n * We don't currently have lifecycle hooks that allow us to unobserve elements\n * when they are removed from the DOM. As a result, we need to manually check\n * that the elements we're watching still exist in the DOM. This array keeps\n * track of the elements we're watching so that we can check them later.\n * @private\n * @type {HTMLElement[]}\n */\n private resizeObserverEntries: HTMLElement[];\n\n /**\n * Watch containers for size changes and ensure that Shiny outputs and\n * htmlwidgets within resize appropriately.\n *\n * @details\n * The ShinyResizeObserver is used to watch the containers, such as Sidebars\n * and Cards for size changes, in particular when the sidebar state is toggled\n * or the card body is expanded full screen. It performs two primary tasks:\n *\n * 1. Dispatches a `resize` event on the window object. This is necessary to\n * ensure that Shiny outputs resize appropriately. In general, the window\n * resizing is throttled and the output update occurs when the transition\n * is complete.\n * 2. If an output with a resize method on the output binding is detected, we\n * directly call the `.onResize()` method of the binding. This ensures that\n * htmlwidgets transition smoothly. In static mode, htmlwidgets does this\n * already.\n *\n * @note\n * This resize observer also handles race conditions in some complex\n * fill-based layouts with multiple outputs (e.g., plotly), where shiny\n * initializes with the correct sizing, but in-between the 1st and last\n * renderValue(), the size of the output containers can change, meaning every\n * output but the 1st gets initialized with the wrong size during their\n * renderValue(). Then, after the render phase, shiny won't know to trigger a\n * resize since all the widgets will return to their original size (and thus,\n * Shiny thinks there isn't any resizing to do). The resize observer works\n * around this by ensuring that the output is resized whenever its container\n * size changes.\n * @constructor\n */\n constructor() {\n this.resizeObserverEntries = [];\n this.resizeObserver = new ResizeObserver((entries) => {\n const resizeEvent = new Event(\"resize\");\n window.dispatchEvent(resizeEvent);\n\n // the rest of this callback is only relevant in Shiny apps\n if (!window.Shiny) return;\n\n const resized = [] as HTMLElement[];\n\n for (const entry of entries) {\n if (!(entry.target instanceof HTMLElement)) continue;\n if (!entry.target.querySelector(\".shiny-bound-output\")) continue;\n\n entry.target\n .querySelectorAll(\".shiny-bound-output\")\n .forEach((el) => {\n if (resized.includes(el)) return;\n\n const { binding, onResize } = $(el).data(\"shinyOutputBinding\");\n if (!binding || !binding.resize) return;\n\n // if this output is owned by another observer, skip it\n const owner = (el as any).shinyResizeObserver;\n if (owner && owner !== this) return;\n // mark this output as owned by this shinyResizeObserver instance\n if (!owner) (el as any).shinyResizeObserver = this;\n\n // trigger immediate resizing of outputs with a resize method\n onResize(el);\n // only once per output and resize event\n resized.push(el);\n\n // set plot images to 100% width temporarily during the transition\n if (!el.classList.contains(\"shiny-plot-output\")) return;\n const img = el.querySelector(\n 'img:not([width=\"100%\"])'\n );\n if (img) img.setAttribute(\"width\", \"100%\");\n });\n }\n });\n }\n\n /**\n * Observe an element for size changes.\n * @param {HTMLElement} el - The element to observe.\n */\n observe(el: HTMLElement): void {\n this.resizeObserver.observe(el);\n this.resizeObserverEntries.push(el);\n }\n\n /**\n * Stop observing an element for size changes.\n * @param {HTMLElement} el - The element to stop observing.\n */\n unobserve(el: HTMLElement): void {\n const idxEl = this.resizeObserverEntries.indexOf(el);\n if (idxEl < 0) return;\n\n this.resizeObserver.unobserve(el);\n this.resizeObserverEntries.splice(idxEl, 1);\n }\n\n /**\n * This method checks that we're not continuing to watch elements that no\n * longer exist in the DOM. If any are found, we stop observing them and\n * remove them from our array of observed elements.\n *\n * @private\n * @static\n */\n flush(): void {\n this.resizeObserverEntries.forEach((el) => {\n if (!document.body.contains(el)) this.unobserve(el);\n });\n }\n}\n\nexport { ShinyResizeObserver };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport { getAllFocusableChildren } from \"./_utils\";\nimport { ShinyResizeObserver } from \"./_shinyResizeObserver\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\n/**\n * The overlay element that is placed behind the card when expanded full screen.\n *\n * @interface CardFullScreenOverlay\n * @typedef {CardFullScreenOverlay}\n */\ninterface CardFullScreenOverlay {\n /**\n * The full screen overlay container.\n * @type {HTMLDivElement}\n */\n container: HTMLDivElement;\n /**\n * The anchor element used to close the full screen overlay.\n * @type {HTMLAnchorElement}\n */\n anchor: HTMLAnchorElement;\n}\n\n/**\n * The bslib card component class.\n *\n * @class Card\n * @typedef {Card}\n */\nclass Card {\n /**\n * The card container element.\n * @private\n * @type {HTMLElement}\n */\n private card: HTMLElement;\n /**\n * The card's full screen overlay element. We create this element once and add\n * and remove it from the DOM as needed (this simplifies focus management\n * while in full screen mode).\n * @private\n * @type {CardFullScreenOverlay}\n */\n private overlay: CardFullScreenOverlay;\n\n /**\n * Key bslib-specific classes and attributes used by the card component.\n * @private\n * @static\n * @type {{ ATTR_INIT: string; CLASS_CARD: string; CLASS_FULL_SCREEN: string; CLASS_HAS_FULL_SCREEN: string; CLASS_FULL_SCREEN_ENTER: string; CLASS_FULL_SCREEN_EXIT: string; ID_FULL_SCREEN_OVERLAY: string; }}\n */\n private static attr = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ATTR_INIT: \"data-bslib-card-init\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_CARD: \"bslib-card\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN: \"bslib-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_HAS_FULL_SCREEN: \"bslib-has-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_ENTER: \"bslib-full-screen-enter\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_EXIT: \"bslib-full-screen-exit\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ID_FULL_SCREEN_OVERLAY: \"bslib-full-screen-overlay\",\n };\n\n /**\n * A Shiny-specific resize observer that ensures Shiny outputs in within the\n * card resize appropriately.\n * @private\n * @type {ShinyResizeObserver}\n * @static\n */\n private static shinyResizeObserver = new ShinyResizeObserver();\n\n /**\n * Creates an instance of a bslib Card component.\n *\n * @constructor\n * @param {HTMLElement} card\n */\n constructor(card: HTMLElement) {\n // remove initialization attribute and script\n card.removeAttribute(Card.attr.ATTR_INIT);\n card\n .querySelector(`script[${Card.attr.ATTR_INIT}]`)\n ?.remove();\n\n this.card = card;\n Card.instanceMap.set(card, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n Card.shinyResizeObserver.observe(this.card);\n\n this._addEventListeners();\n this._enableTooltips();\n this.overlay = this._createOverlay();\n\n // bind event handler methods to this card instance\n this._exitFullScreenOnEscape = this._exitFullScreenOnEscape.bind(this);\n this._trapFocusExit = this._trapFocusExit.bind(this);\n }\n\n /**\n * Enter the card's full screen mode, either programmatically or via an event\n * handler. Full screen mode is activated by adding a class to the card that\n * positions it absolutely and expands it to fill the viewport. In addition,\n * we add a full screen overlay element behind the card and we trap focus in\n * the expanded card while in full screen mode.\n *\n * @param {?Event} [event]\n */\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n document.addEventListener(\"keydown\", this._exitFullScreenOnEscape, false);\n\n // trap focus in the fullscreen container, listening for Tab key on the\n // capture phase so we have the best chance of preventing other handlers\n document.addEventListener(\"keydown\", this._trapFocusExit, true);\n\n // Set initial focus on the card, if not already\n if (!this.card.contains(document.activeElement)) {\n this.card.setAttribute(\"tabindex\", \"-1\");\n this.card.focus();\n }\n\n this.card.classList.add(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN);\n this.card.insertAdjacentElement(\"beforebegin\", this.overlay.container);\n }\n\n /**\n * Exit full screen mode. This removes the full screen overlay element,\n * removes the full screen class from the card, and removes the keyboard event\n * listeners that were added when entering full screen mode.\n */\n exitFullScreen(): void {\n document.removeEventListener(\n \"keydown\",\n this._exitFullScreenOnEscape,\n false\n );\n document.removeEventListener(\"keydown\", this._trapFocusExit, true);\n\n // Remove overlay and remove full screen classes from card\n this.overlay.container.remove();\n this.card.classList.remove(Card.attr.CLASS_FULL_SCREEN);\n this.card.removeAttribute(\"tabindex\");\n document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN);\n }\n\n /**\n * Adds general card-specific event listeners.\n * @private\n */\n private _addEventListeners(): void {\n const btnFullScreen = this.card.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n /**\n * Enable tooltips used by the card component.\n * @private\n */\n private _enableTooltips(): void {\n const selector = `.${Card.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;\n if (!this.card.querySelector(selector)) {\n return;\n }\n const tooltipList = this.card.querySelectorAll(selector);\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n /**\n * An event handler to exit full screen mode when the Escape key is pressed.\n * @private\n * @param {KeyboardEvent} event\n */\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n if (!(event.target instanceof HTMLElement)) return;\n // If the user is in the middle of a select input choice, don't exit\n const selOpenSelectInput = [\"select[open]\", \"input[aria-expanded='true']\"];\n if (event.target.matches(selOpenSelectInput.join(\", \"))) return;\n\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n /**\n * An event handler to trap focus within the card when in full screen mode.\n *\n * @description\n * This keyboard event handler ensures that tab focus stays within the card\n * when in full screen mode. When the card is first expanded,\n * we move focus to the card element itself. If focus somehow leaves the card,\n * we returns focus to the card container.\n *\n * Within the card, we handle only tabbing from the close anchor or the last\n * focusable element and only when tab focus would have otherwise left the\n * card. In those cases, we cycle focus to the last focusable element or back\n * to the anchor. If the card doesn't have any focusable elements, we move\n * focus to the close anchor.\n *\n * @note\n * Because the card contents may change, we check for focusable elements\n * every time the handler is called.\n *\n * @private\n * @param {KeyboardEvent} event\n */\n private _trapFocusExit(event: KeyboardEvent): void {\n if (!(event instanceof KeyboardEvent)) return;\n if (event.key !== \"Tab\") return;\n\n const isFocusedContainer = event.target === this.card;\n const isFocusedAnchor = event.target === this.overlay.anchor;\n const isFocusedWithin = this.card.contains(event.target as Node);\n\n const stopEvent = () => {\n event.preventDefault();\n event.stopImmediatePropagation();\n };\n\n if (!(isFocusedWithin || isFocusedContainer || isFocusedAnchor)) {\n // If focus is outside the card, return to the card\n stopEvent();\n this.card.focus();\n return;\n }\n\n // Check focusables every time because the card contents may have changed\n const focusableElements = getAllFocusableChildren(this.card);\n const hasFocusableElements = focusableElements.length > 0;\n\n // We need to handle five cases:\n // 1. The card has no focusable elements --> focus the anchor\n // 2. Focus is on the card container (do nothing, natural tab order)\n // 3. Focus is on the anchor and the user pressed Tab + Shift (backwards)\n // -> Move to the last focusable element (end of card)\n // 4. Focus is on the last focusable element and the user pressed Tab\n // (forwards) -> Move to the anchor (top of card)\n // 5. otherwise we don't interfere\n\n if (!hasFocusableElements) {\n // case 1\n stopEvent();\n this.overlay.anchor.focus();\n return;\n }\n\n // case 2\n if (isFocusedContainer) return;\n\n const lastFocusable = focusableElements[focusableElements.length - 1];\n const isFocusedLast = event.target === lastFocusable;\n\n if (isFocusedAnchor && event.shiftKey) {\n stopEvent();\n lastFocusable.focus();\n return;\n }\n\n if (isFocusedLast && !event.shiftKey) {\n stopEvent();\n this.overlay.anchor.focus();\n return;\n }\n }\n\n /**\n * Creates the full screen overlay.\n * @private\n * @returns {CardFullScreenOverlay}\n */\n private _createOverlay(): CardFullScreenOverlay {\n const container = document.createElement(\"div\");\n container.id = Card.attr.ID_FULL_SCREEN_OVERLAY;\n container.onclick = this.exitFullScreen.bind(this);\n\n const anchor = this._createOverlayCloseAnchor();\n container.appendChild(anchor);\n\n return { container, anchor };\n }\n\n /**\n * Creates the anchor element used to exit the full screen mode.\n * @private\n * @returns {HTMLAnchorElement}\n */\n private _createOverlayCloseAnchor(): HTMLAnchorElement {\n const anchor = document.createElement(\"a\");\n anchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT);\n anchor.tabIndex = 0;\n anchor.onclick = () => this.exitFullScreen();\n anchor.onkeydown = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n this.exitFullScreen();\n }\n };\n anchor.innerHTML = this._overlayCloseHtml();\n\n return anchor;\n }\n\n /**\n * Returns the HTML for the close icon.\n * @private\n * @returns {string}\n */\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n /**\n * The registry of card instances and their associated DOM elements.\n * @private\n * @static\n * @type {WeakMap}\n */\n private static instanceMap: WeakMap = new WeakMap();\n\n /**\n * Returns the card instance associated with the given element, if any.\n * @public\n * @static\n * @param {HTMLElement} el\n * @returns {(Card | undefined)}\n */\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n /**\n * If cards are initialized before the DOM is ready, we re-schedule the\n * initialization to occur on DOMContentLoaded.\n * @private\n * @static\n * @type {boolean}\n */\n private static onReadyScheduled = false;\n\n /**\n * Initializes all cards that require initialization on the page, or schedules\n * initialization if the DOM is not yet ready.\n * @public\n * @static\n * @param {boolean} [flushResizeObserver=true]\n */\n public static initializeAllCards(flushResizeObserver = true): void {\n if (document.readyState === \"loading\") {\n if (!Card.onReadyScheduled) {\n Card.onReadyScheduled = true;\n document.addEventListener(\"DOMContentLoaded\", () => {\n Card.initializeAllCards(false);\n });\n }\n return;\n }\n\n if (flushResizeObserver) {\n // Trigger a recheck of observed cards to unobserve non-existent cards\n Card.shinyResizeObserver.flush();\n }\n\n const initSelector = `.${Card.attr.CLASS_CARD}[${Card.attr.ATTR_INIT}]`;\n if (!document.querySelector(initSelector)) {\n // no cards to initialize\n return;\n }\n\n const cards = document.querySelectorAll(initSelector);\n cards.forEach((card) => new Card(card as HTMLElement));\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], - "mappings": "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", - "names": ["InputBinding", "getAllFocusableChildren", "el", "base", "modifiers", "selectors", "b", "focusable", "ShinyResizeObserver", "entries", "resizeEvent", "resized", "entry", "el", "binding", "onResize", "owner", "img", "idxEl", "Tooltip", "_Card", "card", "_a", "event", "btnFullScreen", "ev", "selector", "tt", "selOpenSelectInput", "isFocusedContainer", "isFocusedAnchor", "isFocusedWithin", "stopEvent", "focusableElements", "getAllFocusableChildren", "lastFocusable", "isFocusedLast", "container", "anchor", "el", "flushResizeObserver", "initSelector", "Card", "ShinyResizeObserver"] -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.scss deleted file mode 100644 index 213c79c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/card.scss +++ /dev/null @@ -1,147 +0,0 @@ -.bslib-card { - // Avoid "double padding" when two card_body()s are immediate siblings - .card-body + .card-body { - padding-top: 0; - } - - .card-body { - overflow: auto; - p { - margin-top: 0; - - &:last-child { - margin-bottom: 0; - } - } - } - - .card-body { - max-height: var(--bslib-card-body-max-height, none); - } - - &.bslib-full-screen > .card-body { - max-height: var(--bslib-card-body-max-height-full-screen, none); - } - - .card-header { - .form-group { - margin-bottom: 0; - } - .selectize-control { - margin-bottom: 0; - // TODO: we should probably add this to selectize's SCSS since this actually makes selectInput() - // usable with width="fit-content" - .item { - margin-right: 1.15rem; - } - } - } - - .card-footer { - margin-top: auto; - } - - // For navs_tab_card(title = ...) - .bslib-navs-card-title { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - .nav { - margin-left: auto; - } - } - - .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]) { - border: none; - } - .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]) { - border-top-left-radius: 0; - border-top-right-radius: 0; - } - -} - - -/************************************************* -* Full screen card logic -*************************************************/ - -.bslib-full-screen { - position: fixed; - inset: 3.5rem 1rem 1rem; - height: auto !important; - max-height: none !important; - width: auto !important; - z-index: $zindex-popover; -} - -.bslib-full-screen-enter { - display: none; - position: absolute; - bottom: 1px; - right: 3px; - margin: 0.5rem; - padding: 0.55rem !important; - font-size: .8rem; - cursor: pointer; - opacity: .6; - color: rgba(var(--bs-body-bg-rgb), 1); - &:hover { - opacity: 1; - } - z-index: $zindex-popover; -} - -.card:hover:not(.bslib-full-screen) > .bslib-full-screen-enter { - display: block; -} - -// Hide all enter-full-screen buttons when *any* card is full-screenified -.bslib-has-full-screen .card:hover > .bslib-full-screen-enter { - display: none; -} - -// Only allow full_screen on desktop screens -@include media-breakpoint-down(sm) { - .bslib-full-screen-enter { display: none !important; } -} - -.bslib-full-screen-exit { - position: relative; - top: 1.35rem; - font-size: 0.9rem; - cursor: pointer; - text-decoration: none; - display: flex; - float: right; - margin-right: 2.15rem; - align-items: center; - color: rgba(var(--bs-body-bg-rgb), 0.8); - &:hover { - color: rgba(var(--bs-body-bg-rgb), 1); - } - svg { - margin-left: 0.5rem; - font-size: 1.5rem; - } -} - -#bslib-full-screen-overlay { - position: fixed; - inset: 0; - background-color: rgba(var(--bs-body-color-rgb), 0.6); - backdrop-filter: blur(2px); - -webkit-backdrop-filter: blur(2px); - z-index: $zindex-popover - 1; - animation: bslib-full-screen-overlay-enter 400ms cubic-bezier(.6,.02,.65,1) forwards; -} - -@keyframes bslib-full-screen-overlay-enter { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/fill.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/fill.scss deleted file mode 100644 index 28a1989..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/fill.scss +++ /dev/null @@ -1,65 +0,0 @@ -.tab-content { - // Workaround for pkgdown's CSS to make tab-pane all a consistent height - // https://github.com/r-lib/pkgdown/blob/956f07/inst/BS5/assets/pkgdown.scss#L342-L355 - >.tab-pane.html-fill-container { - display: none; - } - - // Take precedence over Bootstrap's `display:block` rule - >.active.html-fill-container { - display: flex; - } - - // Another workaround for pkgdown adding extra padding we didn't ask for - // https://github.com/r-lib/pkgdown/blob/956f07/inst/BS5/assets/pkgdown.scss#L335-L337 - &.html-fill-container { - padding: 0; - } -} - - -.bslib-page-fill { - width: 100%; - height: 100%; - margin: 0; - padding: $spacer; - gap: $spacer; -} - -.bslib-page-title { - background-color: $bslib-page-title-bg; - color: $bslib-page-title-color; - font-size: $h4-font-size; - font-weight: 300; - padding: $spacer; - padding-left: $bslib-sidebar-padding; - margin-bottom: 0; -} - -@include media-breakpoint-down(sm) { - .bslib-page-fill { - height: var(--bslib-page-fill-mobile-height, auto); - } -} - -// Some things like card(), p(), inputs, etc. want some margin-bottom by default -// so you can plop them anywhere and you get spacing between rows. However, now -// that we have layout utilities like page_fillable(), layout_columns(), -// layout_sidebar(), etc. where we can control the gap between rows/columns, we -// need a way to reset those margin-bottom to 0 in those special contexts -:root { - --bslib-mb-spacer: #{$spacer}; -} - -// Our own utility class that we add to our components, like card(). -.bslib-mb-spacer { - margin-bottom: var(--bslib-mb-spacer); -} - -// Our own utility class that we add to our layout utilities, like page_fillable(). -.bslib-gap-spacing { - gap: var(--bslib-mb-spacer); - > .bslib-mb-spacer, > .form-group, > p, > pre { - margin-bottom: 0; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_column_wrap.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_column_wrap.scss deleted file mode 100644 index 5d5f073..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_column_wrap.scss +++ /dev/null @@ -1,12 +0,0 @@ -.bslib-grid { - display: grid !important; - gap: $spacer; - height: var(--bslib-grid-height); -} - -@include media-breakpoint-down(sm) { - .bslib-grid { - grid-template-columns: 1fr !important; - height: var(--bslib-grid-height-mobile); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_columns.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_columns.scss deleted file mode 100644 index 9aa5ab8..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/layout_columns.scss +++ /dev/null @@ -1,27 +0,0 @@ -.bslib-grid.grid { - // For some reason, Bootstrap sets `grid-template-rows: 1fr` by default, which - // is problematic for a multi-row filling layout. This fixes it... - // > page_fillable(layout_columns(c(12, 12), plotly::plot_ly(), plotly::plot_ly())) - grid-template-rows: unset; - grid-auto-rows: var(--bslib-grid--row-heights); - @include bslib-breakpoints-css-vars('bslib-grid--row-heights', map-keys($grid-breakpoints)); -} - -.bslib-grid-item { - grid-column: auto/span 1; -} - -@include media-breakpoint-down(md) { - // collapse all columns to a single column below medium (by default only) - .bslib-grid-item { - grid-column: 1 / -1; - } -} - -@include media-breakpoint-down(sm) { - // with each "row" taking its natural height - .bslib-grid.grid { - height: unset !important; - grid-auto-rows: var(--bslib-grid--row-heights--xs, auto); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js b/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js deleted file mode 100644 index 91b8d61..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! bslib 0.5.0 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var g=window.Shiny?Shiny.InputBinding:class{};function f(b,e){window.Shiny&&Shiny.inputBindings.register(new b,"bslib."+e)}var u=class{constructor(){this.resizeObserverEntries=[],this.resizeObserver=new ResizeObserver(e=>{let t=new Event("resize");if(window.dispatchEvent(t),!window.Shiny)return;let i=[];for(let r of e)r.target instanceof HTMLElement&&r.target.querySelector(".shiny-bound-output")&&r.target.querySelectorAll(".shiny-bound-output").forEach(o=>{if(i.includes(o))return;let{binding:l,onResize:d}=$(o).data("shinyOutputBinding");if(!l||!l.resize)return;let n=o.shinyResizeObserver;if(n&&n!==this||(n||(o.shinyResizeObserver=this),d(o),i.push(o),!o.classList.contains("shiny-plot-output")))return;let c=o.querySelector('img:not([width="100%"])');c&&c.setAttribute("width","100%")})})}observe(e){this.resizeObserver.observe(e),this.resizeObserverEntries.push(e)}unobserve(e){let t=this.resizeObserverEntries.indexOf(e);t<0||(this.resizeObserver.unobserve(e),this.resizeObserverEntries.splice(t,1))}flush(){this.resizeObserverEntries.forEach(e=>{document.body.contains(e)||this.unobserve(e)})}};var s=class{constructor(e){if(s.instanceMap.set(e,this),this.layout={container:e,main:e.querySelector(":scope > .main"),sidebar:e.querySelector(":scope > .sidebar"),toggle:e.querySelector(":scope > .collapse-toggle")},!this.layout.toggle)throw new Error("Tried to initialize a non-collapsible sidebar.");this._initEventListeners(),this._initSidebarCounters(),this._initDesktop(),s.shinyResizeObserver.observe(this.layout.main),e.removeAttribute("data-bslib-sidebar-init");let t=e.querySelector(":scope > script[data-bslib-sidebar-init]");t&&e.removeChild(t)}get isClosed(){return this.layout.container.classList.contains(s.classes.COLLAPSE)}static getInstance(e){return s.instanceMap.get(e)}static initCollapsibleAll(e=!0){if(document.readyState==="loading"){s.onReadyScheduled||(s.onReadyScheduled=!0,document.addEventListener("DOMContentLoaded",()=>{s.initCollapsibleAll(!1)}));return}let t=`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`;if(!document.querySelector(t))return;e&&s.shinyResizeObserver.flush(),document.querySelectorAll(t).forEach(r=>new s(r))}_initEventListeners(){var i;let{sidebar:e,toggle:t}=this.layout;t.addEventListener("click",r=>{r.preventDefault(),this.toggle("toggle")}),(i=t.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",()=>{this._finalizeState(),$(e).trigger("toggleCollapse.sidebarInputBinding")})}_initSidebarCounters(){let{container:e}=this.layout,t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function r(n){return n=n?n.parentElement:null,n&&n.classList.contains("main")&&(n=n.parentElement),n&&n.classList.contains(s.classes.LAYOUT)?n:null}let o=[e],l=r(e);for(;l;)o.unshift(l),l=r(l);let d={left:0,right:0};o.forEach(function(n,c){n.style.setProperty("--bslib-sidebar-counter",c.toString());let y=n.classList.contains("sidebar-right")?d.right++:d.left++;n.style.setProperty("--bslib-sidebar-overlap-counter",y.toString())})}_initDesktop(){var i;let{container:e}=this.layout;if(((i=e.dataset.bslibSidebarOpen)==null?void 0:i.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&this.toggle("close")}toggle(e){typeof e=="undefined"&&(e="toggle");let{container:t,sidebar:i}=this.layout,r=this.isClosed;if(["open","close","toggle"].indexOf(e)===-1)throw new Error(`Unknown method ${e}`);e==="toggle"&&(e=r?"open":"close"),!(r&&e==="close"||!r&&e==="open")&&(e==="open"&&(i.hidden=!1),t.classList.add(s.classes.TRANSITIONING),t.classList.toggle(s.classes.COLLAPSE))}_finalizeState(){let{container:e,sidebar:t,toggle:i}=this.layout;e.classList.remove(s.classes.TRANSITIONING),t.hidden=this.isClosed,i.ariaExpanded=this.isClosed?"false":"true"}},a=s;a.shinyResizeObserver=new u,a.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},a.onReadyScheduled=!1,a.instanceMap=new WeakMap;var p=class extends g{find(e){return $(e).find(`.${a.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){let t=a.getInstance(e.parentElement),i=t==null?void 0:t.isClosed;return i===void 0?!1:!i}setValue(e,t){let i=t?"open":"close";this.receiveMessage(e,{method:i})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(i){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){let i=a.getInstance(e.parentElement);i&&i.toggle(t.method)}};f(p,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=a;})(); -//# sourceMappingURL=sidebar.min.js.map diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js.map b/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js.map deleted file mode 100644 index a634843..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.min.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_shinyResizeObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n // Cross-referenced with https://allyjs.io/data-tables/focusable.html\n const base = [\n \"a[href]\",\n \"area[href]\",\n \"button\",\n \"details summary\",\n \"input\",\n \"iframe\",\n \"select\",\n \"textarea\",\n '[contentEditable=\"\"]',\n '[contentEditable=\"true\"]',\n '[contentEditable=\"TRUE\"]',\n \"[tabindex]\",\n ];\n const modifiers = [':not([tabindex=\"-1\"])', \":not([disabled])\"];\n const selectors = base.map((b) => b + modifiers.join(\"\"));\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "/**\n * A resize observer that ensures Shiny outputs resize during or just after\n * their parent container size changes. Useful, in particular, for sidebar\n * transitions or for full-screen card transitions.\n *\n * @class ShinyResizeObserver\n * @typedef {ShinyResizeObserver}\n */\nclass ShinyResizeObserver {\n /**\n * The actual ResizeObserver instance.\n * @private\n * @type {ResizeObserver}\n */\n private resizeObserver: ResizeObserver;\n /**\n * An array of elements that are currently being watched by the Resize\n * Observer.\n *\n * @details\n * We don't currently have lifecycle hooks that allow us to unobserve elements\n * when they are removed from the DOM. As a result, we need to manually check\n * that the elements we're watching still exist in the DOM. This array keeps\n * track of the elements we're watching so that we can check them later.\n * @private\n * @type {HTMLElement[]}\n */\n private resizeObserverEntries: HTMLElement[];\n\n /**\n * Watch containers for size changes and ensure that Shiny outputs and\n * htmlwidgets within resize appropriately.\n *\n * @details\n * The ShinyResizeObserver is used to watch the containers, such as Sidebars\n * and Cards for size changes, in particular when the sidebar state is toggled\n * or the card body is expanded full screen. It performs two primary tasks:\n *\n * 1. Dispatches a `resize` event on the window object. This is necessary to\n * ensure that Shiny outputs resize appropriately. In general, the window\n * resizing is throttled and the output update occurs when the transition\n * is complete.\n * 2. If an output with a resize method on the output binding is detected, we\n * directly call the `.onResize()` method of the binding. This ensures that\n * htmlwidgets transition smoothly. In static mode, htmlwidgets does this\n * already.\n *\n * @note\n * This resize observer also handles race conditions in some complex\n * fill-based layouts with multiple outputs (e.g., plotly), where shiny\n * initializes with the correct sizing, but in-between the 1st and last\n * renderValue(), the size of the output containers can change, meaning every\n * output but the 1st gets initialized with the wrong size during their\n * renderValue(). Then, after the render phase, shiny won't know to trigger a\n * resize since all the widgets will return to their original size (and thus,\n * Shiny thinks there isn't any resizing to do). The resize observer works\n * around this by ensuring that the output is resized whenever its container\n * size changes.\n * @constructor\n */\n constructor() {\n this.resizeObserverEntries = [];\n this.resizeObserver = new ResizeObserver((entries) => {\n const resizeEvent = new Event(\"resize\");\n window.dispatchEvent(resizeEvent);\n\n // the rest of this callback is only relevant in Shiny apps\n if (!window.Shiny) return;\n\n const resized = [] as HTMLElement[];\n\n for (const entry of entries) {\n if (!(entry.target instanceof HTMLElement)) continue;\n if (!entry.target.querySelector(\".shiny-bound-output\")) continue;\n\n entry.target\n .querySelectorAll(\".shiny-bound-output\")\n .forEach((el) => {\n if (resized.includes(el)) return;\n\n const { binding, onResize } = $(el).data(\"shinyOutputBinding\");\n if (!binding || !binding.resize) return;\n\n // if this output is owned by another observer, skip it\n const owner = (el as any).shinyResizeObserver;\n if (owner && owner !== this) return;\n // mark this output as owned by this shinyResizeObserver instance\n if (!owner) (el as any).shinyResizeObserver = this;\n\n // trigger immediate resizing of outputs with a resize method\n onResize(el);\n // only once per output and resize event\n resized.push(el);\n\n // set plot images to 100% width temporarily during the transition\n if (!el.classList.contains(\"shiny-plot-output\")) return;\n const img = el.querySelector(\n 'img:not([width=\"100%\"])'\n );\n if (img) img.setAttribute(\"width\", \"100%\");\n });\n }\n });\n }\n\n /**\n * Observe an element for size changes.\n * @param {HTMLElement} el - The element to observe.\n */\n observe(el: HTMLElement): void {\n this.resizeObserver.observe(el);\n this.resizeObserverEntries.push(el);\n }\n\n /**\n * Stop observing an element for size changes.\n * @param {HTMLElement} el - The element to stop observing.\n */\n unobserve(el: HTMLElement): void {\n const idxEl = this.resizeObserverEntries.indexOf(el);\n if (idxEl < 0) return;\n\n this.resizeObserver.unobserve(el);\n this.resizeObserverEntries.splice(idxEl, 1);\n }\n\n /**\n * This method checks that we're not continuing to watch elements that no\n * longer exist in the DOM. If any are found, we stop observing them and\n * remove them from our array of observed elements.\n *\n * @private\n * @static\n */\n flush(): void {\n this.resizeObserverEntries.forEach((el) => {\n if (!document.body.contains(el)) this.unobserve(el);\n });\n }\n}\n\nexport { ShinyResizeObserver };\n", "import { InputBinding, registerBinding } from \"./_utils\";\nimport { ShinyResizeObserver } from \"./_shinyResizeObserver\";\n\n/**\n * Methods for programmatically toggling the state of the sidebar. These methods\n * describe the desired state of the sidebar: `\"close\"` and `\"open\"` transition\n * the sidebar to the desired state, unless the sidebar is already in that\n * state. `\"toggle\"` transitions the sidebar to the state opposite of its\n * current state.\n * @typedef {SidebarToggleMethod}\n */\ntype SidebarToggleMethod = \"close\" | \"open\" | \"toggle\";\n\n/**\n * Data received by the input binding's `receiveMessage` method.\n * @typedef {SidebarMessageData}\n */\ntype SidebarMessageData = {\n method: SidebarToggleMethod;\n};\n\n/**\n * The DOM elements that make up the sidebar. `main`, `sidebar`, and `toggle`\n * are all direct children of `container` (in that order).\n * @interface SidebarComponents\n * @typedef {SidebarComponents}\n */\ninterface SidebarComponents {\n /**\n * The `layout_sidebar()` parent container, with class\n * `Sidebar.classes.LAYOUT`.\n * @type {HTMLElement}\n */\n container: HTMLElement;\n /**\n * The main content area of the sidebar layout.\n * @type {HTMLElement}\n */\n main: HTMLElement;\n /**\n * The sidebar container of the sidebar layout.\n * @type {HTMLElement}\n */\n sidebar: HTMLElement;\n /**\n * The toggle button that is used to toggle the sidebar state.\n * @type {HTMLElement}\n */\n toggle: HTMLElement;\n}\n\n/**\n * The bslib sidebar component class. This class is only used for collapsible\n * sidebars.\n *\n * @class Sidebar\n * @typedef {Sidebar}\n */\nclass Sidebar {\n /**\n * The DOM elements that make up the sidebar, see `SidebarComponents`.\n * @private\n * @type {SidebarComponents}\n */\n private layout: SidebarComponents;\n\n /**\n * A Shiny-specific resize observer that ensures Shiny outputs in the main\n * content areas of the sidebar resize appropriately.\n * @private\n * @type {ShinyResizeObserver}\n * @static\n */\n private static shinyResizeObserver = new ShinyResizeObserver();\n\n /**\n * Creates an instance of a collapsible bslib Sidebar.\n * @constructor\n * @param {HTMLElement} container\n */\n constructor(container: HTMLElement) {\n Sidebar.instanceMap.set(container, this);\n this.layout = {\n container,\n main: container.querySelector(\":scope > .main\") as HTMLElement,\n sidebar: container.querySelector(\":scope > .sidebar\") as HTMLElement,\n toggle: container.querySelector(\n \":scope > .collapse-toggle\"\n ) as HTMLElement,\n } as SidebarComponents;\n\n if (!this.layout.toggle) {\n throw new Error(\"Tried to initialize a non-collapsible sidebar.\");\n }\n\n this._initEventListeners();\n this._initSidebarCounters();\n this._initDesktop();\n\n // Start watching the main content area for size changes to ensure Shiny\n // outputs resize appropriately during sidebar transitions.\n Sidebar.shinyResizeObserver.observe(this.layout.main);\n\n container.removeAttribute(\"data-bslib-sidebar-init\");\n const initScript = container.querySelector(\n \":scope > script[data-bslib-sidebar-init]\"\n );\n if (initScript) {\n container.removeChild(initScript);\n }\n }\n\n /**\n * Read the current state of the sidebar. Note that, when calling this method,\n * the sidebar may be transitioning into the state returned by this method.\n *\n * @description\n * The sidebar state works as follows, starting from the open state. When the\n * sidebar is closed:\n * 1. We add both the `COLLAPSE` and `TRANSITIONING` classes to the sidebar.\n * 2. The sidebar collapse begins to animate. On desktop devices, and where it\n * is supported, we transition the `grid-template-columns` property of the\n * sidebar layout. On mobile, the sidebar is hidden immediately. In both\n * cases, the collapse icon rotates and we use this rotation to determine\n * when the transition is complete.\n * 3. If another sidebar state toggle is requested while closing the sidebar,\n * we remove the `COLLAPSE` class and the animation immediately starts to\n * reverse.\n * 4. When the `transition` is complete, we remove the `TRANSITIONING` class.\n * @readonly\n * @type {boolean}\n */\n get isClosed(): boolean {\n return this.layout.container.classList.contains(Sidebar.classes.COLLAPSE);\n }\n\n /**\n * Static classes related to the sidebar layout or state.\n * @public\n * @static\n * @readonly\n * @type {{ LAYOUT: string; COLLAPSE: string; TRANSITIONING: string; }}\n */\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n /**\n * If sidebars are initialized before the DOM is ready, we re-schedule the\n * initialization to occur on DOMContentLoaded.\n * @private\n * @static\n * @type {boolean}\n */\n private static onReadyScheduled = false;\n /**\n * A map of initialized sidebars to their respective Sidebar instances.\n * @private\n * @static\n * @type {WeakMap}\n */\n private static instanceMap: WeakMap = new WeakMap();\n\n /**\n * Given a sidebar container, return the Sidebar instance associated with it.\n * @public\n * @static\n * @param {HTMLElement} el\n * @returns {(Sidebar | undefined)}\n */\n public static getInstance(el: HTMLElement): Sidebar | undefined {\n return Sidebar.instanceMap.get(el);\n }\n\n /**\n * Initialize all collapsible sidebars on the page.\n * @public\n * @static\n * @param {boolean} [flushResizeObserver=true] When `true`, we remove\n * non-existent elements from the ResizeObserver. This is required\n * periodically to prevent memory leaks. To avoid over-checking, we only flush\n * the ResizeObserver when initializing sidebars after page load.\n */\n public static initCollapsibleAll(flushResizeObserver = true): void {\n if (document.readyState === \"loading\") {\n if (!Sidebar.onReadyScheduled) {\n Sidebar.onReadyScheduled = true;\n document.addEventListener(\"DOMContentLoaded\", () => {\n Sidebar.initCollapsibleAll(false);\n });\n }\n return;\n }\n\n const initSelector = `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`;\n if (!document.querySelector(initSelector)) {\n // no sidebars to initialize\n return;\n }\n\n if (flushResizeObserver) Sidebar.shinyResizeObserver.flush();\n\n const containers = document.querySelectorAll(initSelector);\n containers.forEach((container) => new Sidebar(container as HTMLElement));\n }\n\n /**\n * Initialize event listeners for the sidebar toggle button.\n * @private\n */\n private _initEventListeners(): void {\n const { sidebar, toggle } = this.layout;\n\n toggle.addEventListener(\"click\", (ev) => {\n ev.preventDefault();\n this.toggle(\"toggle\");\n });\n\n // Remove the transitioning class when the transition ends. We watch the\n // collapse toggle icon because it's guaranteed to transition, whereas the\n // sidebar doesn't animate on mobile (or in browsers where animating\n // grid-template-columns is not supported).\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", () => {\n this._finalizeState();\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n });\n }\n\n /**\n * Initialize nested sidebar counters.\n *\n * @description\n * This function walks up the DOM tree, adding CSS variables to each direct\n * parent sidebar layout that count the layout's position in the stack of\n * nested layouts. We use these counters to keep the collapse toggles from\n * overlapping. Note that always-open sidebars that don't have collapse\n * toggles break the chain of nesting.\n * @private\n */\n private _initSidebarCounters(): void {\n const { container } = this.layout;\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidebar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n /**\n * Initialize the sidebar's initial state when `open = \"desktop\"`.\n * @private\n */\n private _initDesktop(): void {\n const { container } = this.layout;\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n this.toggle(\"close\");\n }\n }\n\n /**\n * Toggle the sidebar's open/closed state.\n * @public\n * @param {SidebarToggleMethod | undefined} method Whether to `\"open\"`,\n * `\"close\"` or `\"toggle\"` the sidebar. If `.toggle()` is called without an\n * argument, it will toggle the sidebar's state.\n */\n public toggle(method: SidebarToggleMethod | undefined): void {\n if (typeof method === \"undefined\") {\n method = \"toggle\";\n }\n\n const { container, sidebar } = this.layout;\n const isClosed = this.isClosed;\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n /**\n * When the sidebar open/close transition ends, finalize the sidebar's state.\n * @private\n */\n private _finalizeState(): void {\n const { container, sidebar, toggle } = this.layout;\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = this.isClosed;\n toggle.ariaExpanded = this.isClosed ? \"false\" : \"true\";\n }\n}\n\n/**\n * A Shiny input binding for a sidebar.\n * @class SidebarInputBinding\n * @typedef {SidebarInputBinding}\n * @extends {InputBinding}\n */\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n const sb = Sidebar.getInstance(el.parentElement as HTMLElement);\n const closed = sb?.isClosed;\n return closed === undefined ? false : !closed;\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: SidebarMessageData) {\n const sb = Sidebar.getInstance(el.parentElement as HTMLElement);\n if (sb) sb.toggle(data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "ShinyResizeObserver", "entries", "resizeEvent", "resized", "entry", "el", "binding", "onResize", "owner", "img", "idxEl", "_Sidebar", "container", "initScript", "el", "flushResizeObserver", "initSelector", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "layouts", "parent", "count", "x", "i", "thisCount", "method", "isClosed", "Sidebar", "ShinyResizeObserver", "SidebarInputBinding", "InputBinding", "scope", "sb", "closed", "value", "callback", "event", "data", "registerBinding"] -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.scss deleted file mode 100644 index b5ceeb3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/sidebar.scss +++ /dev/null @@ -1,352 +0,0 @@ -.bslib-sidebar-layout { - --bslib-sidebar-transition: grid-template-columns ease-in-out #{$bslib-sidebar-transition-duration}; - --bslib-sidebar-border: #{$bslib-sidebar-border}; - --bslib-sidebar-border-radius: var(--bs-border-radius); - --bslib-sidebar-vert-border: #{$bslib-sidebar-border}; - --bslib-sidebar-bg: #{$bslib-sidebar-bg}; - --bslib-sidebar-fg: #{$bslib-sidebar-fg}; - --bslib-collapse-toggle-border: #{$bslib-sidebar-border}; - --bslib-collapse-toggle-transform: 90deg; - --bslib-collapse-toggle-right-transform: -90deg; - - display: grid !important; - grid-template-columns: $bslib-sidebar-column-sidebar $bslib-sidebar-column-main; - position: relative; - - @include transition(var(--bslib-sidebar-transition)); - - border: var(--bslib-sidebar-border); - border-radius: var(--bslib-sidebar-border-radius); - - &[data-bslib-sidebar-border="false"] { - border: none; - } - &[data-bslib-sidebar-border-radius="false"] { - border-radius: initial; - } - - > .main, > .sidebar { - grid-row: 1 / 2; - border-radius: inherit; - overflow: auto; - } - - > .main { - grid-column: 2 / 3; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - padding: $bslib-sidebar-padding; - } - - > .sidebar { - grid-column: 1 / 2; - width: 100%; - height: 100%; - border-right: var(--bslib-sidebar-vert-border); - border-top-right-radius: 0; - border-bottom-right-radius: 0; - background-color: var(--bslib-sidebar-bg); - color: var(--bslib-sidebar-fg); - - > .sidebar-content { - display: flex; - flex-direction: column; - padding: $bslib-sidebar-padding; - - > :last-child:not(.sidebar-title) { - // Remove margin-bottom from the last item because sidebar has padding. - // We make an exception for .sidebar-title because it might be common to - // have a title and bare text nodes (that don't count as children). - margin-bottom: 0; - } - - > .accordion { - margin-left: - $bslib-sidebar-padding; - margin-right: - $bslib-sidebar-padding; - &:first-child { - margin-top: - $bslib-sidebar-padding; - } - &:last-child { - margin-bottom: - $bslib-sidebar-padding; - } - &:not(:last-child) { - margin-bottom: $spacer; - } - @extend .accordion-flush; - .accordion-body { - display: flex; - flex-direction: column; - } - } - - // Accordions in sidebars are made flush with `.accordion-flush`, which - // removes the top and bottom border of the first or last accordion item. - // But in our usage, the accordions might not be the first or last item in - // the sidebar. In that case, it's better to keep the top/bottom borders. - > .accordion:not(:first-child) .accordion-item:first-child { - border-top: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); - } - > .accordion:not(:last-child) .accordion-item:last-child { - border-bottom: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); - } - - // When a sidebar title appears just above an accordion, we use the - // accordion's top border as the "underline". The fiddly margin-top bit - // adjusts the accordion to cover the title bottom border in browsers - // that don't yet support :has(). - // TODO: this can be removed once :has() has better browser support - > .sidebar-title + .accordion { - margin-top: calc(-#{$spacer} - var(--bs-card-border-width, #{$card-border-width})); - } - - > .sidebar-title:has(+ .accordion) { - border-bottom: none; - } - } - - .shiny-input-container { - width: 100%; - } - } - - > .collapse-toggle { - grid-row: 1 / 2; - grid-column: 1 / 2; - display: inline-flex; - align-items: center; - position: absolute; - right: -$bslib-sidebar-icon-size; - // The CSS variable (set via JS) is here to help avoid overlapping toggles - bottom: calc(#{$bslib-sidebar-padding} + var(--bslib-sidebar-overlap-counter, 0) * calc(#{$bslib-sidebar-icon-size} + #{$bslib-sidebar-padding})); - border: var(--bslib-collapse-toggle-border); - border-left: none; - border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0; - padding: 7px 0; - background-color: var(--bslib-sidebar-bg); - color: var(--bslib-sidebar-fg); - - > .collapse-icon { - opacity: 0.8; - width: $bslib-sidebar-icon-size; - height: $bslib-sidebar-icon-size; - transform: rotate(var(--bslib-collapse-toggle-transform)); - // N.B. since mobile view won't trigger a transition of grid-template-columns, - // we transition this toggle to ensure _some_ transition event always happens. - transition: transform cubic-bezier(0.68, -0.55, 0.27, 1.55) $bslib-sidebar-transition-duration; - } - - &:hover > .collapse-icon { - opacity: 1; - } - } - - .sidebar-title { - font-size: $font-size-base * 1.25; - line-height: $line-height-sm; - margin-top: 0; - margin-bottom: $spacer; - padding-bottom: $spacer; - border-bottom: var(--bslib-sidebar-border); - } - - &.sidebar-right { - grid-template-columns: $bslib-sidebar-column-main $bslib-sidebar-column-sidebar; - - > .main { - grid-column: 1 / 2; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-top-left-radius: inherit; - border-bottom-left-radius: inherit; - } - - > .sidebar { - grid-column: 2 / 3; - border-right: none; - border-left: var(--bslib-sidebar-vert-border); - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - > .collapse-toggle { - grid-column: 2 / 3; - left: -$bslib-sidebar-icon-size; - right: unset; - border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius); - border-right: none; - border-left: var(--bslib-collapse-toggle-border); - > .collapse-icon { - transform: rotate(var(--bslib-collapse-toggle-right-transform)); - } - } - } - - &.sidebar-collapsed { - --bslib-collapse-toggle-transform: -90deg; - --bslib-collapse-toggle-right-transform: 90deg; - --bslib-sidebar-vert-border: none; - - grid-template-columns: 0 minmax(0, 1fr); - - &.sidebar-right { - grid-template-columns: minmax(0, 1fr) 0; - } - - // Hide the sidebar contents after it's done transitioning so that - // those contents don't impact the overall layout (i.e., height) - &:not(.transitioning) { - // Putting `display:none` on .sidebar would change the number of columns - // in the grid, and I don't think we can transition between those states - > .sidebar > * { - display: none; - } - } - - > .main { - border-radius: inherit; - } - - > .collapse-toggle { - right: calc(#{-$bslib-sidebar-icon-size} - var(--bs-card-border-width, 1px)); - } - - &.sidebar-right > .collapse-toggle { - left: calc(#{-$bslib-sidebar-icon-size} - var(--bs-card-border-width, 1px)); - right: unset; - } - } -} - -@include media-breakpoint-up(sm) { - // hide sidebar content while we transition the parent .sidebar on desktop - // (on mobile the reveal happens immediately) - .bslib-sidebar-layout.transitioning > .sidebar > .sidebar-content { - display: none; - } -} - -@include media-breakpoint-down(sm) { - .bslib-sidebar-layout, .bslib-sidebar-layout.sidebar-right { - --bslib-sidebar-vert-border: none; - --bslib-sidebar-horiz-border: #{$bslib-sidebar-border}; - --bslib-collapse-toggle-transform: -180deg; - --bslib-collapse-toggle-right-transform: -180deg; - - // required by sidebar init js when `sidebar(open = "desktop")` - &[data-bslib-sidebar-open="desktop"] { - --bslib-sidebar-js-init-collapsed: true; - } - - grid-template-columns: 1fr !important; - // Sidebar height is constrained on mobile where upper bound is determined - // by bslib UI functions. The minimax() is important to ensure the main main - // content is allowed to grow/shrink. - grid-template-rows: - fit-content(var(--bslib-sidebar-max-height-mobile, auto)) - minmax(0, 1fr); - - > .sidebar { - grid-row: 1 / 2; - grid-column: 1 / 2; - width: 100%; - border: none; - border-bottom: var(--bslib-sidebar-horiz-border); - border-radius: 0; - } - - > .main { - grid-row: 2 / 3; - grid-column: 1 / 2; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; - } - - > .collapse-toggle { - grid-row: 2 / 3; - grid-column: 1 / 2; - border-top: none !important; - border: var(--bslib-collapse-toggle-border); - border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius); - padding: 0 4px; - > .collapse-icon { - // On mobile we can transition the icon orientation immediately and quickly - transition-duration: $bslib-sidebar-transition-duration * 0.33; - } - } - - // Apply same collapse-toggle position adjustment to all states and layouts - &, &.sidebar-right { - > .collapse-toggle { - top: calc(-1 * var(--bs-card-border-width, 1px)); - } - &.sidebar-collapsed > .collapse-toggle { - top: 0; - } - &, &.sidebar-collapsed { - > .collapse-toggle { - // The CSS variable (set via JS) is here to help avoid overlapping toggles - right: calc(#{$bslib-sidebar-padding} + var(--bslib-sidebar-counter, 0) * calc(#{$bslib-sidebar-icon-size} + #{$bslib-sidebar-padding})); - bottom: initial; - left: initial; - } - } - } - - &.sidebar-collapsed { - --bslib-collapse-toggle-transform: 0deg; - --bslib-collapse-toggle-right-transform: 0deg; - - grid-template-rows: 0 minmax(0, 1fr); - // TODO: according to the spec, grid-template-rows should be animatable, - // but this doesn't behave quite right, and I'm not sure why - // transition: grid-template-rows ease-in-out $bslib-sidebar-transition-duration; - - > .main { - border-top-left-radius: inherit; - border-top-right-radius: inherit; - } - - > .sidebar { - border-bottom: none; - } - } - } -} - - -.navbar + .container-fluid { - // When the tab/page is fillable, undo the padding on the container-fluid - // (in this case, the user has control over padding/gap) - &:has(> .tab-content > .tab-pane.active.html-fill-container) { - padding-left: 0; - padding-right: 0; - } - // When the tab/page is fillable, add sensible default padding - > .tab-content > .tab-pane.active.html-fill-container { - padding: $spacer; - gap: $spacer; - // ...but if it holds a single sidebar layout, remove the padding - &:has(> .bslib-sidebar-layout:only-child) { - padding: 0; - } - // And smart border defaults for nav_panel("Foo", layout_sidebar()) - > .bslib-sidebar-layout:only-child { - &:not([data-bslib-sidebar-border="true"]) { - border-left: none; - border-right: none; - border-bottom: none; - } - &:not([data-bslib-sidebar-border-radius="true"]) { - border-radius: 0; - } - } - } -} - -// Make sure a border appears between the navbar and the sidebar layout -// (especially important when page_navbar(inverse = FALSE, sidebar = sidebar()) -.navbar + div > .bslib-sidebar-layout { - border-top: var(--bslib-sidebar-border); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/tag-require.js b/revdep/library.noindex/BayesianNetwork/new/bslib/components/tag-require.js deleted file mode 100644 index 4deb07c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/tag-require.js +++ /dev/null @@ -1,14 +0,0 @@ -window.addEventListener('DOMContentLoaded', function(e) { - const nodes = document.querySelectorAll('[data-require-bs-version]'); - if (!nodes) { - return; - } - const VERSION = window.bootstrap ? parseInt(window.bootstrap.Tab.VERSION) : 3; - for (let i = 0; i < nodes.length; i++) { - const version = nodes[i].getAttribute('data-require-bs-version'); - const caller = nodes[i].getAttribute('data-require-bs-caller'); - if (version > VERSION) { - console.error(`${caller} requires Bootstrap version ${version} but this page is using version ${VERSION}`); - } - } -}); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/components/value_box.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/components/value_box.scss deleted file mode 100644 index 4bc5f66..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/components/value_box.scss +++ /dev/null @@ -1,83 +0,0 @@ -.bslib-value-box { - - .value-box-grid { - grid-template-columns: var(--bslib-value-box-widths); - } - - // Should also be fillable/fill (i.e., d-flex; flex: 1) - .value-box-showcase { - align-items: center; - justify-content: center; - margin-top: auto; - margin-bottom: auto; - padding: 1rem; - - .bi, .fa { opacity: .85; } - .bi { font-size: 5rem; } - .fa { font-size: 4rem; } - - max-height: var(--bslib-value-box-max-height); - - &.showcase-top-right { - align-items: end; - padding-left: 0; - padding-bottom: 0; - } - } - - // Should also be fillable/fill (i.e., d-flex; flex: 1) - .value-box-area { - justify-content: center; - padding: 1.5rem 1rem; - font-size: .9rem; - font-weight: 500; - * { - color: inherit; - margin-bottom: 0; - margin-top: 0; - } - // value_box(title = ) - > :first-child { - @extend .h6; - color: inherit; - // add a non-breaking space to ensure it's not 0 height - &::after { - content: '\00a0 ' - } - } - // value_box(value = ) - > :nth-child(2) { - @extend .h2; - color: inherit; - // add a non-breaking space to ensure it's not 0 height - &::after { - content: '\00a0 ' - } - } - &.border-start { - border-color: rgba($border-color, 0.3) !important; - } - } - - &.bslib-full-screen { - .value-box-grid { - grid-template-columns: var(--bslib-value-box-widths-full-screen); - } - .value-box-showcase { - max-height: var(--bslib-value-box-max-height-full-screen); - } - } - - &:not(.bslib-full-screen) { - .value-box-showcase.showcase-top-right { - margin-top: 0; - } - } -} - -// Override layout_inline_grid()'s preference to collapse to full-width on mobile (inside the value box) -@include media-breakpoint-down(sm) { - .bslib-value-box .value-box-grid { - grid-template-columns: var(--bslib-value-box-widths) !important; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/3/bootstrap.min.css b/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/3/bootstrap.min.css deleted file mode 100644 index c60e6fd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/3/bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.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:-0.5em}sub{bottom:-0.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 #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}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{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;box-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:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{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 th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:"Glyphicons Halflings";src:url("glyphicon-fonts/glyphicons-halflings-regular.eot");src:url("glyphicon-fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("glyphicon-fonts/glyphicons-halflings-regular.woff2") format("woff2"),url("glyphicon-fonts/glyphicons-halflings-regular.woff") format("woff"),url("glyphicon-fonts/glyphicons-halflings-regular.ttf") format("truetype"),url("glyphicon-fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#2c689c;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;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}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{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .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{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcefdc}.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,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#2e6ea5}.text-success{color:#3e7b3e}a.text-success:hover,a.text-success:focus{color:#386f38}.text-info{color:#3b7d90}a.text-info:hover,a.text-info:focus{color:#357182}.text-warning{color:#90682f}a.text-warning:hover,a.text-warning:focus{color:#825e2a}.text-danger{color:#ae423f}a.text-danger:hover,a.text-danger:focus{color:#9d3b39}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#2e6ea5}.bg-success{background-color:#def1de}a.bg-success:hover,a.bg-success:focus{background-color:#c8d9c8}.bg-info{background-color:#def2f8}a.bg-info:hover,a.bg-info:focus{background-color:#c8dadf}.bg-warning{background-color:#fcefdc}a.bg-warning:hover,a.bg-warning:focus{background-color:#e3d7c6}.bg-danger{background-color:#f7dddc}a.bg-danger:hover,a.bg-danger:focus{background-color:#dec7c6}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:inherit;background-color:#f5f5f5;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container-fluid:before,.container-fluid:after{display:table;content:" "}.container-fluid:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 768px){.col-sm-1,.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-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 992px){.col-md-1,.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-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-lg-1,.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-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{background-color:rgba(0,0,0,0)}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e9e9e9}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#def1de}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d3e5d3}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#def2f8}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#d3e6ec}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcefdc}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#efe3d1}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f7dddc}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebd2d1}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:rgba(51,122,183,0.25);outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(51,122,183,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(51,122,183,0.6)}.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:#eee;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="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,.input-group-sm>[type="date"].form-control,.input-group-sm>[type="date"].input-group-addon,.input-group-sm>.input-group-btn>[type="date"].btn,.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>[type="time"].form-control,.input-group-sm>[type="time"].input-group-addon,.input-group-sm>.input-group-btn>[type="time"].btn,.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>[type="datetime-local"].form-control,.input-group-sm>[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>[type="datetime-local"].btn,.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>[type="month"].form-control,.input-group-sm>[type="month"].input-group-addon,.input-group-sm>.input-group-btn>[type="month"].btn,.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,.input-group-lg>[type="date"].form-control,.input-group-lg>[type="date"].input-group-addon,.input-group-lg>.input-group-btn>[type="date"].btn,.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>[type="time"].form-control,.input-group-lg>[type="time"].input-group-addon,.input-group-lg>.input-group-btn>[type="time"].btn,.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>[type="datetime-local"].form-control,.input-group-lg>[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>[type="datetime-local"].btn,.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>[type="month"].form-control,.input-group-lg>[type="month"].input-group-addon,.input-group-lg>.input-group-btn>[type="month"].btn,.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>[multiple].form-control,.input-group-sm>[multiple].input-group-addon,.input-group-sm>.input-group-btn>[multiple].btn{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>[multiple].form-control,.input-group-lg>[multiple].input-group-addon,.input-group-lg>.input-group-btn>[multiple].btn{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3e7b3e}.has-success .form-control{border-color:#3e7b3e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#386f38;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #659565;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #659565}.has-success .input-group-addon{color:#3e7b3e;background-color:#def1de;border-color:#3e7b3e}.has-success .form-control-feedback{color:#3e7b3e}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#90682f}.has-warning .form-control{border-color:#90682f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#825e2a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a68659;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a68659}.has-warning .input-group-addon{color:#90682f;background-color:#fcefdc;border-color:#90682f}.has-warning .form-control-feedback{color:#90682f}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ae423f}.has-error .form-control{border-color:#ae423f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#9d3b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #be6865;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #be6865}.has-error .input-group-addon{color:#ae423f;background-color:#f7dddc;border-color:#ae423f}.has-error .form-control-feedback{color:#ae423f}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#666}@media (min-width: 768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#999}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#b4b4b4}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#b4b4b4}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#999}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#3174ae}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#2e6ea5;border-color:#255783}.btn-primary:hover{color:#fff;background-color:#2e6ea5;border-color:#2b6699}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2e6ea5;background-image:none;border-color:#2b6699}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#2b6598;border-color:#255783}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#3174ae}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#57af57}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#53a653;border-color:#418341}.btn-success:hover{color:#fff;background-color:#53a653;border-color:#4d9a4d}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#53a653;background-image:none;border-color:#4d9a4d}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#4c994c;border-color:#418341}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#57af57}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#56b6d3}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#52adc8;border-color:#41899e}.btn-info:hover{color:#fff;background-color:#52adc8;border-color:#4ca0ba}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#52adc8;background-image:none;border-color:#4ca0ba}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#4c9fb8;border-color:#41899e}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#56b6d3}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#e4a44a}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#d89c46;border-color:#ab7b38}.btn-warning:hover{color:#fff;background-color:#d89c46;border-color:#c99041}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#d89c46;background-image:none;border-color:#c99041}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#c79041;border-color:#ab7b38}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#e4a44a}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#ce4f4b}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c34b47;border-color:#9b3b38}.btn-danger:hover{color:#fff;background-color:#c34b47;border-color:#b54642}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c34b47;background-image:none;border-color:#b54642}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#b44542;border-color:#9b3b38}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#ce4f4b}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.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:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2c689c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.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{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#303030;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{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:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.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-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-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-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,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,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .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;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.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-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.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-right-radius:0;border-bottom-left-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{display:table;width:100%;table-layout:fixed;border-collapse:separate}.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="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{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:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-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:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{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{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.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{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.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:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e8e8e8}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#6b6b6b;background-color:rgba(0,0,0,0)}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:rgba(0,0,0,0)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e8e8e8}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:rgba(0,0,0,0)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e8e8e8}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:rgba(0,0,0,0)}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e8e8e8}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:rgba(0,0,0,0)}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e8e8e8}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#1f1f1f}.navbar-inverse .navbar-brand{color:#8b8b8b}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:rgba(0,0,0,0)}.navbar-inverse .navbar-text{color:#8b8b8b}.navbar-inverse .navbar-nav>li>a{color:#8b8b8b}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:rgba(0,0,0,0)}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#1f1f1f}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:rgba(0,0,0,0)}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#1f1f1f}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#1f1f1f}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#1f1f1f}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#8b8b8b}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:rgba(0,0,0,0)}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#1f1f1f}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:rgba(0,0,0,0)}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#202020}.navbar-inverse .navbar-link{color:#8b8b8b}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#8b8b8b}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/ "}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#2c689c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#6b6b6b}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#2e6ea5}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#53a653}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#52adc8}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#d89c46}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c34b47}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d7d7d7}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.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{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3e7b3e;background-color:#def1de;border-color:#d6e5d3}.alert-success hr{border-top-color:#cbdac8}.alert-success .alert-link{color:#386f38}.alert-info{color:#3b7d90;background-color:#def2f8;border-color:#cee5e7}.alert-info hr{border-top-color:#c4dadb}.alert-info .alert-link{color:#357182}.alert-warning{color:#90682f;background-color:#fcefdc;border-color:#efded1}.alert-warning hr{border-top-color:#e3d3c7}.alert-warning .alert-link{color:#825e2a}.alert-danger{color:#ae423f;background-color:#f7dddc;border-color:#ebd1d4}.alert-danger hr{border-top-color:#dfc7c9}.alert-danger .alert-link{color:#9d3b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);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);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);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-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:#5cb85c}.progress-striped .progress-bar-success{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);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);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.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-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.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: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,.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{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#85afd4}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3e7b3e;background-color:#def1de}a.list-group-item-success,button.list-group-item-success{color:#3e7b3e}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:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#3e7b3e;background-color:#d3e5d3}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#3e7b3e;border-color:#3e7b3e}.list-group-item-info{color:#3b7d90;background-color:#def2f8}a.list-group-item-info,button.list-group-item-info{color:#3b7d90}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:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#3b7d90;background-color:#d3e6ec}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#3b7d90;border-color:#3b7d90}.list-group-item-warning{color:#90682f;background-color:#fcefdc}a.list-group-item-warning,button.list-group-item-warning{color:#90682f}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:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#90682f;background-color:#efe3d1}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#90682f;border-color:#90682f}.list-group-item-danger{color:#ae423f;background-color:#f7dddc}a.list-group-item-danger,button.list-group-item-danger{color:#ae423f}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:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#ae423f;background-color:#ebd2d1}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#ae423f;border-color:#ae423f}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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-width:1px 0;border-radius: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-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.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-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.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,.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-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-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{border-top-left-radius:3px}.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,.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-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-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{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr: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{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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,.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{border-bottom-left-radius:3px}.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,.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{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 th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.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{border-bottom:0}.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-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{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e5d3}.panel-success>.panel-heading{color:#3e7b3e;background-color:#def1de;border-color:#d6e5d3}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e5d3}.panel-success>.panel-heading .badge{color:#def1de;background-color:#3e7b3e}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e5d3}.panel-info{border-color:#cee5e7}.panel-info>.panel-heading{color:#3b7d90;background-color:#def2f8;border-color:#cee5e7}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cee5e7}.panel-info>.panel-heading .badge{color:#def2f8;background-color:#3b7d90}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cee5e7}.panel-warning{border-color:#efded1}.panel-warning>.panel-heading{color:#90682f;background-color:#fcefdc;border-color:#efded1}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#efded1}.panel-warning>.panel-heading .badge{color:#fcefdc;background-color:#90682f}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#efded1}.panel-danger{border-color:#ebd1d4}.panel-danger>.panel-heading{color:#ae423f;background-color:#f7dddc;border-color:#ebd1d4}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebd1d4}.panel-danger>.panel-heading .badge{color:#f7dddc;background-color:#ae423f}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebd1d4}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e4e4e4;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:before,.modal-header:after{display:table;content:" "}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.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{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#a3a3a3;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#a3a3a3;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#a3a3a3;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#a3a3a3;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs{display:none !important}.visible-sm{display:none !important}.visible-md{display:none !important}.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-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}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.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}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.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}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.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}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.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}th.visible-print,td.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}}@media print{.hidden-print{display:none !important}}.btn:focus{outline:none 2px #000}.btn:focus-visible{outline:auto 2px #000}div.active:focus{outline:none 1px #000}div.active:focus-visible{outline:auto 1px #000}a:focus{outline:none 1px #000}a:focus-visible{outline:auto 1px #000}.close:hover,.close:focus{outline:none 1px #000}.close:focus-visible{outline:auto 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:none 1px #000}.nav>li>a:focus-visible{outline:auto 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0px 0px 0px 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0px, rgba(0,0,0,0.5) 100%);box-shadow:0px 0px 0px 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:0.5em;left:0.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#bd2d29}@media (min-width: 768px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/4/bootstrap.min.css b/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/4/bootstrap.min.css deleted file mode 100644 index 9cdedf3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/4/bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -:root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--default: #dee2e6;--primary: #007bff;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#000;background-color:#f6f6f6;border-radius:.25rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.25rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal;padding:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;-webkit-flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;-webkit-flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;-webkit-flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;-webkit-flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;-webkit-flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;-webkit-flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;-webkit-flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;-webkit-flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width: 576px){.col-sm{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;-webkit-flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;-webkit-flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;-webkit-flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;-webkit-flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;-webkit-flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;-webkit-flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;-webkit-flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;-webkit-flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.col-md{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;-webkit-flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;-webkit-flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;-webkit-flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;-webkit-flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;-webkit-flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;-webkit-flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;-webkit-flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;-webkit-flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.col-lg{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;-webkit-flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;-webkit-flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;-webkit-flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;-webkit-flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;-webkit-flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;-webkit-flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;-webkit-flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;-webkit-flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;-webkit-flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;-webkit-flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;-webkit-flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;-webkit-flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;-webkit-flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;-webkit-flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;-webkit-flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;-webkit-flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;-webkit-flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;-webkit-flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;-webkit-flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;-webkit-flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;-webkit-flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-default,.table-default>th,.table-default>td{background-color:#f6f7f8}.table-default th,.table-default td,.table-default thead th,.table-default tbody+tbody{border-color:#eef0f2}.table-hover .table-default:hover{background-color:#e8eaed}.table-hover .table-default:hover>td,.table-hover .table-default:hover>th{background-color:#e8eaed}.table-primary,.table-primary>th,.table-primary>td{background-color:#b8daff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d8db}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>th,.table-success>td{background-color:#c3e6cb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#ffeeba}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>th,.table-danger>td{background-color:#f5c6cb}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>th,.table-light>td{background-color:#fdfdfe}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>th,.table-dark>td{background-color:#c6c8ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark th,.table-dark td,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text,.help-text,.help-block{display:block;margin-top:.25rem}.form-row{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check,.shiny-input-checkboxgroup .checkbox,.shiny-input-checkboxgroup .radio,.shiny-input-radiogroup .checkbox,.shiny-input-radiogroup .radio{position:relative;display:block;padding-left:1.25rem}.form-check-input,.shiny-input-checkboxgroup .checkbox label>input,.shiny-input-checkboxgroup .radio label>input,.shiny-input-radiogroup .checkbox label>input,.shiny-input-radiogroup .radio label>input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.shiny-input-checkboxgroup .checkbox label>input[disabled]~.form-check-label,.shiny-input-checkboxgroup .radio label>input[disabled]~.form-check-label,.shiny-input-radiogroup .checkbox label>input[disabled]~.form-check-label,.shiny-input-radiogroup .radio label>input[disabled]~.form-check-label,.shiny-input-checkboxgroup .checkbox .form-check-input[disabled]~label,.shiny-input-checkboxgroup .checkbox label>input[disabled]~label,.shiny-input-checkboxgroup .radio .form-check-input[disabled]~label,.shiny-input-checkboxgroup .radio label>input[disabled]~label,.shiny-input-radiogroup .checkbox .form-check-input[disabled]~label,.shiny-input-radiogroup .checkbox label>input[disabled]~label,.shiny-input-radiogroup .radio .form-check-input[disabled]~label,.shiny-input-radiogroup .radio label>input[disabled]~label,.form-check-input:disabled~.form-check-label,.shiny-input-checkboxgroup .checkbox label>input:disabled~.form-check-label,.shiny-input-checkboxgroup .radio label>input:disabled~.form-check-label,.shiny-input-radiogroup .checkbox label>input:disabled~.form-check-label,.shiny-input-radiogroup .radio label>input:disabled~.form-check-label,.shiny-input-checkboxgroup .checkbox .form-check-input:disabled~label,.shiny-input-checkboxgroup .checkbox label>input:disabled~label,.shiny-input-checkboxgroup .radio .form-check-input:disabled~label,.shiny-input-checkboxgroup .radio label>input:disabled~label,.shiny-input-radiogroup .checkbox .form-check-input:disabled~label,.shiny-input-radiogroup .checkbox label>input:disabled~label,.shiny-input-radiogroup .radio .form-check-input:disabled~label,.shiny-input-radiogroup .radio label>input:disabled~label{color:#6c757d}.form-check-label,.shiny-input-checkboxgroup .checkbox label,.shiny-input-checkboxgroup .radio label,.shiny-input-radiogroup .checkbox label,.shiny-input-radiogroup .radio label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;-webkit-align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input,.form-check-inline .shiny-input-checkboxgroup .checkbox label>input,.shiny-input-checkboxgroup .checkbox .form-check-inline label>input,.form-check-inline .shiny-input-checkboxgroup .radio label>input,.shiny-input-checkboxgroup .radio .form-check-inline label>input,.form-check-inline .shiny-input-radiogroup .checkbox label>input,.shiny-input-radiogroup .checkbox .form-check-inline label>input,.form-check-inline .shiny-input-radiogroup .radio label>input,.shiny-input-radiogroup .radio .form-check-inline label>input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*="col-"]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .form-check-input:valid~.form-check-label,.was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~.form-check-label,.shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~.form-check-label,.was-validated .shiny-input-checkboxgroup .radio label>input:valid~.form-check-label,.shiny-input-checkboxgroup .radio .was-validated label>input:valid~.form-check-label,.was-validated .shiny-input-radiogroup .checkbox label>input:valid~.form-check-label,.shiny-input-radiogroup .checkbox .was-validated label>input:valid~.form-check-label,.was-validated .shiny-input-radiogroup .radio label>input:valid~.form-check-label,.shiny-input-radiogroup .radio .was-validated label>input:valid~.form-check-label,.was-validated .shiny-input-checkboxgroup .checkbox .form-check-input:valid~label,.was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~label,.was-validated .shiny-input-checkboxgroup .checkbox .radio label>input:valid~label,.was-validated .shiny-input-checkboxgroup .radio .checkbox label>input:valid~label,.was-validated .shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input:valid~label,.shiny-input-radiogroup .was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~label,.was-validated .shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input:valid~label,.shiny-input-radiogroup .radio .was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~label,.shiny-input-checkboxgroup .checkbox .was-validated .form-check-input:valid~label,.shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~label,.shiny-input-checkboxgroup .checkbox .was-validated .radio label>input:valid~label,.shiny-input-checkboxgroup .radio .checkbox .was-validated label>input:valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox .was-validated label>input:valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~label,.shiny-input-checkboxgroup .checkbox .was-validated .shiny-input-radiogroup .radio label>input:valid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~label,.was-validated .shiny-input-checkboxgroup .radio .form-check-input:valid~label,.was-validated .shiny-input-checkboxgroup .radio .checkbox label>input:valid~label,.was-validated .shiny-input-checkboxgroup .checkbox .radio label>input:valid~label,.was-validated .shiny-input-checkboxgroup .radio label>input:valid~label,.was-validated .shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input:valid~label,.shiny-input-radiogroup .checkbox .was-validated .shiny-input-checkboxgroup .radio label>input:valid~label,.was-validated .shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input:valid~label,.shiny-input-radiogroup .was-validated .shiny-input-checkboxgroup .radio label>input:valid~label,.shiny-input-checkboxgroup .radio .was-validated .form-check-input:valid~label,.shiny-input-checkboxgroup .radio .was-validated .checkbox label>input:valid~label,.shiny-input-checkboxgroup .checkbox .radio .was-validated label>input:valid~label,.shiny-input-checkboxgroup .radio .was-validated label>input:valid~label,.shiny-input-checkboxgroup .radio .was-validated .shiny-input-radiogroup .checkbox label>input:valid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio .was-validated label>input:valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio .was-validated label>input:valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio .was-validated label>input:valid~label,.was-validated .shiny-input-radiogroup .checkbox .form-check-input:valid~label,.was-validated .shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input:valid~label,.shiny-input-checkboxgroup .was-validated .shiny-input-radiogroup .checkbox label>input:valid~label,.was-validated .shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input:valid~label,.shiny-input-checkboxgroup .radio .was-validated .shiny-input-radiogroup .checkbox label>input:valid~label,.was-validated .shiny-input-radiogroup .checkbox label>input:valid~label,.was-validated .shiny-input-radiogroup .checkbox .radio label>input:valid~label,.was-validated .shiny-input-radiogroup .radio .checkbox label>input:valid~label,.shiny-input-radiogroup .checkbox .was-validated .form-check-input:valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox .was-validated label>input:valid~label,.shiny-input-radiogroup .checkbox .was-validated .shiny-input-checkboxgroup .radio label>input:valid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox .was-validated label>input:valid~label,.shiny-input-radiogroup .checkbox .was-validated label>input:valid~label,.shiny-input-radiogroup .checkbox .was-validated .radio label>input:valid~label,.shiny-input-radiogroup .radio .checkbox .was-validated label>input:valid~label,.was-validated .shiny-input-radiogroup .radio .form-check-input:valid~label,.was-validated .shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input:valid~label,.shiny-input-checkboxgroup .checkbox .was-validated .shiny-input-radiogroup .radio label>input:valid~label,.was-validated .shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input:valid~label,.shiny-input-checkboxgroup .was-validated .shiny-input-radiogroup .radio label>input:valid~label,.was-validated .shiny-input-radiogroup .radio .checkbox label>input:valid~label,.was-validated .shiny-input-radiogroup .checkbox .radio label>input:valid~label,.was-validated .shiny-input-radiogroup .radio label>input:valid~label,.shiny-input-radiogroup .radio .was-validated .form-check-input:valid~label,.shiny-input-radiogroup .radio .was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio .was-validated label>input:valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio .was-validated label>input:valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio .was-validated label>input:valid~label,.shiny-input-radiogroup .radio .was-validated .checkbox label>input:valid~label,.shiny-input-radiogroup .checkbox .radio .was-validated label>input:valid~label,.shiny-input-radiogroup .radio .was-validated label>input:valid~label,.form-check-input.is-valid~.form-check-label,.shiny-input-checkboxgroup .checkbox label>input.is-valid~.form-check-label,.shiny-input-checkboxgroup .radio label>input.is-valid~.form-check-label,.shiny-input-radiogroup .checkbox label>input.is-valid~.form-check-label,.shiny-input-radiogroup .radio label>input.is-valid~.form-check-label,.shiny-input-checkboxgroup .checkbox .form-check-input.is-valid~label,.shiny-input-checkboxgroup .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .checkbox .radio label>input.is-valid~label,.shiny-input-checkboxgroup .radio .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input.is-valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input.is-valid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .radio .form-check-input.is-valid~label,.shiny-input-checkboxgroup .radio .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .checkbox .radio label>input.is-valid~label,.shiny-input-checkboxgroup .radio label>input.is-valid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input.is-valid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input.is-valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input.is-valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input.is-valid~label,.shiny-input-radiogroup .checkbox .form-check-input.is-valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input.is-valid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input.is-valid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input.is-valid~label,.shiny-input-radiogroup .checkbox label>input.is-valid~label,.shiny-input-radiogroup .checkbox .radio label>input.is-valid~label,.shiny-input-radiogroup .radio .checkbox label>input.is-valid~label,.shiny-input-radiogroup .radio .form-check-input.is-valid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input.is-valid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input.is-valid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input.is-valid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input.is-valid~label,.shiny-input-radiogroup .radio .checkbox label>input.is-valid~label,.shiny-input-radiogroup .checkbox .radio label>input.is-valid~label,.shiny-input-radiogroup .radio label>input.is-valid~label{color:#28a745}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~.valid-feedback,.shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~.valid-feedback,.was-validated .shiny-input-checkboxgroup .radio label>input:valid~.valid-feedback,.shiny-input-checkboxgroup .radio .was-validated label>input:valid~.valid-feedback,.was-validated .shiny-input-radiogroup .checkbox label>input:valid~.valid-feedback,.shiny-input-radiogroup .checkbox .was-validated label>input:valid~.valid-feedback,.was-validated .shiny-input-radiogroup .radio label>input:valid~.valid-feedback,.shiny-input-radiogroup .radio .was-validated label>input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.was-validated .shiny-input-checkboxgroup .checkbox label>input:valid~.valid-tooltip,.shiny-input-checkboxgroup .checkbox .was-validated label>input:valid~.valid-tooltip,.was-validated .shiny-input-checkboxgroup .radio label>input:valid~.valid-tooltip,.shiny-input-checkboxgroup .radio .was-validated label>input:valid~.valid-tooltip,.was-validated .shiny-input-radiogroup .checkbox label>input:valid~.valid-tooltip,.shiny-input-radiogroup .checkbox .was-validated label>input:valid~.valid-tooltip,.was-validated .shiny-input-radiogroup .radio label>input:valid~.valid-tooltip,.shiny-input-radiogroup .radio .was-validated label>input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.shiny-input-checkboxgroup .checkbox label>input.is-valid~.valid-feedback,.shiny-input-checkboxgroup .radio label>input.is-valid~.valid-feedback,.shiny-input-radiogroup .checkbox label>input.is-valid~.valid-feedback,.shiny-input-radiogroup .radio label>input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.shiny-input-checkboxgroup .checkbox label>input.is-valid~.valid-tooltip,.shiny-input-checkboxgroup .radio label>input.is-valid~.valid-tooltip,.shiny-input-radiogroup .checkbox label>input.is-valid~.valid-tooltip,.shiny-input-radiogroup .radio label>input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#28a745}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#28a745}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#28a745}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*="col-"]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid~.form-check-label,.was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~.form-check-label,.shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~.form-check-label,.was-validated .shiny-input-checkboxgroup .radio label>input:invalid~.form-check-label,.shiny-input-checkboxgroup .radio .was-validated label>input:invalid~.form-check-label,.was-validated .shiny-input-radiogroup .checkbox label>input:invalid~.form-check-label,.shiny-input-radiogroup .checkbox .was-validated label>input:invalid~.form-check-label,.was-validated .shiny-input-radiogroup .radio label>input:invalid~.form-check-label,.shiny-input-radiogroup .radio .was-validated label>input:invalid~.form-check-label,.was-validated .shiny-input-checkboxgroup .checkbox .form-check-input:invalid~label,.was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .checkbox .radio label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .radio .checkbox label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input:invalid~label,.shiny-input-radiogroup .was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input:invalid~label,.shiny-input-radiogroup .radio .was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .was-validated .form-check-input:invalid~label,.shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .was-validated .radio label>input:invalid~label,.shiny-input-checkboxgroup .radio .checkbox .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox .was-validated label>input:invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .was-validated .shiny-input-radiogroup .radio label>input:invalid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .radio .form-check-input:invalid~label,.was-validated .shiny-input-checkboxgroup .radio .checkbox label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .checkbox .radio label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .radio label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input:invalid~label,.shiny-input-radiogroup .checkbox .was-validated .shiny-input-checkboxgroup .radio label>input:invalid~label,.was-validated .shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input:invalid~label,.shiny-input-radiogroup .was-validated .shiny-input-checkboxgroup .radio label>input:invalid~label,.shiny-input-checkboxgroup .radio .was-validated .form-check-input:invalid~label,.shiny-input-checkboxgroup .radio .was-validated .checkbox label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .radio .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .radio .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .radio .was-validated .shiny-input-radiogroup .checkbox label>input:invalid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio .was-validated label>input:invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio .was-validated label>input:invalid~label,.was-validated .shiny-input-radiogroup .checkbox .form-check-input:invalid~label,.was-validated .shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.shiny-input-checkboxgroup .was-validated .shiny-input-radiogroup .checkbox label>input:invalid~label,.was-validated .shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input:invalid~label,.shiny-input-checkboxgroup .radio .was-validated .shiny-input-radiogroup .checkbox label>input:invalid~label,.was-validated .shiny-input-radiogroup .checkbox label>input:invalid~label,.was-validated .shiny-input-radiogroup .checkbox .radio label>input:invalid~label,.was-validated .shiny-input-radiogroup .radio .checkbox label>input:invalid~label,.shiny-input-radiogroup .checkbox .was-validated .form-check-input:invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox .was-validated label>input:invalid~label,.shiny-input-radiogroup .checkbox .was-validated .shiny-input-checkboxgroup .radio label>input:invalid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox .was-validated label>input:invalid~label,.shiny-input-radiogroup .checkbox .was-validated label>input:invalid~label,.shiny-input-radiogroup .checkbox .was-validated .radio label>input:invalid~label,.shiny-input-radiogroup .radio .checkbox .was-validated label>input:invalid~label,.was-validated .shiny-input-radiogroup .radio .form-check-input:invalid~label,.was-validated .shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .was-validated .shiny-input-radiogroup .radio label>input:invalid~label,.was-validated .shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input:invalid~label,.shiny-input-checkboxgroup .was-validated .shiny-input-radiogroup .radio label>input:invalid~label,.was-validated .shiny-input-radiogroup .radio .checkbox label>input:invalid~label,.was-validated .shiny-input-radiogroup .checkbox .radio label>input:invalid~label,.was-validated .shiny-input-radiogroup .radio label>input:invalid~label,.shiny-input-radiogroup .radio .was-validated .form-check-input:invalid~label,.shiny-input-radiogroup .radio .was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio .was-validated label>input:invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio .was-validated label>input:invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio .was-validated label>input:invalid~label,.shiny-input-radiogroup .radio .was-validated .checkbox label>input:invalid~label,.shiny-input-radiogroup .checkbox .radio .was-validated label>input:invalid~label,.shiny-input-radiogroup .radio .was-validated label>input:invalid~label,.form-check-input.is-invalid~.form-check-label,.shiny-input-checkboxgroup .checkbox label>input.is-invalid~.form-check-label,.shiny-input-checkboxgroup .radio label>input.is-invalid~.form-check-label,.shiny-input-radiogroup .checkbox label>input.is-invalid~.form-check-label,.shiny-input-radiogroup .radio label>input.is-invalid~.form-check-label,.shiny-input-checkboxgroup .checkbox .form-check-input.is-invalid~label,.shiny-input-checkboxgroup .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .checkbox .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .radio .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input.is-invalid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .radio .form-check-input.is-invalid~label,.shiny-input-checkboxgroup .radio .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .checkbox .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input.is-invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input.is-invalid~label,.shiny-input-radiogroup .checkbox .form-check-input.is-invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .checkbox .shiny-input-checkboxgroup .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .radio .shiny-input-radiogroup .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .checkbox .radio label>input.is-invalid~label,.shiny-input-radiogroup .radio .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .radio .form-check-input.is-invalid~label,.shiny-input-radiogroup .radio .shiny-input-checkboxgroup .checkbox label>input.is-invalid~label,.shiny-input-checkboxgroup .checkbox .shiny-input-radiogroup .radio label>input.is-invalid~label,.shiny-input-radiogroup .shiny-input-checkboxgroup .radio label>input.is-invalid~label,.shiny-input-checkboxgroup .shiny-input-radiogroup .radio label>input.is-invalid~label,.shiny-input-radiogroup .radio .checkbox label>input.is-invalid~label,.shiny-input-radiogroup .checkbox .radio label>input.is-invalid~label,.shiny-input-radiogroup .radio label>input.is-invalid~label{color:#dc3545}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~.invalid-feedback,.shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~.invalid-feedback,.was-validated .shiny-input-checkboxgroup .radio label>input:invalid~.invalid-feedback,.shiny-input-checkboxgroup .radio .was-validated label>input:invalid~.invalid-feedback,.was-validated .shiny-input-radiogroup .checkbox label>input:invalid~.invalid-feedback,.shiny-input-radiogroup .checkbox .was-validated label>input:invalid~.invalid-feedback,.was-validated .shiny-input-radiogroup .radio label>input:invalid~.invalid-feedback,.shiny-input-radiogroup .radio .was-validated label>input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.was-validated .shiny-input-checkboxgroup .checkbox label>input:invalid~.invalid-tooltip,.shiny-input-checkboxgroup .checkbox .was-validated label>input:invalid~.invalid-tooltip,.was-validated .shiny-input-checkboxgroup .radio label>input:invalid~.invalid-tooltip,.shiny-input-checkboxgroup .radio .was-validated label>input:invalid~.invalid-tooltip,.was-validated .shiny-input-radiogroup .checkbox label>input:invalid~.invalid-tooltip,.shiny-input-radiogroup .checkbox .was-validated label>input:invalid~.invalid-tooltip,.was-validated .shiny-input-radiogroup .radio label>input:invalid~.invalid-tooltip,.shiny-input-radiogroup .radio .was-validated label>input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.shiny-input-checkboxgroup .checkbox label>input.is-invalid~.invalid-feedback,.shiny-input-checkboxgroup .radio label>input.is-invalid~.invalid-feedback,.shiny-input-radiogroup .checkbox label>input.is-invalid~.invalid-feedback,.shiny-input-radiogroup .radio label>input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.shiny-input-checkboxgroup .checkbox label>input.is-invalid~.invalid-tooltip,.shiny-input-checkboxgroup .radio label>input.is-invalid~.invalid-tooltip,.shiny-input-radiogroup .checkbox label>input.is-invalid~.invalid-tooltip,.shiny-input-radiogroup .radio label>input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#dc3545}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#dc3545}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#dc3545}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.form-inline{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap;align-items:center;-webkit-align-items:center}.form-inline .form-check,.form-inline .shiny-input-checkboxgroup .checkbox,.shiny-input-checkboxgroup .form-inline .checkbox,.form-inline .shiny-input-checkboxgroup .radio,.shiny-input-checkboxgroup .form-inline .radio,.form-inline .shiny-input-radiogroup .checkbox,.shiny-input-radiogroup .form-inline .checkbox,.form-inline .shiny-input-radiogroup .radio,.shiny-input-radiogroup .form-inline .radio{width:100%}@media (min-width: 576px){.form-inline label{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;display:-webkit-flex;flex:0 0 auto;-webkit-flex:0 0 auto;flex-flow:row wrap;-webkit-flex-flow:row wrap;align-items:center;-webkit-align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check,.form-inline .shiny-input-checkboxgroup .checkbox,.shiny-input-checkboxgroup .form-inline .checkbox,.form-inline .shiny-input-checkboxgroup .radio,.shiny-input-checkboxgroup .form-inline .radio,.form-inline .shiny-input-radiogroup .checkbox,.shiny-input-radiogroup .form-inline .checkbox,.form-inline .shiny-input-radiogroup .radio,.shiny-input-radiogroup .form-inline .radio{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input,.form-inline .shiny-input-checkboxgroup .checkbox label>input,.shiny-input-checkboxgroup .checkbox .form-inline label>input,.form-inline .shiny-input-checkboxgroup .radio label>input,.shiny-input-checkboxgroup .radio .form-inline label>input,.form-inline .shiny-input-radiogroup .checkbox label>input,.shiny-input-radiogroup .checkbox .form-inline label>input,.form-inline .shiny-input-radiogroup .radio label>input,.shiny-input-radiogroup .radio .form-inline label>input{position:relative;flex-shrink:0;-webkit-flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-default{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-default:hover{color:#000;background-color:#c8cfd6;border-color:#c1c9d0}.btn-default:focus,.btn-default.focus{color:#000;background-color:#c8cfd6;border-color:#c1c9d0;box-shadow:0 0 0 .2rem rgba(189,192,196,0.5)}.btn-default.disabled,.btn-default:disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-default:not(:disabled):not(.disabled):active,.btn-default:not(:disabled):not(.disabled).active,.show>.btn-default.dropdown-toggle,.in>.btn-default.dropdown-toggle{color:#000;background-color:#c1c9d0;border-color:#bac2cb}.btn-default:not(:disabled):not(.disabled):active:focus,.btn-default:not(:disabled):not(.disabled).active:focus,.show>.btn-default.dropdown-toggle:focus,.in>.btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(189,192,196,0.5)}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle,.in>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus,.in>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle,.in>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus,.in>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle,.in>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus,.in>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle,.in>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus,.in>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{color:#000;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(217,164,6,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle,.in>.btn-warning.dropdown-toggle{color:#000;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus,.in>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(217,164,6,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle,.in>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus,.in>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#e2e6ea;border-color:#dae0e5}.btn-light:focus,.btn-light.focus{color:#000;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(211,212,213,0.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle,.in>.btn-light.dropdown-toggle{color:#000;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus,.in>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(211,212,213,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle,.in>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus,.in>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-outline-default{color:#dee2e6;border-color:#dee2e6;background-color:transparent}.btn-outline-default:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-outline-default:focus,.btn-outline-default.focus{box-shadow:0 0 0 .2rem rgba(222,226,230,0.5)}.btn-outline-default.disabled,.btn-outline-default:disabled{color:#dee2e6;background-color:transparent}.btn-outline-default:not(:disabled):not(.disabled):active,.btn-outline-default:not(:disabled):not(.disabled).active,.show>.btn-outline-default.dropdown-toggle,.in>.btn-outline-default.dropdown-toggle{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-outline-default:not(:disabled):not(.disabled):active:focus,.btn-outline-default:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-default.dropdown-toggle:focus,.in>.btn-outline-default.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,226,230,0.5)}.btn-outline-primary{color:#007bff;border-color:#007bff;background-color:transparent}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle,.in>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus,.in>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d;background-color:transparent}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle,.in>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus,.in>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745;background-color:transparent}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle,.in>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus,.in>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8;background-color:transparent}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle,.in>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus,.in>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107;background-color:transparent}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle,.in>.btn-outline-warning.dropdown-toggle{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus,.in>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545;background-color:transparent}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle,.in>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus,.in>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa;background-color:transparent}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle,.in>.btn-outline-light.dropdown-toggle{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus,.in>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40;background-color:transparent}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle,.in>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus,.in>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n + 3),.input-group.has-validation>.custom-select:nth-last-child(n + 3),.input-group.has-validation>.custom-file:nth-last-child(n + 3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex;display:-webkit-flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n + 3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n + 3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;color-adjust:exact;-webkit-print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#000;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50% / 50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,0.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,0.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{text-decoration:none}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:#fff;background-color:#007bff}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link,.navbar-nav .nav-tabs>li>a,.navbar-nav .nav-pills>li>a,ul.nav.navbar-nav>li>a{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover,.navbar-toggle:hover,.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50% / 100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container,.navbar-expand-sm>.container-fluid,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-fluid,.navbar-expand-sm>.container-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-sm,.navbar-expand-sm>.container-md,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-md,.navbar-expand-sm>.container-lg,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-lg,.navbar-expand-sm>.container-xl,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-flow:row nowrap;-webkit-flex-flow:row nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container,.navbar-expand-sm>.container-fluid,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-fluid,.navbar-expand-sm>.container-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-sm,.navbar-expand-sm>.container-md,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-md,.navbar-expand-sm>.container-lg,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-lg,.navbar-expand-sm>.container-xl,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl)>.container-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;-webkit-flex-flow:row nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;-webkit-flex-flow:row nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;-webkit-flex-flow:row nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}}.navbar-expand{flex-flow:row nowrap;-webkit-flex-flow:row nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-light .navbar-brand,.navbar.navbar-default .navbar-brand{color:#000}.navbar-light .navbar-brand:hover,.navbar.navbar-default .navbar-brand:hover,.navbar-light .navbar-brand:focus,.navbar.navbar-default .navbar-brand:focus{color:#000}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-nav .nav-tabs>li>a,.navbar-light .navbar-nav .nav-pills>li>a,.navbar.navbar-default .navbar-nav .nav-link,.navbar.navbar-default .navbar-nav .nav-tabs>li>a,.navbar.navbar-default .navbar-nav .nav-pills>li>a,.navbar-light ul.nav.navbar-nav>li>a,.navbar.navbar-default ul.nav.navbar-nav>li>a{color:rgba(0,0,0,0.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-tabs>li>a:hover,.navbar-light .navbar-nav .nav-pills>li>a:hover,.navbar.navbar-default .navbar-nav .nav-link:hover,.navbar.navbar-default .navbar-nav .nav-tabs>li>a:hover,.navbar.navbar-default .navbar-nav .nav-pills>li>a:hover,.navbar-light ul.nav.navbar-nav>li>a:hover,.navbar.navbar-default ul.nav.navbar-nav>li>a:hover,.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-tabs>li>a:focus,.navbar-light .navbar-nav .nav-pills>li>a:focus,.navbar.navbar-default .navbar-nav .nav-link:focus,.navbar.navbar-default .navbar-nav .nav-tabs>li>a:focus,.navbar.navbar-default .navbar-nav .nav-pills>li>a:focus,.navbar-light ul.nav.navbar-nav>li>a:focus,.navbar.navbar-default ul.nav.navbar-nav>li>a:focus{color:rgba(0,0,0,0.75)}.navbar-light .navbar-nav .nav-link.disabled,.navbar-light .navbar-nav .nav-tabs>li>a.disabled,.navbar-light .navbar-nav .nav-pills>li>a.disabled,.navbar.navbar-default .navbar-nav .nav-link.disabled,.navbar.navbar-default .navbar-nav .nav-tabs>li>a.disabled,.navbar.navbar-default .navbar-nav .nav-pills>li>a.disabled,.navbar-light ul.nav.navbar-nav>li>a.disabled,.navbar.navbar-default ul.nav.navbar-nav>li>a.disabled{color:rgba(0,0,0,0.25)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .in>.nav-link,.navbar-light .navbar-nav .nav-tabs>li.show>a,.navbar-light .navbar-nav .nav-tabs>li.in>a,.navbar-light .navbar-nav .nav-pills>li.show>a,.navbar-light .navbar-nav .nav-pills>li.in>a,.navbar.navbar-default .navbar-nav .show>.nav-link,.navbar.navbar-default .navbar-nav .in>.nav-link,.navbar.navbar-default .navbar-nav .nav-tabs>li.show>a,.navbar.navbar-default .navbar-nav .nav-tabs>li.in>a,.navbar.navbar-default .navbar-nav .nav-pills>li.show>a,.navbar.navbar-default .navbar-nav .nav-pills>li.in>a,.navbar-light ul.nav.navbar-nav>li.show>a,.navbar-light ul.nav.navbar-nav>li.in>a,.navbar.navbar-default ul.nav.navbar-nav>li.show>a,.navbar.navbar-default ul.nav.navbar-nav>li.in>a,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-tabs>li.active>a,.navbar-light .navbar-nav .nav-pills>li.active>a,.navbar.navbar-default .navbar-nav .active>.nav-link,.navbar.navbar-default .navbar-nav .nav-tabs>li.active>a,.navbar.navbar-default .navbar-nav .nav-pills>li.active>a,.navbar-light ul.nav.navbar-nav>li.active>a,.navbar.navbar-default ul.nav.navbar-nav>li.active>a,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.in,.navbar-light .navbar-nav .nav-tabs>li>a.show,.navbar-light .navbar-nav .nav-tabs>li>a.in,.navbar-light .navbar-nav .nav-pills>li>a.show,.navbar-light .navbar-nav .nav-pills>li>a.in,.navbar.navbar-default .navbar-nav .nav-link.show,.navbar.navbar-default .navbar-nav .nav-link.in,.navbar.navbar-default .navbar-nav .nav-tabs>li>a.show,.navbar.navbar-default .navbar-nav .nav-tabs>li>a.in,.navbar.navbar-default .navbar-nav .nav-pills>li>a.show,.navbar.navbar-default .navbar-nav .nav-pills>li>a.in,.navbar-light ul.nav.navbar-nav>li>a.show,.navbar-light ul.nav.navbar-nav>li>a.in,.navbar.navbar-default ul.nav.navbar-nav>li>a.show,.navbar.navbar-default ul.nav.navbar-nav>li>a.in,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-tabs>li>a.active,.navbar-light .navbar-nav .nav-pills>li>a.active,.navbar.navbar-default .navbar-nav .nav-link.active,.navbar.navbar-default .navbar-nav .nav-tabs>li>a.active,.navbar.navbar-default .navbar-nav .nav-pills>li>a.active,.navbar-light ul.nav.navbar-nav>li>a.active,.navbar.navbar-default ul.nav.navbar-nav>li>a.active{color:#000}.navbar-light .navbar-toggler,.navbar-light .navbar-toggle,.navbar.navbar-default .navbar-toggler,.navbar.navbar-default .navbar-toggle{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon,.navbar-light .navbar-toggle>.icon-bar:last-child,.navbar.navbar-default .navbar-toggler-icon,.navbar.navbar-default .navbar-toggle>.icon-bar:last-child{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text,.navbar.navbar-default .navbar-text{color:rgba(0,0,0,0.5)}.navbar-light .navbar-text a,.navbar.navbar-default .navbar-text a{color:#000}.navbar-light .navbar-text a:hover,.navbar.navbar-default .navbar-text a:hover,.navbar-light .navbar-text a:focus,.navbar.navbar-default .navbar-text a:focus{color:#000}.navbar-dark,.navbar.navbar-inverse{background-color:#343a40}.navbar-dark .navbar-brand,.navbar.navbar-inverse .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar.navbar-inverse .navbar-brand:hover,.navbar-dark .navbar-brand:focus,.navbar.navbar-inverse .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .nav-tabs>li>a,.navbar-dark .navbar-nav .nav-pills>li>a,.navbar.navbar-inverse .navbar-nav .nav-link,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a,.navbar-dark ul.nav.navbar-nav>li>a,.navbar.navbar-inverse ul.nav.navbar-nav>li>a{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-tabs>li>a:hover,.navbar-dark .navbar-nav .nav-pills>li>a:hover,.navbar.navbar-inverse .navbar-nav .nav-link:hover,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a:hover,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a:hover,.navbar-dark ul.nav.navbar-nav>li>a:hover,.navbar.navbar-inverse ul.nav.navbar-nav>li>a:hover,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-tabs>li>a:focus,.navbar-dark .navbar-nav .nav-pills>li>a:focus,.navbar.navbar-inverse .navbar-nav .nav-link:focus,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a:focus,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a:focus,.navbar-dark ul.nav.navbar-nav>li>a:focus,.navbar.navbar-inverse ul.nav.navbar-nav>li>a:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled,.navbar-dark .navbar-nav .nav-tabs>li>a.disabled,.navbar-dark .navbar-nav .nav-pills>li>a.disabled,.navbar.navbar-inverse .navbar-nav .nav-link.disabled,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a.disabled,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a.disabled,.navbar-dark ul.nav.navbar-nav>li>a.disabled,.navbar.navbar-inverse ul.nav.navbar-nav>li>a.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .in>.nav-link,.navbar-dark .navbar-nav .nav-tabs>li.show>a,.navbar-dark .navbar-nav .nav-tabs>li.in>a,.navbar-dark .navbar-nav .nav-pills>li.show>a,.navbar-dark .navbar-nav .nav-pills>li.in>a,.navbar.navbar-inverse .navbar-nav .show>.nav-link,.navbar.navbar-inverse .navbar-nav .in>.nav-link,.navbar.navbar-inverse .navbar-nav .nav-tabs>li.show>a,.navbar.navbar-inverse .navbar-nav .nav-tabs>li.in>a,.navbar.navbar-inverse .navbar-nav .nav-pills>li.show>a,.navbar.navbar-inverse .navbar-nav .nav-pills>li.in>a,.navbar-dark ul.nav.navbar-nav>li.show>a,.navbar-dark ul.nav.navbar-nav>li.in>a,.navbar.navbar-inverse ul.nav.navbar-nav>li.show>a,.navbar.navbar-inverse ul.nav.navbar-nav>li.in>a,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-tabs>li.active>a,.navbar-dark .navbar-nav .nav-pills>li.active>a,.navbar.navbar-inverse .navbar-nav .active>.nav-link,.navbar.navbar-inverse .navbar-nav .nav-tabs>li.active>a,.navbar.navbar-inverse .navbar-nav .nav-pills>li.active>a,.navbar-dark ul.nav.navbar-nav>li.active>a,.navbar.navbar-inverse ul.nav.navbar-nav>li.active>a,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.in,.navbar-dark .navbar-nav .nav-tabs>li>a.show,.navbar-dark .navbar-nav .nav-tabs>li>a.in,.navbar-dark .navbar-nav .nav-pills>li>a.show,.navbar-dark .navbar-nav .nav-pills>li>a.in,.navbar.navbar-inverse .navbar-nav .nav-link.show,.navbar.navbar-inverse .navbar-nav .nav-link.in,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a.show,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a.in,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a.show,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a.in,.navbar-dark ul.nav.navbar-nav>li>a.show,.navbar-dark ul.nav.navbar-nav>li>a.in,.navbar.navbar-inverse ul.nav.navbar-nav>li>a.show,.navbar.navbar-inverse ul.nav.navbar-nav>li>a.in,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-tabs>li>a.active,.navbar-dark .navbar-nav .nav-pills>li>a.active,.navbar.navbar-inverse .navbar-nav .nav-link.active,.navbar.navbar-inverse .navbar-nav .nav-tabs>li>a.active,.navbar.navbar-inverse .navbar-nav .nav-pills>li>a.active,.navbar-dark ul.nav.navbar-nav>li>a.active,.navbar.navbar-inverse ul.nav.navbar-nav>li>a.active{color:#fff}.navbar-dark .navbar-toggler,.navbar-dark .navbar-toggle,.navbar.navbar-inverse .navbar-toggler,.navbar.navbar-inverse .navbar-toggle{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon,.navbar-dark .navbar-toggle>.icon-bar:last-child,.navbar.navbar-inverse .navbar-toggler-icon,.navbar.navbar-inverse .navbar-toggle>.icon-bar:last-child{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text,.navbar.navbar-inverse .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a,.navbar.navbar-inverse .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar.navbar-inverse .navbar-text a:hover,.navbar-dark .navbar-text a:focus,.navbar.navbar-inverse .navbar-text a:focus{color:#fff}.card,.well{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;-webkit-flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card,.card-deck .well{margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card,.card-deck .well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card,.card-group>.well{margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card,.card-columns .well{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card,.card-columns .well{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card,.accordion>.well{overflow:hidden}.accordion>.card:not(:last-of-type),.accordion>.well:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type),.accordion>.well:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header,.accordion>.well>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;display:-webkit-flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{color:#000;background-color:#dee2e6}a.badge-default:hover,a.badge-default:focus{color:#000;background-color:#c1c9d0}a.badge-default:focus,a.badge-default.focus{outline:0;box-shadow:0 0 0 .2rem rgba(222,226,230,0.5)}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#0062cc}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#1e7e34}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.badge-warning{color:#000;background-color:#ffc107}a.badge-warning:hover,a.badge-warning:focus{color:#000;background-color:#d39e00}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#bd2130}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.badge-light{color:#000;background-color:#f8f9fa}a.badge-light:hover,a.badge-light:focus{color:#000;background-color:#dae0e5}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-default{color:#737678;background-color:#f8f9fa;border-color:#f6f7f8}.alert-default hr{border-top-color:#e8eaed}.alert-default .alert-link{color:#5a5c5e}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;display:-webkit-flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;display:-webkit-flex;align-items:flex-start;-webkit-align-items:flex-start}.media-body{flex:1;-webkit-flex:1}.list-group{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#737678;background-color:#f6f7f8}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#737678;background-color:#e8eaed}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#737678;border-color:#737678}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;-webkit-flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show,.toast.in{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;display:-webkit-flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0;-webkit-flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;height:-webkit-min-content;height:-moz-min-content;height:-ms-min-content;height:-o-min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:.5}.modal-header{display:flex;display:-webkit-flex;align-items:flex-start;-webkit-align-items:flex-start;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem}.modal-footer{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content;height:-webkit-min-content;height:-moz-min-content;height:-ms-min-content;height:-o-min-content}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^="right"]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^="left"]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^="top"]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^="top"]>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^="top"]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^="top"]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^="right"]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^="right"]>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^="right"]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^="right"]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^="bottom"]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^="bottom"]>.arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^="bottom"]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^="bottom"]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^="left"]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^="left"]>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^="left"]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^="left"]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50% / 100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-default{background-color:#dee2e6 !important;color:#000}a.bg-default:hover,a.bg-default:focus,button.bg-default:hover,button.bg-default:focus{background-color:#c1c9d0 !important}.bg-primary{background-color:#007bff !important;color:#fff}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#0062cc !important}.bg-secondary{background-color:#6c757d !important;color:#fff}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important;color:#fff}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important;color:#fff}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important;color:#000}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important;color:#fff}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important;color:#000}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important;color:#fff}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-white{background-color:#fff !important;color:#000}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-default{border-color:#dee2e6 !important}.border-primary{border-color:#007bff !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-default{color:#dee2e6 !important}a.text-default:hover,a.text-default:focus{color:#b2bcc5 !important}.text-primary{color:#007bff !important}a.text-primary:hover,a.text-primary:focus{color:#0056b3 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted,.help-text,.help-block{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #dee2e6 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1.25rem;border-radius:.25rem}.well-lg{padding:1.5rem;border-radius:.3rem}.well-sm{padding:0.5rem;border-radius:.2rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#007bff}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#343a40 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#007bff}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#007bff;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#28a745;color:#fff}.progress-bar-info{background-color:#17a2b8;color:#fff}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#343a40;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.shiny-input-checkboxgroup .checkbox-inline,.shiny-input-checkboxgroup .radio-inline,.shiny-input-radiogroup .checkbox-inline,.shiny-input-radiogroup .radio-inline{padding-left:0;margin-right:.75rem}.shiny-input-checkboxgroup .checkbox-inline label>input,.shiny-input-checkboxgroup .radio-inline label>input,.shiny-input-radiogroup .checkbox-inline label>input,.shiny-input-radiogroup .radio-inline label>input{margin-top:0;margin-right:.3125rem;margin-bottom:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}h1,h2,h3{margin-top:1.5rem}h4,h5,h6{margin-top:1rem}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/5/bootstrap.min.css b/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/5/bootstrap.min.css deleted file mode 100644 index de4ceeb..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/css-precompiled/5/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v5.2.2 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors - * Copyright 2011-2022 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-body-color-rgb: 33,37,41;--bs-body-bg-rgb: 255,255,255;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #0d6efd;--bs-link-hover-color: #0a58ca;--bs-code-color: #000;--bs-highlight-bg: #fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,.bslib-value-box .value-box-area>:first-child,h5,.h5,h4,.h4,h3,.h3,h2,.h2,.bslib-value-box .value-box-area>:nth-child(2),h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2,.bslib-value-box .value-box-area>:nth-child(2){font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2,.bslib-value-box .value-box-area>:nth-child(2){font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6,.bslib-value-box .value-box-area>:first-child{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f6f6f6;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.375rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49,132,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130,138,145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60,153,110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11,172,204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217,164,6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225,83,97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66,70,73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13,110,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108,117,125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25,135,84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13,202,240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255,193,7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220,53,69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33,37,41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 49,132,253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled,.nav-tabs .nav-link:disabled,.nav-tabs>li>a:disabled,.nav-tabs .nav-pills>li>a:disabled,.nav-tabs ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled,.nav-pills .nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,.nav-pills ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item ul.nav.navbar-nav>li>a,.nav-fill .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-fill .nav-pills>li ul.nav.navbar-nav>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item ul.nav.navbar-nav>li>a,.nav-justified .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-justified .nav-pills>li ul.nav.navbar-nav>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: rgba(0,0,0,0.7);--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: rgba(0,0,0,0.9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0,0,0,0.9);--bs-navbar-brand-hover-color: rgba(0,0,0,0.9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .in>.nav-link,.navbar-nav .nav-tabs>li.show>a,.navbar-nav .nav-tabs>li.in>a,.navbar-nav .nav-pills>li.show>a,.navbar-nav .nav-pills>li.in>a,ul.nav.navbar-nav>li.show>a,ul.nav.navbar-nav>li.in>a,.navbar-nav .active>.nav-link,.navbar-nav .nav-tabs>li.active>a,.navbar-nav .nav-pills>li.active>a,ul.nav.navbar-nav>li.active>a,.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,ul.nav.navbar-nav>li>a.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-sm .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-dark,.navbar.navbar-inverse{background-color:#212529;--bs-navbar-color: rgba(255,255,255,0.55);--bs-navbar-hover-color: rgba(255,255,255,0.75);--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs ul.nav.navbar-nav>li>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #595a5c;--bs-alert-bg: #f8f9fa;--bs-alert-border-color: #f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{--bs-alert-color: #084298;--bs-alert-bg: #cfe2ff;--bs-alert-border-color: #b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(222,226,230, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(13,110,253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108,117,125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25,135,84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13,202,240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255,193,7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220,53,69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33,37,41, var(--bs-bg-opacity, 1)) !important}.link-default{color:#dee2e6 !important}.link-default:hover,.link-default:focus{color:#e5e8eb !important}.link-primary{color:#0d6efd !important}.link-primary:hover,.link-primary:focus{color:#0a58ca !important}.link-secondary{color:#6c757d !important}.link-secondary:hover,.link-secondary:focus{color:#565e64 !important}.link-success{color:#198754 !important}.link-success:hover,.link-success:focus{color:#146c43 !important}.link-info{color:#0dcaf0 !important}.link-info:hover,.link-info:focus{color:#3dd5f3 !important}.link-warning{color:#ffc107 !important}.link-warning:hover,.link-warning:focus{color:#ffcd39 !important}.link-danger{color:#dc3545 !important}.link-danger:hover,.link-danger:focus{color:#b02a37 !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#212529 !important}.link-dark:hover,.link-dark:focus{color:#1a1e21 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start,.float-left{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--bs-text-opacity: 1;color:#6c757d !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,0.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,0.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1rem;border-radius:.375rem}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#0d6efd}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#212529 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#0d6efd}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#0d6efd;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#198754;color:#fff}.progress-bar-info{background-color:#0dcaf0;color:#000}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#212529;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}.section.level1,.section.level2,.section.level3,section.level1,section.level2,section.level3{margin-top:1.5rem}.section.level4,.section.level5,.section.level6,section.level4,section.level5,section.level6{margin-top:1rem}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen)>.bslib-full-screen-enter,.well:hover:not(.bslib-full-screen)>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>.bslib-full-screen-enter,.bslib-has-full-screen .well:hover>.bslib-full-screen-enter{display:none}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}.bslib-page-title{background-color:#212529;color:#fff;font-size:1.5rem;font-weight:300;padding:1rem;padding-left:1.5rem;margin-bottom:0}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}:root{--bslib-mb-spacer: 1rem}.bslib-mb-spacer{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacer,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.bslib-grid{display:grid !important;gap:1rem;height:var(--bslib-grid-height)}@media (max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}}.bslib-grid.grid{grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media (min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media (min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media (min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media (min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media (min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid-item{grid-column:auto/span 1}@media (max-width: 767.98px){.bslib-grid-item{grid-column:1 / -1}}@media (max-width: 575.98px){.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 500ms;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-bg: #f7f7f7;--bslib-sidebar-fg: #000;--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--bslib-sidebar-bg);color:var(--bslib-sidebar-fg)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:var(--bslib-sidebar-bg);color:var(--bslib-sidebar-fg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform cubic-bezier(0.68, -0.55, 0.27, 1.55) 500ms}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"],.bslib-sidebar-layout.sidebar-right[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon,.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transition-duration:165ms}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:1rem;gap:1rem}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area>:first-child{color:inherit}.bslib-value-box .value-box-area>:first-child::after{content:'\00a0 '}.bslib-value-box .value-box-area>:nth-child(2){color:inherit}.bslib-value-box .value-box-area>:nth-child(2)::after{content:'\00a0 '}.bslib-value-box .value-box-area.border-start{border-color:rgba(222,226,230,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/custom/person.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/custom/person.scss deleted file mode 100644 index a46c9e4..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/custom/person.scss +++ /dev/null @@ -1,29 +0,0 @@ -.person { - display: inline-block; - padding: $spacer; - border: $border-width solid $border-color; - @include border-radius; - @include box-shadow; - outline: 0; - width: 300px; - - // On mobile, span entire width - @include media-breakpoint-down(sm) { - display: block; - width: auto; - margin-right: $grid-gutter-width; - } - - margin: $grid-gutter-width; - margin-right: 0; - - .title { - font-weight: bold; - } - .title, .company { - color: $gray-600; - } -} -.person:last-of-type { - margin-right: $grid-gutter-width; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/app.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/app.R deleted file mode 100644 index 486e645..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/app.R +++ /dev/null @@ -1,151 +0,0 @@ -library(shiny) -library(bslib) -library(plotly) -library(leaflet) -library(gt) - -plot_hist <- function(var) { - config( - plot_ly(y = diamonds[[var]], type = "histogram"), - displayModeBar = FALSE - ) -} - -lorem_ipsum_dolor_sit_amet <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Id nibh tortor id aliquet lectus proin nibh nisl. Adipiscing at in tellus integer feugiat. Arcu bibendum at varius vel pharetra vel turpis nunc eget. Cursus sit amet dictum sit amet justo. Sit amet consectetur adipiscing elit. Vestibulum mattis ullamcorper velit sed ullamcorper. Enim facilisis gravida neque convallis a. Elit duis tristique sollicitudin nibh sit amet. Magna eget est lorem ipsum. Gravida dictum fusce ut placerat orci nulla pellentesque dignissim. Mauris in aliquam sem fringilla ut morbi. Id semper risus in hendrerit gravida rutrum quisque non tellus. At erat pellentesque adipiscing commodo elit at imperdiet dui. Fames ac turpis egestas maecenas pharetra convallis posuere morbi. Duis convallis convallis tellus id interdum velit laoreet id. Aliquet lectus proin nibh nisl. Nunc vel risus commodo viverra maecenas accumsan lacus vel facilisis. Bibendum enim facilisis gravida neque convallis a." - -main_grid <- layout_column_wrap( - width = 1/3, heights_equal = "row", - card( - id = "card-dt", - full_screen = TRUE, - card_header("DT::dataTableOutput()"), - DT::dataTableOutput("DT") - ), - navset_card_pill( - title = "Shiny outputs", - id = "card-navset-pill", - full_screen = TRUE, - nav_panel( - "plotOutput", - plotOutput("plot"), - card_body( - height = "100px", - lorem_ipsum_dolor_sit_amet - ) - ), - nav_panel("imageOutput", plotOutput("image")) - ), - card( - id = "card-leaflet", - full_screen = TRUE, - card_header("leaflet (via uiOutput())"), - uiOutput("leaflet", fill = TRUE) - ), - card( - id = "card-plotly", - full_screen = TRUE, - card_header("plotly::plotlyOutput()"), - layout_column_wrap( - width = 1/2, - plotlyOutput("cut"), - plotlyOutput("clarity") - ), - plotlyOutput("price") - ), - card( - id = "card-plotly-static", - full_screen = TRUE, - card_header("Static plotly"), - plot_hist("price"), - layout_column_wrap( - width = 1/2, - plot_hist("cut"), - plot_hist("clarity") - ) - ), - layout_column_wrap( - width = 1, - card( - id = "card-image", - full_screen = TRUE, - card_header("card_image()"), - card_image( - file = "www/shiny-hex.svg", - height = 200, - href = "https://github.com/rstudio/shiny" - ) - ), - card( - id = "card-gt", - full_screen = TRUE, - card_header("Scrollable gt()"), - card_body( - max_height = "400px", - max_height_full_screen = "100%", - gt::gt(mtcars) - ) - ) - ) -) - -grid_height <- "calc(100vh - 5px)" - -ui <- page_fluid( - theme = bs_theme( - "card-cap-bg" = "#212529", - "card-cap-color" = "white" - ), - layout_column_wrap( - width = NULL, heights_equal = "row", - height = grid_height, - style = css(grid_template_columns = "200px 1fr"), - id = "grid_page", - card( - card_header("Input controls", class = "bg-primary"), - checkboxInput( - "fixed_height", - "Fix height to viewport (this only applies to wide screens)", - value = TRUE - ) - ), - main_grid - ) -) - -server <- function(input, output, session) { - - theme_set(theme_minimal(base_size = 16)) - - observeEvent(input$fixed_height, ignoreInit = TRUE, { - css <- sprintf( - "#grid_page { height: %s !important; }", - if (input$fixed_height) grid_height else "auto" - ) - - insertUI(selector = "head", ui = tags$style(HTML(css))) - }) - - output$DT <- DT::renderDataTable({ - DT::datatable(mtcars, fillContainer = TRUE) - }) - - output$plot <- renderPlot({ - ggplot(mtcars) + geom_point(aes(wt, mpg)) - }) - - output$image <- renderImage({ - list(src = "www/shiny-hex.svg", width = "100%", height = "100%") - }, deleteFile = FALSE) - - output$cut <- renderPlotly(plot_hist("cut")) - output$clarity <- renderPlotly(plot_hist("clarity")) - output$price <- renderPlotly(plot_hist("price")) - - - output$leaflet <- renderUI({ - addTiles(leaflet()) - }) - output$gt <- render_gt(gt(mtcars[1:5, ])) -} - -shinyApp(ui, server) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/deploy.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/deploy.R deleted file mode 100644 index cbd3378..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/deploy.R +++ /dev/null @@ -1,4 +0,0 @@ -rsconnect::deployApp( - rprojroot::find_package_root_file("inst/examples/card"), - appName = "card", account = "testing-apps" -) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/www/shiny-hex.svg b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/www/shiny-hex.svg deleted file mode 100644 index 3c3c1ba..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/card/www/shiny-hex.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/app.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/app.R deleted file mode 100644 index 7802e1b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/app.R +++ /dev/null @@ -1,492 +0,0 @@ -library(shiny) -library(bslib) -library(dplyr) -library(lubridate) -library(plotly) -library(nycflights13) -library(histoslider) -library(rlang) - -# Data prep -flights <- flights %>% - left_join( - airports %>% - transmute(dest_name = paste0(name, " (", faa, ")"), dest = faa, end_lat = lat, end_lon = lon) - ) %>% - filter(!is.na(dest_name)) %>% - left_join( - airports %>% select(origin = faa, start_lat = lat, start_lon = lon) - ) %>% - left_join(airlines, by = "carrier") %>% - rename(carrier_name = name) %>% - left_join(weather) %>% - mutate( - # The overwhelming majority of precipation is 0 so transform - # with some help from MASS::boxcox() https://stats.stackexchange.com/a/1452/48604 - precip = scales::rescale(precip^-1.55/-.55), - date = lubridate::ymd(paste(year, month, day, sep = "-")) - ) - -PRIMARY <- "#0675DD" - -sidebar_acc <- accordion( - open = c("Origin", "Destination"), - accordion_panel( - "Origin", icon = icon("plane-departure"), - uiOutput("origin_reset"), - checkboxGroupInput( - "origin", NULL, - choices = sort(unique(flights$origin)), - inline = TRUE - ) - ), - accordion_panel( - "Destination", icon = icon("plane-arrival"), - selectInput( - "dest_name", NULL, - sort(unique(flights$dest_name)), - multiple = TRUE, - width = "100%" - ) - ), - accordion_panel( - "Carrier", icon = icon("user-tie"), - selectInput( - "carrier_name", NULL, - unique(flights$carrier_name), - multiple = TRUE, - width = "100%" - ) - ), - accordion_panel( - "Flight time", icon = icon("clock"), - input_histoslider( - "sched_dep_time", "Departure time", - flights$sched_dep_time, height = 125, - options = list( - handleLabelFormat = "0d", - selectedColor = PRIMARY - ) - ), - input_histoslider( - "sched_arr_time", "Arrival time", - flights$sched_arr_time, height = 125, - options = list( - handleLabelFormat = "0d", - selectedColor = PRIMARY - ) - ), - input_histoslider( - "date", "Date", - flights$date, height = 125, breaks = "months", - options = list( - handleLabelFormat = "%b %e", - selectedColor = PRIMARY - ) - ) - ), - accordion_panel( - "Weather", icon = icon("cloud-rain"), - input_histoslider( - "precip", "Precipitation", - flights$precip, height = 125, - options = list(selectedColor = PRIMARY) - ), - input_histoslider( - "wind_speed", "Wind speed", - flights$wind_speed, height = 125, - options = list(selectedColor = PRIMARY) - ), - input_histoslider( - "wind_gust", "Wind gust", - flights$wind_gust, height = 125, - options = list(selectedColor = PRIMARY) - ) - ) -) - - -flights_card <- card( - full_screen = TRUE, - card_header("Flight paths"), - plotlyOutput("flight_paths"), - card_footer("Marker areas are proportional to mean arrival delay") -) - -delay_corr_card <- card( - full_screen = TRUE, - card_header( - "Arrival vs departure delay", - checkboxInput("scatter_summarize", "Summarize", TRUE, width = "fit-content"), - class = "d-flex justify-content-between" - ), - plotlyOutput("scatter_delay") -) - -delay_card <- navset_card_pill( - title = "Arrival delay", - full_screen = TRUE, - nav_panel( - "Overall", - plotlyOutput("arr_delay") - ), - nav_panel( - "Over time", - plotlyOutput("arr_delay_series") - ) -) - - -ui <- page_navbar( - theme = bs_theme( - base_font = font_google( - "Open Sans", wght = c(300, 400, 500, 600, 700, 800), - ital = c(0, 1) - ), - "primary" = PRIMARY, - "navbar-bg" = PRIMARY - ), - title = tags$span( - tags$img(src = "logo.png", width = "46px", height = "auto", class = "me-3"), - "NYC Flights" - ), - fillable = TRUE, - sidebar = sidebar(sidebar_acc), - nav_panel( - "Delays", - uiOutput("value_boxes"), - layout_column_wrap( - width = "200px", class = "my-3", - flights_card, delay_corr_card - ), - delay_card - ), - nav_panel( - "Durations", - "Coming soon" - ), - nav_spacer(), - nav_item( - tags$a( - tags$span( - bsicons::bs_icon("code-slash"), "Source code" - ), - href = "https://github.com/rstudio/bslib/tree/main/inst/examples/flights", - target = "_blank" - ) - ) -) - -server <- function(input, output, session) { - # --------------------------------------------------------- - # Flights tab logic - # - # WARNING: this server-side filtering logic is VERY experimental - # at this point and won't be easily adapt to different use cases. - # If you feel tempted to use it, use with caution. - # --------------------------------------------------------- - - # Mapping from input id name to updating input function - input_discrete_vars <- list( - origin = function(...) updateCheckboxGroupInput(..., inline = TRUE), - dest_name = updateSelectInput, - carrier_name = updateSelectInput - ) - input_numeric_vars <- list( - sched_dep_time = update_histoslider, - sched_arr_time = update_histoslider, - date = update_histoslider - ) - input_vars <- c( - input_discrete_vars, - input_numeric_vars - ) - - filter_index <- function(d) { - idx <- rep(TRUE, nrow(d)) - for (var in names(d)) { - idx <- idx & filter_col(d, var) - } - idx & !is.na(idx) - } - - filter_col <- function(d, var) { - vals <- d[[var]] - input_val <- input[[var]] - if (is.null(input_val)) { - return(TRUE) - } - - if (is.character(vals) || is.factor(vals) || is.logical(vals)) { - return(d[[var]] %in% input_val) - } - - # N.B. between() will remove NAs, which we probably don't - # want to remove until the slider is considered 'active' - rng <- range(vals, na.rm = TRUE) - active <- isTRUE(rng[1] <= input_val[1] || input_val[2] <= rng[2]) - - if (!active) { - return(TRUE) - } - - dplyr::between(vals, input_val[1], input_val[2]) - } - - # When a particular input filter changes, we need to update every other filter - # with data - lapply(names(input_vars), function(var) { - - index <- reactive({ - filter_index(flights[, setdiff(names(input_vars), var)]) - }) - - observeEvent(index(), ignoreInit = TRUE, ignoreNULL = FALSE, { - - d <- flights[index(), ] - if (nrow(d) == 0) return() - input_val <- input[[var]] - update_input_func <- input_vars[[var]] - - if (var %in% names(input_discrete_vars)) { - choices <- sort(unique(d[[var]])) - update_input_func( - inputId = var, choices = choices, selected = input_val %||% character(0) - ) - } else { - update_input_func( - id = var, - values = d[[var]], - start = input_val[1], - end = input_val[2] - ) - } - - }) - }) - - output$origin_reset <- renderUI({ - actionLink( - "origin_reset", "Reset", - style = htmltools::css( - text_decoration = "none", - font_weight = 700, - font_size = ".875rem", - float = "right", - visibility = if (length(input$origin) > 0) "visible" else "hidden", - margin_top = "-7px" - ) - ) - }) - - observeEvent(input$origin_reset, { - updateCheckboxGroupInput( - inputId = "origin", - choices = sort(unique(flights$origin)), - selected = character(0) - ) - }) - - # Flights with all filters applied (i.e., data used for value boxes/plots) - flight_dat <- reactive({ - flights[filter_index(flights), ] - }) - - output$value_boxes <- renderUI({ - d <- flight_dat() - n_flights <- value_box( - "A TOTAL OF", - paste(nrow(d), "flights"), - paste( - "Across", length(unique(d$dest_name)), - "destinations" - ), - tags$p(paste( - "On", length(unique(d$carrier_name)), "different carriers" - )), - showcase = bsicons::bs_icon("airplane") - ) - - delay_dep <- value_box( - "AVERAGE DEPARTURE", - paste( - round(mean(d$dep_delay, na.rm = T), 0), - "mins late" - ), - paste0( - round(100 * sum(d$dep_delay > 0, na.rm = T) / nrow(d), 1), - "% of flights depart late" - ), - showcase = bsicons::bs_icon("hourglass-split") - ) - - delay_arr <- value_box( - "AVERAGE ARRIVAL", - paste( - round(mean(d$arr_delay, na.rm = T), 0), - "mins late" - ), - paste0( - round(100 * sum(d$arr_delay > 0, na.rm = TRUE) / nrow(d), 1), - "% of flights arrive late" - ), - showcase = bsicons::bs_icon("hourglass-bottom") - ) - - layout_column_wrap(width = 1/3, n_flights, delay_dep, delay_arr) - }) %>% - bindCache(flight_dat()) - - output$flight_paths <- renderPlotly({ - flight_dat() %>% - group_by(start_lon, start_lat, end_lon, end_lat, origin, dest) %>% - summarise(mean_delay = mean(arr_delay, na.rm = TRUE)) %>% - plot_geo(color = I("#0D6EFD"), showlegend = FALSE) %>% - add_segments( - x = ~start_lon, xend = ~end_lon, - y = ~start_lat, yend = ~end_lat, - alpha = 0.5, size = I(1), hoverinfo = "none" - ) %>% - add_markers( - x = ~end_lon, y = ~end_lat, size = ~mean_delay, - hoverinfo = "text", alpha = 0.1, - text = ~paste0( - origin, " -> ", dest, "
", - "Average delay: ", round(mean_delay, 1) - ) - ) %>% - config(displayModeBar = FALSE) %>% - layout( - geo = list( - projection = list( - type = 'orthographic', - rotation = list(lon = -100, lat = 40, roll = 0) - ), - showland = TRUE, - landcolor = toRGB("gray95"), - countrycolor = toRGB("gray80") - ) - ) - }) %>% - bindCache(flight_dat()) - - output$scatter_delay <- renderPlotly({ - d <- flight_dat() - req(nrow(d) > 0) - - if (isTRUE(input$scatter_summarize)) { - x <- d$dep_delay - y <- d$arr_delay - p <- plot_ly() %>% - add_histogram2dcontour( - x = x, y = y, hovertemplate = "Number of flights: %{z}" - ) %>% - layout( - xaxis = list( - title = "Departure delay", - range = c(-30, 100) - ), - yaxis = list( - title = "Arrival delay", - range = c(-50, 100) - ) - ) %>% - colorbar(title = "Number of flights", y = 0.5, yanchor = "middle") - - return(p) - } - - m <- loess(arr_delay~dep_delay, data = d) - rng <- range(d$dep_delay, na.rm = TRUE) - grid <- data.frame( - dep_delay = seq(rng[1], rng[2], length = 100) - ) - grid <- modelr::add_predictions(grid, m) - - plot_ly() %>% - add_markers( - data = d, - x = ~dep_delay, - y = ~arr_delay, - stroke = I(PRIMARY), - color = I("transparent"), - span = I(1), - text = ~paste0( - origin, " -> ", - substr(dest_name, nchar(dest_name) - 3, nchar(dest_name) - 1), "\n", - carrier_name, "\n", - "Arrival: ", arr_delay, "\n", - "Departure: ", dep_delay, "\n" - ), - hoverinfo = "text", - name = "Flights" - ) %>% - add_lines( - data = grid, - x = ~dep_delay, - y = ~pred, - text = ~paste0("Given a departure delay of ", round(dep_delay), "\n expect an arrival delay of ", round(pred)), - hoverinfo = "text", - name = "Predicted" - ) %>% - layout( - legend = list( - orientation = "h", - x = 0.1, xanchor = "left", - y = 0.95, yanchor = "top", - bgcolor = "transparent" - ), - xaxis = list(title = "Departure delay"), - yaxis = list(title = "Arrival delay") - ) %>% - toWebGL() - }) %>% - bindCache(flight_dat(), input$scatter_summarize) - - - output$arr_delay <- renderPlotly({ - x <- flight_dat()$arr_delay - req(length(x) > 0) - - x_mean <- mean(x, na.rm = TRUE) - end <- quantile(x, probs = 0.99, na.rm = TRUE) - plot_ly(x = x, hovertemplate = "%{y} flights were %{x} min late ", color = I(PRIMARY)) %>% - config(displayModeBar = FALSE) %>% - rangeslider(start = min(x, na.rm = TRUE), end = as.numeric(end)) %>% - # TODO: add annotations for each line? - layout( - shapes = list( - type = "line", - x0 = x_mean, x1 = x_mean, - y0 = 0, y1 = 1, - yref = "paper", - line = list(color = "orange", dash = "solid") - ) - ) - }) %>% - bindCache(flight_dat()) - - output$arr_delay_series <- renderPlotly({ - d <- flight_dat() - req(nrow(d) > 0) - - d %>% - group_by(date) %>% - summarise(arr_delay_mean = mean(arr_delay, na.rm = TRUE)) %>% - plot_ly( - x = ~date, y = ~arr_delay_mean, - hovertemplate = "%{y:.1f}", - color = I(PRIMARY) - ) %>% - add_lines() %>% - layout( - hovermode = "x", - xaxis = list(title = "", tickformat = "%b %e"), - yaxis = list(title = "Average delay") - ) - }) %>% - bindCache(flight_dat()) - -} - -shinyApp(ui, server) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/deploy.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/deploy.R deleted file mode 100644 index 14df21c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/deploy.R +++ /dev/null @@ -1,4 +0,0 @@ -rsconnect::deployApp( - rprojroot::find_package_root_file("inst/examples/flights"), - appName = "flights", account = "testing-apps" -) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/www/logo.png b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/www/logo.png deleted file mode 100644 index 6a9299a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/flights/www/logo.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/app.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/app.R deleted file mode 100644 index 5e19e14..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/app.R +++ /dev/null @@ -1,99 +0,0 @@ -library(shiny) -library(bslib) -library(bsicons) -library(plotly) - -ui <- page_fluid( - theme = bslib::bs_theme( - base_font = font_google("Atkinson Hyperlegible") - ), - br(), - layout_column_wrap( - width = "200px", - class = "mt-3", - value_box( - title = "Unemployment Rate", - value = "2.7%", - p("Started at 1.5%"), - p("Averaging 3%"), - p("Peaked at 5.2% in Dec 1982"), - showcase = plotlyOutput("unemploy"), - full_screen = TRUE - ), - value_box( - title = "Personal Savings Rate", - value = "7.6%", - p("Started at 12.6%"), - p("Averaging 8.6%"), - p("Peaked at 17.3% in May 1975"), - showcase = plotlyOutput("psavert"), - showcase_layout = showcase_top_right(), - full_screen = TRUE, - theme_color = "success" - ), - value_box( - title = "Personal Consumption", - value = "$3.8B", - p("Started at $0.25B"), - p("Averaging $1.7B"), - showcase = bsicons::bs_icon("piggy-bank", size = "100%"), - full_screen = TRUE, - theme_color = "danger" - ) - ) -) - -server <- function(input, output) { - - output$unemploy <- renderPlotly({ - plotly_time_series( - economics, x = ~date, y = ~100 * unemploy / pop - ) - }) - - output$psavert <- renderPlotly({ - plotly_time_series( - economics, x = ~date, y = ~psavert - ) - }) - - output$pce <- renderPlotly({ - plotly_time_series( - economics, x = ~date, y = ~ 100 * pce / pop - ) - }) - - plotly_time_series <- function(d, x, y) { - info <- getCurrentOutputInfo() - large <- isTRUE(info$height() > 200) - - plot_ly(d, x = x, y = y) %>% - add_lines( - color = I(info$fg()), - span = I(1), - #hoverinfo = if (!large) "none", - fill = 'tozeroy', - alpha = 0.2 - ) %>% - layout( - hovermode = "x", - margin = list(t = 0, r = 0, l = 0, b = 0), - font = list(color = info$fg()), - paper_bgcolor = "transparent", - plot_bgcolor = "transparent", - xaxis = list( - title = "", - visible = large, - showgrid = FALSE - ), - yaxis = list( - title = "", - visible = large, - showgrid = FALSE - ) - ) %>% - config(displayModeBar = FALSE) - } -} - -shinyApp(ui, server) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/deploy.R b/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/deploy.R deleted file mode 100644 index 27a322b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/examples/value_box/deploy.R +++ /dev/null @@ -1,4 +0,0 @@ -rsconnect::deployApp( - rprojroot::find_package_root_file("inst/examples/value_box"), - appName = "value_box", account = "testing-apps" -) diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff deleted file mode 100644 index 958d003..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff deleted file mode 100644 index c5bf2f0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1adeadb2fe618c5ed46221f15e12b9c8.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1adeadb2fe618c5ed46221f15e12b9c8.woff deleted file mode 100644 index 9cba412..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/1adeadb2fe618c5ed46221f15e12b9c8.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgo6ew.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgo6ew.woff deleted file mode 100644 index 15c55d1..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgo6ew.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgoKfw7w.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgoKfw7w.woff deleted file mode 100644 index 24cf9ae..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCs6KVjbNBYlgoKfw7w.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff deleted file mode 100644 index f74d291..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff deleted file mode 100644 index e58e9da..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff deleted file mode 100644 index fa9f3be..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff deleted file mode 100644 index cd65bfd..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff deleted file mode 100644 index cfcf43e..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff deleted file mode 100644 index 771d496..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff deleted file mode 100644 index ada806d..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff deleted file mode 100644 index 0cd0d7e..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff deleted file mode 100644 index b4673fa..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff deleted file mode 100644 index e239b66..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff deleted file mode 100644 index ad865fc..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff deleted file mode 100644 index 4ce587c..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff deleted file mode 100644 index ccf805b..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff deleted file mode 100644 index 79cc883..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff deleted file mode 100644 index c8a1b63..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff deleted file mode 100644 index d6024de..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff deleted file mode 100644 index 1851360..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff deleted file mode 100644 index 987c3a5..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff deleted file mode 100644 index d39bb52..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff deleted file mode 100644 index d1d76ae..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff deleted file mode 100644 index 36979ae..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff deleted file mode 100644 index 2eb5c4a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff deleted file mode 100644 index db0012d..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff deleted file mode 100644 index 82af717..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Me5g.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Me5g.woff deleted file mode 100644 index 4624800..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Me5g.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Mu4mxM.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Mu4mxM.woff deleted file mode 100644 index 9eaa94f..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/KFOmCnqEu92Fr1Mu4mxM.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff deleted file mode 100644 index fecd3af..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxsAXC-s.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxsAXC-s.woff deleted file mode 100644 index 85b353a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxsAXC-s.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxswWA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxswWA.woff deleted file mode 100644 index 4761cdd..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u8w4BMUTPHjxswWA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff deleted file mode 100644 index 11ed3b0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVeww.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVeww.woff deleted file mode 100644 index ac9382a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh6UVeww.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USSwiPHw.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USSwiPHw.woff deleted file mode 100644 index 773a0c7..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USSwiPHw.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USeww.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USeww.woff deleted file mode 100644 index bfbb935..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6u9w4BMUTPHh7USeww.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHjx4wWA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHjx4wWA.woff deleted file mode 100644 index 42f1997..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHjx4wWA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHvxo.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHvxo.woff deleted file mode 100644 index eac7dd1..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/S6uyw4BMUTPHvxo.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff deleted file mode 100644 index 7248f27..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff deleted file mode 100644 index ec2c08d..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff deleted file mode 100644 index db0f8d1..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff deleted file mode 100644 index 48b8f83..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff deleted file mode 100644 index e0cae25..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff deleted file mode 100644 index 1545c54..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/a98f7a7574819ba83bec6279a2cecd95.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/a98f7a7574819ba83bec6279a2cecd95.woff deleted file mode 100644 index 6194af7..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/a98f7a7574819ba83bec6279a2cecd95.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff deleted file mode 100644 index 6ae6d26..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff deleted file mode 100644 index ee334c0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff deleted file mode 100644 index c8273eb..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff deleted file mode 100644 index 907ec20..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff deleted file mode 100644 index 7d28b11..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff deleted file mode 100644 index ba51429..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff deleted file mode 100644 index fa873d6..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff deleted file mode 100644 index ac8a3a0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff deleted file mode 100644 index 7eeac3c..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff deleted file mode 100644 index 3d459a0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff deleted file mode 100644 index 36c1ee5..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff deleted file mode 100644 index beb8c7a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/q5uGsou0JOdh94bfvQlr.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/q5uGsou0JOdh94bfvQlr.woff deleted file mode 100644 index 1609f83..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/fonts/q5uGsou0JOdh94bfvQlr.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/AnIndex b/revdep/library.noindex/BayesianNetwork/new/bslib/help/AnIndex deleted file mode 100644 index 7814cc5..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/help/AnIndex +++ /dev/null @@ -1,123 +0,0 @@ -accordion accordion -accordion_panel accordion -accordion_panel_close accordion_panel_set -accordion_panel_insert accordion_panel_set -accordion_panel_open accordion_panel_set -accordion_panel_remove accordion_panel_set -accordion_panel_set accordion_panel_set -accordion_panel_update accordion_panel_set -as.card_item card_body -as_fillable_container as_fill_carrier -as_fill_carrier as_fill_carrier -as_fill_item as_fill_carrier -bootstrap deprecated -bootstrap_sass deprecated -bootswatch_themes bootswatch_themes -breakpoints breakpoints -bs_add_declarations deprecated -bs_add_functions bs_bundle -bs_add_mixins bs_bundle -bs_add_rules bs_bundle -bs_add_variables bs_bundle -bs_bundle bs_bundle -bs_current_theme bs_current_theme -bs_dependency bs_dependency -bs_dependency_defer bs_dependency -bs_get_contrast bs_get_variables -bs_get_variables bs_get_variables -bs_global_add_rules bs_global_theme -bs_global_add_variables bs_global_theme -bs_global_bundle bs_global_theme -bs_global_clear bs_global_theme -bs_global_get bs_global_theme -bs_global_set bs_global_theme -bs_global_theme bs_global_theme -bs_global_theme_update bs_global_theme -bs_remove bs_remove -bs_retrieve bs_remove -bs_theme bs_theme -bs_themer run_with_themer -bs_theme_accent_colors deprecated -bs_theme_add deprecated -bs_theme_add_variables deprecated -bs_theme_base_colors deprecated -bs_theme_clear deprecated -bs_theme_dependencies bs_theme_dependencies -bs_theme_fonts deprecated -bs_theme_get deprecated -bs_theme_get_variables deprecated -bs_theme_new deprecated -bs_theme_preview bs_theme_preview -bs_theme_set deprecated -bs_theme_update bs_theme -card card -card_body card_body -card_body_fill deprecated -card_footer card_body -card_header card_body -card_image card_body -card_title card_body -deprecated deprecated -font_collection font_face -font_face font_face -font_google font_face -font_link font_face -is.card_item card_body -is_bs_theme bs_theme -is_fillable_container as_fill_carrier -is_fill_carrier as_fill_carrier -is_fill_item as_fill_carrier -layout_columns layout_columns -layout_column_wrap layout_column_wrap -layout_sidebar sidebar -nav deprecated -nav-items nav-items -navset navset -navset_bar navset -navset_card_pill navset -navset_card_tab navset -navset_hidden navset -navset_pill navset -navset_pill_list navset -navset_tab navset -navs_bar deprecated -navs_hidden deprecated -navs_pill deprecated -navs_pill_card deprecated -navs_pill_list deprecated -navs_tab deprecated -navs_tab_card deprecated -nav_append nav_prepend -nav_content deprecated -nav_hide nav_select -nav_insert nav_select -nav_item nav-items -nav_menu nav-items -nav_panel nav-items -nav_panel_hidden nav-items -nav_prepend nav_prepend -nav_remove nav_select -nav_select nav_select -nav_show nav_select -nav_spacer nav-items -page page -page_fill deprecated -page_fillable page -page_fixed page -page_fluid page -page_navbar page -page_sidebar page_sidebar -precompiled_css_path precompiled_css_path -print.bslib_fragment html-browse -print.bslib_page html-browse -remove_all_fill as_fill_carrier -run_with_themer run_with_themer -showcase_left_center value_box -showcase_top_right value_box -sidebar sidebar -sidebar_toggle sidebar -theme_bootswatch theme_bootswatch -theme_version theme_version -value_box value_box -versions versions -version_default versions diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/aliases.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/help/aliases.rds deleted file mode 100644 index 7f43e00..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/aliases.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdb b/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdb deleted file mode 100644 index 95669ac..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdb and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdx b/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdx deleted file mode 100644 index 9140d73..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/bslib.rdx and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-card-pill.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-card-pill.png deleted file mode 100644 index d2b21f0..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-card-pill.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill-list.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill-list.png deleted file mode 100644 index 396fe95..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill-list.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill.png deleted file mode 100644 index c7a7586..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-pill.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-basic.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-basic.png deleted file mode 100644 index 76c258f..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-basic.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-card.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-card.png deleted file mode 100644 index 8b3c6d9..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab-card.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab.png deleted file mode 100644 index c698d9a..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/navset-tab.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/page-navbar.png b/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/page-navbar.png deleted file mode 100644 index a4963aa..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/figures/page-navbar.png and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/help/paths.rds b/revdep/library.noindex/BayesianNetwork/new/bslib/help/paths.rds deleted file mode 100644 index 9239991..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/help/paths.rds and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/html/00Index.html b/revdep/library.noindex/BayesianNetwork/new/bslib/html/00Index.html deleted file mode 100644 index 498e1c8..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/html/00Index.html +++ /dev/null @@ -1,211 +0,0 @@ - - -R: Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown' - - - -
-

Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown' - -

-
-
-[Up] -[Top] -

Documentation for package ‘bslib’ version 0.5.0

- - - -

Help Pages

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
accordionCreate a vertically collapsing accordion
accordion_panelCreate a vertically collapsing accordion
accordion_panel_closeDynamically update accordions
accordion_panel_insertDynamically update accordions
accordion_panel_openDynamically update accordions
accordion_panel_removeDynamically update accordions
accordion_panel_setDynamically update accordions
accordion_panel_updateDynamically update accordions
as.card_itemCard items
as_fillable_containerTest and/or coerce fill behavior
as_fill_carrierTest and/or coerce fill behavior
as_fill_itemTest and/or coerce fill behavior
bootswatch_themesObtain a list of all available bootswatch themes.
breakpointsDefine breakpoint values
bs_add_functionsAdd low-level theming customizations
bs_add_mixinsAdd low-level theming customizations
bs_add_rulesAdd low-level theming customizations
bs_add_variablesAdd low-level theming customizations
bs_bundleAdd low-level theming customizations
bs_current_themeObtain the currently active theme at render time
bs_dependencyThemeable HTML components
bs_dependency_deferThemeable HTML components
bs_get_contrastRetrieve Sass variable values from the current theme
bs_get_variablesRetrieve Sass variable values from the current theme
bs_global_add_rulesGlobal theming
bs_global_add_variablesGlobal theming
bs_global_bundleGlobal theming
bs_global_clearGlobal theming
bs_global_getGlobal theming
bs_global_setGlobal theming
bs_global_themeGlobal theming
bs_global_theme_updateGlobal theming
bs_removeRemove or retrieve Sass code from a theme
bs_retrieveRemove or retrieve Sass code from a theme
bs_themeCreate a Bootstrap theme
bs_themerTheme customization UI
bs_theme_dependenciesCompile Bootstrap Sass with (optional) theming
bs_theme_previewPreview the currently set theme
bs_theme_updateCreate a Bootstrap theme
cardA Bootstrap card component
card_bodyCard items
card_footerCard items
card_headerCard items
card_imageCard items
card_titleCard items
font_collectionHelpers for importing web fonts
font_faceHelpers for importing web fonts
font_googleHelpers for importing web fonts
font_linkHelpers for importing web fonts
is.card_itemCard items
is_bs_themeCreate a Bootstrap theme
is_fillable_containerTest and/or coerce fill behavior
is_fill_carrierTest and/or coerce fill behavior
is_fill_itemTest and/or coerce fill behavior
layout_columnsResponsive column-based grid layouts
layout_column_wrapA grid-like, column-first, layout
layout_sidebarSidebar layouts
nav-itemsNavigation items
navsetNavigation containers
navset_barNavigation containers
navset_card_pillNavigation containers
navset_card_tabNavigation containers
navset_hiddenNavigation containers
navset_pillNavigation containers
navset_pill_listNavigation containers
navset_tabNavigation containers
nav_hideDynamically update nav containers
nav_insertDynamically update nav containers
nav_itemNavigation items
nav_menuNavigation items
nav_panelNavigation items
nav_panel_hiddenNavigation items
nav_removeDynamically update nav containers
nav_selectDynamically update nav containers
nav_showDynamically update nav containers
nav_spacerNavigation items
pageCreate a Bootstrap page
page_fillableCreate a Bootstrap page
page_fixedCreate a Bootstrap page
page_fluidCreate a Bootstrap page
page_navbarCreate a Bootstrap page
page_sidebarA sidebar page (i.e., dashboard)
remove_all_fillTest and/or coerce fill behavior
run_with_themerTheme customization UI
showcase_left_centerValue box
showcase_top_rightValue box
sidebarSidebar layouts
sidebar_toggleSidebar layouts
theme_bootswatchObtain a theme's Bootswatch theme name
theme_versionObtain a theme's Bootstrap version
value_boxValue box
versionsAvailable Bootstrap versions
version_defaultAvailable Bootstrap versions
-
diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/html/R.css b/revdep/library.noindex/BayesianNetwork/new/bslib/html/R.css deleted file mode 100644 index 2ef6cd6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/html/R.css +++ /dev/null @@ -1,120 +0,0 @@ -@media screen { - .container { - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto; - max-width: 900px; - } -} - -.rimage img { /* from knitr - for examples and demos */ - width: 96%; - margin-left: 2%; -} - -.katex { font-size: 1.1em; } - -code { - color: inherit; - background: inherit; -} - -body { - line-height: 1.4; - background: white; - color: black; -} - -a:link { - background: white; - color: blue; -} - -a:visited { - background: white; - color: rgb(50%, 0%, 50%); -} - -h1 { - background: white; - color: rgb(55%, 55%, 55%); - font-family: monospace; - font-size: 1.4em; /* x-large; */ - text-align: center; -} - -h2 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-size: 1.2em; /* large; */ - text-align: center; -} - -h3 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-size: 1.2em; /* large; */ -} - -h4 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-style: italic; - font-size: 1.2em; /* large; */ -} - -h5 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; -} - -h6 { - background: white; - color: rgb(40%, 40%, 40%); - font-family: monospace; - font-style: italic; -} - -img.toplogo { - width: 4em; - vertical-align: middle; -} - -img.arrow { - width: 30px; - height: 30px; - border: 0; -} - -span.acronym { - font-size: small; -} - -span.env { - font-family: monospace; -} - -span.file { - font-family: monospace; -} - -span.option{ - font-family: monospace; -} - -span.pkg { - font-weight: bold; -} - -span.samp{ - font-family: monospace; -} - -div.vignettes a:hover { - background: rgb(85%, 85%, 85%); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/LICENSE.md b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/LICENSE.md deleted file mode 100644 index cdaf62e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/LICENSE.md +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2014, PayPal -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -* Neither the name of the PayPal nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/package.json b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/package.json deleted file mode 100644 index 0606a8b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "bootstrap-accessibility-plugin", - "version": "1.0.6", - "description": "A plugin that provides accessibility features for Bootstrap3 components", - "main": "Gruntfile.js", - "homepage": "https://github.com/paypal/bootstrap-accessibility-plugin", - "author": "PayPal Accessibility Team", - "scripts": { - "test": "grunt test" - }, - "repository": { - "type": "git", - "url": "https://github.com/paypal/bootstrap-accessibility-plugin.git" - }, - "licenses": [ - { - "type": "BSD", - "url": "https://github.com/paypal/bootstrap-accessibility-plugin/blob/master/LICENSE.md" - } - ], - "bugs": { - "url": "https://github.com/paypal/bootstrap-accessibility-plugin/issues" - }, - "keywords": ["bootstrap", "accessibility"], - "license": "BSD" -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/css/bootstrap-accessibility.css b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/css/bootstrap-accessibility.css deleted file mode 100644 index abf7151..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/css/bootstrap-accessibility.css +++ /dev/null @@ -1 +0,0 @@ -.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0px 0px 0px 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0px, rgba(0,0,0,0.5) 100%);box-shadow:0px 0px 0px 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:0.5em;left:0.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js deleted file mode 100644 index 2e24faa..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js +++ /dev/null @@ -1,723 +0,0 @@ -/* ======================================================================== -* Extends Bootstrap v3.1.1 - -* Copyright (c) <2015> PayPal - -* All rights reserved. - -* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of PayPal or any of its subsidiaries or affiliates nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* ======================================================================== */ - - - $(function() { - "use strict"; - - // GENERAL UTILITY FUNCTIONS - // =============================== - - var uniqueId = function(prefix) { - return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1) - } - - - var removeMultiValAttributes = function (el, attr, val) { - var describedby = (el.attr( attr ) || "").split( /\s+/ ) - , index = $.inArray(val, describedby) - if ( index !== -1 ) { - describedby.splice( index, 1 ) - } - describedby = $.trim( describedby.join( " " ) ) - if (describedby ) { - el.attr( attr, describedby ) - } else { - el.removeAttr( attr ) - } - } - -// selectors Courtesy: https://github.com/jquery/jquery-ui/blob/master/ui/focusable.js and tabbable.js -/* -Copyright jQuery Foundation and other contributors, https://jquery.org/ - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/jquery/jquery-ui - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code contained within the demos directory. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== -*/ - - var focusable = function ( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; - return !!img && visible( img ); - } - return ( /input|select|textarea|button|object/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible - } - var visible = function ( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; - } - - $.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } - }); - - // Modal Extension - // =============================== - - $('.modal-dialog').attr( {'role' : 'document'}) - var modalhide = $.fn.modal.Constructor.prototype.hide - $.fn.modal.Constructor.prototype.hide = function(){ - modalhide.apply(this, arguments) - $(document).off('keydown.bs.modal') - } - - var modalfocus = $.fn.modal.Constructor.prototype.enforceFocus - $.fn.modal.Constructor.prototype.enforceFocus = function(){ - var $content = this.$element.find(".modal-content") - var focEls = $content.find(":tabbable") - , $lastEl = $(focEls[focEls.length-1]) - , $firstEl = $(focEls[0]) - $lastEl.on('keydown.bs.modal', $.proxy(function (ev) { - if(ev.keyCode === 9 && !(ev.shiftKey | ev.ctrlKey | ev.metaKey | ev.altKey)) { // TAB pressed - ev.preventDefault(); - $firstEl.focus(); - } - }, this)) - $firstEl.on('keydown.bs.modal', $.proxy(function (ev) { - if(ev.keyCode === 9 && ev.shiftKey) { // SHIFT-TAB pressed - ev.preventDefault(); - $lastEl.focus(); - } - }, this)) - modalfocus.apply(this, arguments) - } - - // DROPDOWN Extension - // =============================== - - var toggle = '[data-toggle=dropdown]' - , $par - , firstItem - , focusDelay = 200 - , menus = $(toggle).parent().find('ul').attr('role','menu') - , lis = menus.find('li').attr('role','presentation') - - // add menuitem role and tabIndex to dropdown links - lis.find('a').attr({'role':'menuitem', 'tabIndex':'-1'}) - // add aria attributes to dropdown toggle - $(toggle).attr({ 'aria-haspopup':'true', 'aria-expanded': 'false'}) - - $(toggle).parent() - // Update aria-expanded when open - .on('shown.bs.dropdown',function(e){ - $par = $(this) - var $toggle = $par.find(toggle) - $toggle.attr('aria-expanded','true') - $toggle.on('keydown.bs.dropdown', $.proxy(function (ev) { - setTimeout(function() { - firstItem = $('.dropdown-menu [role=menuitem]:visible', $par)[0] - try{ firstItem.focus()} catch(ex) {} - }, focusDelay) - }, this)) - - }) - // Update aria-expanded when closed - .on('hidden.bs.dropdown',function(e){ - $par = $(this) - var $toggle = $par.find(toggle) - $toggle.attr('aria-expanded','false') - }) - - // Close the dropdown if tabbed away from - $(document) - .on('focusout.dropdown.data-api', '.dropdown-menu', function(e){ - var $this = $(this) - , that = this; - // since we're trying to close when appropriate, - // make sure the dropdown is open - if (!$this.parent().hasClass('open')) { - return; - } - setTimeout(function() { - if(!$.contains(that, document.activeElement)){ - $this.parent().find('[data-toggle=dropdown]').dropdown('hide') - } - }, 150) - }) - .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , $.fn.dropdown.Constructor.prototype.keydown); - - // Tab Extension - // =============================== - - var $tablist = $('.nav-tabs, .nav-pills') - , $lis = $tablist.children('li') - , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]') - - if($tabs){ - $tablist.attr('role', 'tablist') - $lis.attr('role', 'presentation') - $tabs.attr('role', 'tab') - } - - $tabs.each(function( index ) { - var tabpanel = $($(this).attr('href')) - , tab = $(this) - , tabid = tab.attr('id') || uniqueId('ui-tab') - - tab.attr('id', tabid) - - if(tab.parent().hasClass('active')){ - tab.attr( { 'tabIndex' : '0', 'aria-selected' : 'true', 'aria-controls': tab.attr('href').substr(1) } ) - tabpanel.attr({ 'role' : 'tabpanel', 'tabIndex' : '0', 'aria-hidden' : 'false', 'aria-labelledby':tabid }) - }else{ - tab.attr( { 'tabIndex' : '-1', 'aria-selected' : 'false', 'aria-controls': tab.attr('href').substr(1) } ) - tabpanel.attr( { 'role' : 'tabpanel', 'tabIndex' : '-1', 'aria-hidden' : 'true', 'aria-labelledby':tabid } ) - } - }) - - $.fn.tab.Constructor.prototype.keydown = function (e) { - var $this = $(this) - , $items - , $ul = $this.closest('ul[role=tablist] ') - , index - , k = e.which || e.keyCode - - $this = $(this) - if (!/(37|38|39|40)/.test(k)) return - - $items = $ul.find('[role=tab]:visible') - index = $items.index($items.filter(':focus')) - - if (k == 38 || k == 37) index-- // up & left - if (k == 39 || k == 40) index++ // down & right - - - if(index < 0) index = $items.length -1 - if(index == $items.length) index = 0 - - var nextTab = $items.eq(index) - if(nextTab.attr('role') ==='tab'){ - - nextTab.tab('show') //Comment this line for dynamically loaded tabPabels, to save Ajax requests on arrow key navigation - .focus() - } - // nextTab.focus() - - e.preventDefault() - e.stopPropagation() - } - - $(document).on('keydown.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]' , $.fn.tab.Constructor.prototype.keydown) - - var tabactivate = $.fn.tab.Constructor.prototype.activate; - $.fn.tab.Constructor.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - $active.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '-1','aria-selected' : false }) - $active.filter('.tab-pane').attr({ 'aria-hidden' : true,'tabIndex' : '-1' }) - - tabactivate.apply(this, arguments) - - element.addClass('active') - element.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '0','aria-selected' : true }) - element.filter('.tab-pane').attr({ 'aria-hidden' : false,'tabIndex' : '0' }) - } - - // Collapse Extension - // =============================== - - var $colltabs = $('[data-toggle="collapse"]') - $colltabs.each(function( index ) { - var colltab = $(this) - , collpanel = (colltab.attr('data-target')) ? $(colltab.attr('data-target')) : $(colltab.attr('href')) - , parent = colltab.attr('data-parent') - , collparent = parent && $(parent) - , collid = colltab.attr('id') || uniqueId('ui-collapse') - , parentpanel = collpanel.parent() // panel containing title and panel body - , parentfirstchild = (collparent) ? collparent.find('.panel.panel-default:first-child') : null // first child of containing accordion - , hasopenpanel = (collparent) ? collparent.find('.panel-collapse.in').length > 0 : false // true, if collapse parent has any panels with class 'in'; otherwise, false - - colltab.attr('id', collid) - - if(collparent){ - colltab.attr({ 'aria-controls': collpanel.attr('id'), 'role':'tab', 'aria-selected':'false', 'aria-expanded':'false' }) - $(collparent).find('div:not(.collapse,.panel-body), h4').attr('role','presentation') - collparent.attr({ 'role' : 'tablist', 'aria-multiselectable' : 'true' }) - collpanel.attr({ 'role':'tabpanel', 'aria-labelledby':collid }) - - if(!hasopenpanel && parentpanel.is(parentfirstchild)) { - colltab.attr({ 'tabindex':'0' }) - collpanel.attr({ 'tabindex':'-1' }) - }else if(collpanel.hasClass('in')){ - colltab.attr({ 'aria-selected':'true', 'aria-expanded':'true', 'tabindex':'0' }) - collpanel.attr({ 'tabindex':'0', 'aria-hidden':'false' }) - }else{ - colltab.attr({ 'tabindex':'-1' }) - collpanel.attr({ 'tabindex':'-1', 'aria-hidden':'true' }) - } - } - }) - - var collToggle = $.fn.collapse.Constructor.prototype.toggle - $.fn.collapse.Constructor.prototype.toggle = function(){ - var prevTab = this.$parent && this.$parent.find('[aria-expanded="true"]') , href - - if(prevTab){ - var prevPanel = prevTab.attr('data-target') || (href = prevTab.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') - , $prevPanel = $(prevPanel) - , $curPanel = this.$element - , par = this.$parent - , curTab - - if (this.$parent) curTab = this.$parent.find('[data-toggle=collapse][href="#' + this.$element.attr('id') + '"]') - - collToggle.apply(this, arguments) - - if ($.support.transition) { - this.$element.one($.support.transition.end, function(){ - - prevTab.attr({ 'aria-selected':'false','aria-expanded':'false', 'tabIndex':'-1' }) - $prevPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1'}) - - curTab.attr({ 'aria-selected':'true','aria-expanded':'true', 'tabIndex':'0' }) - - if($curPanel.hasClass('in')){ - $curPanel.attr({ 'aria-hidden' : 'false','tabIndex' : '0' }) - }else{ - curTab.attr({ 'aria-selected':'false','aria-expanded':'false'}) - $curPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1' }) - } - }) - } - }else{ - collToggle.apply(this, arguments) - } - } - - $.fn.collapse.Constructor.prototype.keydown = function (e) { - var $this = $(this) - , $items - , $tablist = $this.closest('div[role=tablist] ') - , index - , k = e.which || e.keyCode - - $this = $(this) - if (!/(32|37|38|39|40)/.test(k)) return - if(k==32) $this.click() - - $items = $tablist.find('[role=tab]') - index = $items.index($items.filter(':focus')) - - if (k == 38 || k == 37) index-- // up & left - if (k == 39 || k == 40) index++ // down & right - if(index < 0) index = $items.length -1 - if(index == $items.length) index = 0 - - $items.eq(index).focus() - - e.preventDefault() - e.stopPropagation() - - } - - $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' , $.fn.collapse.Constructor.prototype.keydown); - - -// Carousel Extension - // =============================== - - $('.carousel').each(function (index) { - - // This function positions a highlight box around the tabs in the tablist to use in focus styling - - function setTablistHighlightBox() { - - var $tab - , offset - , height - , width - , highlightBox = {} - - highlightBox.top = 0 - highlightBox.left = 32000 - highlightBox.height = 0 - highlightBox.width = 0 - - for (var i = 0; i < $tabs.length; i++) { - $tab = $tabs[i] - offset = $($tab).offset() - height = $($tab).height() - width = $($tab).width() - -// console.log(" Top: " + offset.top + " Left: " + offset.left + " Height: " + height + " Width: " + width) - - if (highlightBox.top < offset.top) { - highlightBox.top = Math.round(offset.top) - } - - if (highlightBox.height < height) { - highlightBox.height = Math.round(height) - } - - if (highlightBox.left > offset.left) { - highlightBox.left = Math.round(offset.left) - } - - var w = (offset.left - highlightBox.left) + Math.round(width) - - if (highlightBox.width < w) { - highlightBox.width = w - } - - } // end for - -// console.log("[HIGHLIGHT] Top: " + highlightBox.top + " Left: " + highlightBox.left + " Height: " + highlightBox.height + " Width: " + highlightBox.width) - - $tablistHighlight.style.top = (highlightBox.top - 2) + 'px' - $tablistHighlight.style.left = (highlightBox.left - 2) + 'px' - $tablistHighlight.style.height = (highlightBox.height + 7) + 'px' - $tablistHighlight.style.width = (highlightBox.width + 8) + 'px' - - } // end function - - var $this = $(this) - , $prev = $this.find('[data-slide="prev"]') - , $next = $this.find('[data-slide="next"]') - , $tablist = $this.find('.carousel-indicators') - , $tabs = $this.find('.carousel-indicators li') - , $tabpanels = $this.find('.item') - , $tabpanel - , $tablistHighlight - , $pauseCarousel - , $complementaryLandmark - , $tab - , $is_paused = false - , offset - , height - , width - , i - , id_title = 'id_title' - , id_desc = 'id_desc' - - - $tablist.attr('role', 'tablist') - - $tabs.focus(function() { - $this.carousel('pause') - $is_paused = true - $pauseCarousel.innerHTML = "Play Carousel" - $(this).parent().addClass('active'); -// $(this).addClass('focus') - setTablistHighlightBox() - $($tablistHighlight).addClass('focus') - $(this).parents('.carousel').addClass('contrast') - }) - - $tabs.blur(function(event) { - $(this).parent().removeClass('active'); -// $(this).removeClass('focus') - $($tablistHighlight).removeClass('focus') - $(this).parents('.carousel').removeClass('contrast') - }) - - - for (i = 0; i < $tabpanels.length; i++) { - $tabpanel = $tabpanels[i] - $tabpanel.setAttribute('role', 'tabpanel') - $tabpanel.setAttribute('id', 'tabpanel-' + index + '-' + i) - $tabpanel.setAttribute('aria-labelledby', 'tab-' + index + '-' + i) - } - - if (typeof $this.attr('role') !== 'string') { - $this.attr('role', 'complementary'); - $this.attr('aria-labelledby', id_title); - $this.attr('aria-describedby', id_desc); - $this.prepend('

A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images. Use the tabs or the previous and next buttons to change the displayed slide.

') - $this.prepend('

Carousel content with ' + $tabpanels.length + ' slides.

') - } - - - for (i = 0; i < $tabs.length; i++) { - $tab = $tabs[i] - - $tab.setAttribute('role', 'tab') - $tab.setAttribute('id', 'tab-' + index + '-' + i) - $tab.setAttribute('aria-controls', 'tabpanel-' + index + '-' + i) - - var tpId = '#tabpanel-' + index + '-' + i - var caption = $this.find(tpId).find('h1').text() - - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h3').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h4').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h5').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h6').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = "no title"; - -// console.log("CAPTION: " + caption ) - - var tabName = document.createElement('span') - tabName.setAttribute('class', 'sr-only') - tabName.innerHTML='Slide ' + (i+1) - if (caption) tabName.innerHTML += ": " + caption - $tab.appendChild(tabName) - - } - - // create div for focus styling of tablist - $tablistHighlight = document.createElement('div') - $tablistHighlight.className = 'carousel-tablist-highlight' - document.body.appendChild($tablistHighlight) - - // create button for screen reader users to stop rotation of carousel - - // create button for screen reader users to pause carousel for virtual mode review - $complementaryLandmark = document.createElement('aside') - $complementaryLandmark.setAttribute('class', 'carousel-aside-pause') - $complementaryLandmark.setAttribute('aria-label', 'carousel pause/play control') - $this.prepend($complementaryLandmark) - - $pauseCarousel = document.createElement('button') - $pauseCarousel.className = "carousel-pause-button" - $pauseCarousel.innerHTML = "Pause Carousel" - $pauseCarousel.setAttribute('title', "Pause/Play carousel button can be used by screen reader users to stop carousel animations") - $($complementaryLandmark).append($pauseCarousel) - - $($pauseCarousel).click(function() { - if ($is_paused) { - $pauseCarousel.innerHTML = "Pause Carousel" - $this.carousel('cycle') - $is_paused = false - } - else { - $pauseCarousel.innerHTML = "Play Carousel" - $this.carousel('pause') - $is_paused = true - } - }) - $($pauseCarousel).focus(function() { - $(this).addClass('focus') - }) - - $($pauseCarousel).blur(function() { - $(this).removeClass('focus') - }) - - setTablistHighlightBox() - - $( window ).resize(function() { - setTablistHighlightBox() - }) - - // Add space bar behavior to prev and next buttons for SR compatibility - $prev.attr('aria-label', 'Previous Slide') - $prev.keydown(function(e) { - var k = e.which || e.keyCode - if (/(13|32)/.test(k)) { - e.preventDefault() - e.stopPropagation() - $prev.trigger('click'); - } - }); - - $prev.focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $prev.blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $next.attr('aria-label', 'Next Slide') - $next.keydown(function(e) { - var k = e.which || e.keyCode - if (/(13|32)/.test(k)) { - e.preventDefault() - e.stopPropagation() - $next.trigger('click'); - } - }); - - $next.focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $next.blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $('.carousel-inner a').focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $('.carousel-inner a').blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $tabs.each(function () { - var item = $(this) - if(item.hasClass('active')) { - item.attr({ 'aria-selected': 'true', 'tabindex' : '0' }) - }else{ - item.attr({ 'aria-selected': 'false', 'tabindex' : '-1' }) - } - }) - }) - - var slideCarousel = $.fn.carousel.Constructor.prototype.slide - $.fn.carousel.Constructor.prototype.slide = function (type, next) { - var $element = this.$element - , $active = $element.find('[role=tabpanel].active') - , $next = next || $active[type]() - , $tab - , $tab_count = $element.find('[role=tabpanel]').length - , $prev_side = $element.find('[data-slide="prev"]') - , $next_side = $element.find('[data-slide="next"]') - , $index = 0 - , $prev_index = $tab_count -1 - , $next_index = 1 - , $id - - if ($next && $next.attr('id')) { - $id = $next.attr('id') - $index = $id.lastIndexOf("-") - if ($index >= 0) $index = parseInt($id.substring($index+1), 10) - - $prev_index = $index - 1 - if ($prev_index < 1) $prev_index = $tab_count - 1 - - $next_index = $index + 1 - if ($next_index >= $tab_count) $next_index = 0 - } - - $prev_side.attr('aria-label', 'Show slide ' + ($prev_index+1) + ' of ' + $tab_count) - $next_side.attr('aria-label', 'Show slide ' + ($next_index+1) + ' of ' + $tab_count) - - - slideCarousel.apply(this, arguments) - - $active - .one('bsTransitionEnd', function () { - var $tab - - $tab = $element.find('li[aria-controls="' + $active.attr('id') + '"]') - if ($tab) $tab.attr({'aria-selected':false, 'tabIndex': '-1'}) - - $tab = $element.find('li[aria-controls="' + $next.attr('id') + '"]') - if ($tab) $tab.attr({'aria-selected': true, 'tabIndex': '0'}) - - }) - } - - var $this; - $.fn.carousel.Constructor.prototype.keydown = function (e) { - - $this = $this || $(this) - if(this instanceof Node) $this = $(this) - - function selectTab(index) { - if (index >= $tabs.length) return - if (index < 0) return - - $carousel.carousel(index) - setTimeout(function () { - $tabs[index].focus() - // $this.prev().focus() - }, 150) - } - - var $carousel = $(e.target).closest('.carousel') - , $tabs = $carousel.find('[role=tab]') - , k = e.which || e.keyCode - , index - - if (!/(37|38|39|40)/.test(k)) return - - index = $tabs.index($tabs.filter('.active')) - if (k == 37 || k == 38) { // Up - index-- - selectTab(index); - } - - if (k == 39 || k == 40) { // Down - index++ - selectTab(index); - } - - e.preventDefault() - e.stopPropagation() - } - $(document).on('keydown.carousel.data-api', 'li[role=tab]', $.fn.carousel.Constructor.prototype.keydown); - - - }); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js deleted file mode 100644 index 707aab3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js +++ /dev/null @@ -1,3 +0,0 @@ -parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c=0)&&e(t,!r)}}),$(".modal-dialog").attr({role:"document"});var r=$.fn.modal.Constructor.prototype.hide;$.fn.modal.Constructor.prototype.hide=function(){r.apply(this,arguments),$(document).off("keydown.bs.modal")};var n=$.fn.modal.Constructor.prototype.enforceFocus;$.fn.modal.Constructor.prototype.enforceFocus=function(){var t=this.$element.find(".modal-content").find(":tabbable"),e=$(t[t.length-1]),a=$(t[0]);e.on("keydown.bs.modal",$.proxy(function(t){9!==t.keyCode||t.shiftKey|t.ctrlKey|t.metaKey|t.altKey||(t.preventDefault(),a.focus())},this)),a.on("keydown.bs.modal",$.proxy(function(t){9===t.keyCode&&t.shiftKey&&(t.preventDefault(),e.focus())},this)),n.apply(this,arguments)};var o,i,s="[data-toggle=dropdown]";$(s).parent().find("ul").attr("role","menu").find("li").attr("role","presentation").find("a").attr({role:"menuitem",tabIndex:"-1"}),$(s).attr({"aria-haspopup":"true","aria-expanded":"false"}),$(s).parent().on("shown.bs.dropdown",function(t){var e=(o=$(this)).find(s);e.attr("aria-expanded","true"),e.on("keydown.bs.dropdown",$.proxy(function(t){setTimeout(function(){i=$(".dropdown-menu [role=menuitem]:visible",o)[0];try{i.focus()}catch(t){}},200)},this))}).on("hidden.bs.dropdown",function(t){(o=$(this)).find(s).attr("aria-expanded","false")}),$(document).on("focusout.dropdown.data-api",".dropdown-menu",function(t){var e=$(this),a=this;e.parent().hasClass("open")&&setTimeout(function(){$.contains(a,document.activeElement)||e.parent().find("[data-toggle=dropdown]").dropdown("hide")},150)}).on("keydown.bs.dropdown.data-api",s+", [role=menu]",$.fn.dropdown.Constructor.prototype.keydown);var l=$(".nav-tabs, .nav-pills"),d=l.children("li"),c=l.find('[data-toggle="tab"], [data-toggle="pill"]');c&&(l.attr("role","tablist"),d.attr("role","presentation"),c.attr("role","tab")),c.each(function(e){var a=$($(this).attr("href")),r=$(this),n=r.attr("id")||t("ui-tab");r.attr("id",n),r.parent().hasClass("active")?(r.attr({tabIndex:"0","aria-selected":"true","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"0","aria-hidden":"false","aria-labelledby":n})):(r.attr({tabIndex:"-1","aria-selected":"false","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"-1","aria-hidden":"true","aria-labelledby":n}))}),$.fn.tab.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("ul[role=tablist] "),o=t.which||t.keyCode;if(r=$(this),/(37|38|39|40)/.test(o)){a=(e=n.find("[role=tab]:visible")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0);var i=e.eq(a);"tab"===i.attr("role")&&i.tab("show").focus(),t.preventDefault(),t.stopPropagation()}},$(document).on("keydown.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',$.fn.tab.Constructor.prototype.keydown);var u=$.fn.tab.Constructor.prototype.activate;$.fn.tab.Constructor.prototype.activate=function(t,e,a){var r=e.find("> .active");r.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"-1","aria-selected":!1}),r.filter(".tab-pane").attr({"aria-hidden":!0,tabIndex:"-1"}),u.apply(this,arguments),t.addClass("active"),t.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"0","aria-selected":!0}),t.filter(".tab-pane").attr({"aria-hidden":!1,tabIndex:"0"})},$('[data-toggle="collapse"]').each(function(e){var a=$(this),r=a.attr("data-target")?$(a.attr("data-target")):$(a.attr("href")),n=a.attr("data-parent"),o=n&&$(n),i=a.attr("id")||t("ui-collapse"),s=r.parent(),l=o?o.find(".panel.panel-default:first-child"):null,d=!!o&&o.find(".panel-collapse.in").length>0;a.attr("id",i),o&&(a.attr({"aria-controls":r.attr("id"),role:"tab","aria-selected":"false","aria-expanded":"false"}),$(o).find("div:not(.collapse,.panel-body), h4").attr("role","presentation"),o.attr({role:"tablist","aria-multiselectable":"true"}),r.attr({role:"tabpanel","aria-labelledby":i}),!d&&s.is(l)?(a.attr({tabindex:"0"}),r.attr({tabindex:"-1"})):r.hasClass("in")?(a.attr({"aria-selected":"true","aria-expanded":"true",tabindex:"0"}),r.attr({tabindex:"0","aria-hidden":"false"})):(a.attr({tabindex:"-1"}),r.attr({tabindex:"-1","aria-hidden":"true"})))});var p=$.fn.collapse.Constructor.prototype.toggle;$.fn.collapse.Constructor.prototype.toggle=function(){var t,e=this.$parent&&this.$parent.find('[aria-expanded="true"]');if(e){var a,r=e.attr("data-target")||(t=e.attr("href"))&&t.replace(/.*(?=#[^\s]+$)/,""),n=$(r),o=this.$element;this.$parent;this.$parent&&(a=this.$parent.find('[data-toggle=collapse][href="#'+this.$element.attr("id")+'"]')),p.apply(this,arguments),$.support.transition&&this.$element.one($.support.transition.end,function(){e.attr({"aria-selected":"false","aria-expanded":"false",tabIndex:"-1"}),n.attr({"aria-hidden":"true",tabIndex:"-1"}),a.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:"0"}),o.hasClass("in")?o.attr({"aria-hidden":"false",tabIndex:"0"}):(a.attr({"aria-selected":"false","aria-expanded":"false"}),o.attr({"aria-hidden":"true",tabIndex:"-1"}))})}else p.apply(this,arguments)},$.fn.collapse.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("div[role=tablist] "),o=t.which||t.keyCode;r=$(this),/(32|37|38|39|40)/.test(o)&&(32==o&&r.click(),a=(e=n.find("[role=tab]")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0),e.eq(a).focus(),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.collapse.data-api",'[data-toggle="collapse"]',$.fn.collapse.Constructor.prototype.keydown),$(".carousel").each(function(t){function e(){for(var t,e,a,n,o={top:0,left:32e3,height:0,width:0},i=0;ie.left&&(o.left=Math.round(e.left));var s=e.left-o.left+Math.round(n);o.widthA carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images. Use the tabs or the previous and next buttons to change the displayed slide.

'),l.prepend('

Carousel content with '+f.length+" slides.

")),s=0;s=0&&(d=parseInt(a.substring(d+1),10)),(c=d-1)<1&&(c=i-1),(u=d+1)>=i&&(u=0)),s.attr("aria-label","Show slide "+(c+1)+" of "+i),l.attr("aria-label","Show slide "+(u+1)+" of "+i),h.apply(this,arguments),n.one("bsTransitionEnd",function(){var t;(t=r.find('li[aria-controls="'+n.attr("id")+'"]'))&&t.attr({"aria-selected":!1,tabIndex:"-1"}),(t=r.find('li[aria-controls="'+o.attr("id")+'"]'))&&t.attr({"aria-selected":!0,tabIndex:"0"})})},$.fn.carousel.Constructor.prototype.keydown=function(t){function e(t){t>=n.length||t<0||(r.carousel(t),setTimeout(function(){n[t].focus()},150))}f=f||$(this),this instanceof Node&&(f=$(this));var a,r=$(t.target).closest(".carousel"),n=r.find("[role=tab]"),o=t.which||t.keyCode;/(37|38|39|40)/.test(o)&&(a=n.index(n.filter(".active")),37!=o&&38!=o||e(--a),39!=o&&40!=o||e(++a),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.carousel.data-api","li[role=tab]",$.fn.carousel.Constructor.prototype.keydown)}); -},{}]},{},["aQMl"], null) \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/carousel.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/carousel.js deleted file mode 100644 index ce85a21..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/carousel.js +++ /dev/null @@ -1,325 +0,0 @@ -// Carousel Extension - // =============================== - - $('.carousel').each(function (index) { - - // This function positions a highlight box around the tabs in the tablist to use in focus styling - - function setTablistHighlightBox() { - - var $tab - , offset - , height - , width - , highlightBox = {} - - highlightBox.top = 0 - highlightBox.left = 32000 - highlightBox.height = 0 - highlightBox.width = 0 - - for (var i = 0; i < $tabs.length; i++) { - $tab = $tabs[i] - offset = $($tab).offset() - height = $($tab).height() - width = $($tab).width() - -// console.log(" Top: " + offset.top + " Left: " + offset.left + " Height: " + height + " Width: " + width) - - if (highlightBox.top < offset.top) { - highlightBox.top = Math.round(offset.top) - } - - if (highlightBox.height < height) { - highlightBox.height = Math.round(height) - } - - if (highlightBox.left > offset.left) { - highlightBox.left = Math.round(offset.left) - } - - var w = (offset.left - highlightBox.left) + Math.round(width) - - if (highlightBox.width < w) { - highlightBox.width = w - } - - } // end for - -// console.log("[HIGHLIGHT] Top: " + highlightBox.top + " Left: " + highlightBox.left + " Height: " + highlightBox.height + " Width: " + highlightBox.width) - - $tablistHighlight.style.top = (highlightBox.top - 2) + 'px' - $tablistHighlight.style.left = (highlightBox.left - 2) + 'px' - $tablistHighlight.style.height = (highlightBox.height + 7) + 'px' - $tablistHighlight.style.width = (highlightBox.width + 8) + 'px' - - } // end function - - var $this = $(this) - , $prev = $this.find('[data-slide="prev"]') - , $next = $this.find('[data-slide="next"]') - , $tablist = $this.find('.carousel-indicators') - , $tabs = $this.find('.carousel-indicators li') - , $tabpanels = $this.find('.item') - , $tabpanel - , $tablistHighlight - , $pauseCarousel - , $complementaryLandmark - , $tab - , $is_paused = false - , offset - , height - , width - , i - , id_title = 'id_title' - , id_desc = 'id_desc' - - - $tablist.attr('role', 'tablist') - - $tabs.focus(function() { - $this.carousel('pause') - $is_paused = true - $pauseCarousel.innerHTML = "Play Carousel" - $(this).parent().addClass('active'); -// $(this).addClass('focus') - setTablistHighlightBox() - $($tablistHighlight).addClass('focus') - $(this).parents('.carousel').addClass('contrast') - }) - - $tabs.blur(function(event) { - $(this).parent().removeClass('active'); -// $(this).removeClass('focus') - $($tablistHighlight).removeClass('focus') - $(this).parents('.carousel').removeClass('contrast') - }) - - - for (i = 0; i < $tabpanels.length; i++) { - $tabpanel = $tabpanels[i] - $tabpanel.setAttribute('role', 'tabpanel') - $tabpanel.setAttribute('id', 'tabpanel-' + index + '-' + i) - $tabpanel.setAttribute('aria-labelledby', 'tab-' + index + '-' + i) - } - - if (typeof $this.attr('role') !== 'string') { - $this.attr('role', 'complementary'); - $this.attr('aria-labelledby', id_title); - $this.attr('aria-describedby', id_desc); - $this.prepend('

A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images. Use the tabs or the previous and next buttons to change the displayed slide.

') - $this.prepend('

Carousel content with ' + $tabpanels.length + ' slides.

') - } - - - for (i = 0; i < $tabs.length; i++) { - $tab = $tabs[i] - - $tab.setAttribute('role', 'tab') - $tab.setAttribute('id', 'tab-' + index + '-' + i) - $tab.setAttribute('aria-controls', 'tabpanel-' + index + '-' + i) - - var tpId = '#tabpanel-' + index + '-' + i - var caption = $this.find(tpId).find('h1').text() - - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h3').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h4').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h5').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = $this.find(tpId).find('h6').text() - if ((typeof caption !== 'string') || (caption.length === 0)) caption = "no title"; - -// console.log("CAPTION: " + caption ) - - var tabName = document.createElement('span') - tabName.setAttribute('class', 'sr-only') - tabName.innerHTML='Slide ' + (i+1) - if (caption) tabName.innerHTML += ": " + caption - $tab.appendChild(tabName) - - } - - // create div for focus styling of tablist - $tablistHighlight = document.createElement('div') - $tablistHighlight.className = 'carousel-tablist-highlight' - document.body.appendChild($tablistHighlight) - - // create button for screen reader users to stop rotation of carousel - - // create button for screen reader users to pause carousel for virtual mode review - $complementaryLandmark = document.createElement('aside') - $complementaryLandmark.setAttribute('class', 'carousel-aside-pause') - $complementaryLandmark.setAttribute('aria-label', 'carousel pause/play control') - $this.prepend($complementaryLandmark) - - $pauseCarousel = document.createElement('button') - $pauseCarousel.className = "carousel-pause-button" - $pauseCarousel.innerHTML = "Pause Carousel" - $pauseCarousel.setAttribute('title', "Pause/Play carousel button can be used by screen reader users to stop carousel animations") - $($complementaryLandmark).append($pauseCarousel) - - $($pauseCarousel).click(function() { - if ($is_paused) { - $pauseCarousel.innerHTML = "Pause Carousel" - $this.carousel('cycle') - $is_paused = false - } - else { - $pauseCarousel.innerHTML = "Play Carousel" - $this.carousel('pause') - $is_paused = true - } - }) - $($pauseCarousel).focus(function() { - $(this).addClass('focus') - }) - - $($pauseCarousel).blur(function() { - $(this).removeClass('focus') - }) - - setTablistHighlightBox() - - $( window ).resize(function() { - setTablistHighlightBox() - }) - - // Add space bar behavior to prev and next buttons for SR compatibility - $prev.attr('aria-label', 'Previous Slide') - $prev.keydown(function(e) { - var k = e.which || e.keyCode - if (/(13|32)/.test(k)) { - e.preventDefault() - e.stopPropagation() - $prev.trigger('click'); - } - }); - - $prev.focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $prev.blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $next.attr('aria-label', 'Next Slide') - $next.keydown(function(e) { - var k = e.which || e.keyCode - if (/(13|32)/.test(k)) { - e.preventDefault() - e.stopPropagation() - $next.trigger('click'); - } - }); - - $next.focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $next.blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $('.carousel-inner a').focus(function() { - $(this).parents('.carousel').addClass('contrast') - }) - - $('.carousel-inner a').blur(function() { - $(this).parents('.carousel').removeClass('contrast') - }) - - $tabs.each(function () { - var item = $(this) - if(item.hasClass('active')) { - item.attr({ 'aria-selected': 'true', 'tabindex' : '0' }) - }else{ - item.attr({ 'aria-selected': 'false', 'tabindex' : '-1' }) - } - }) - }) - - var slideCarousel = $.fn.carousel.Constructor.prototype.slide - $.fn.carousel.Constructor.prototype.slide = function (type, next) { - var $element = this.$element - , $active = $element.find('[role=tabpanel].active') - , $next = next || $active[type]() - , $tab - , $tab_count = $element.find('[role=tabpanel]').length - , $prev_side = $element.find('[data-slide="prev"]') - , $next_side = $element.find('[data-slide="next"]') - , $index = 0 - , $prev_index = $tab_count -1 - , $next_index = 1 - , $id - - if ($next && $next.attr('id')) { - $id = $next.attr('id') - $index = $id.lastIndexOf("-") - if ($index >= 0) $index = parseInt($id.substring($index+1), 10) - - $prev_index = $index - 1 - if ($prev_index < 1) $prev_index = $tab_count - 1 - - $next_index = $index + 1 - if ($next_index >= $tab_count) $next_index = 0 - } - - $prev_side.attr('aria-label', 'Show slide ' + ($prev_index+1) + ' of ' + $tab_count) - $next_side.attr('aria-label', 'Show slide ' + ($next_index+1) + ' of ' + $tab_count) - - - slideCarousel.apply(this, arguments) - - $active - .one('bsTransitionEnd', function () { - var $tab - - $tab = $element.find('li[aria-controls="' + $active.attr('id') + '"]') - if ($tab) $tab.attr({'aria-selected':false, 'tabIndex': '-1'}) - - $tab = $element.find('li[aria-controls="' + $next.attr('id') + '"]') - if ($tab) $tab.attr({'aria-selected': true, 'tabIndex': '0'}) - - }) - } - - var $this; - $.fn.carousel.Constructor.prototype.keydown = function (e) { - - $this = $this || $(this) - if(this instanceof Node) $this = $(this) - - function selectTab(index) { - if (index >= $tabs.length) return - if (index < 0) return - - $carousel.carousel(index) - setTimeout(function () { - $tabs[index].focus() - // $this.prev().focus() - }, 150) - } - - var $carousel = $(e.target).closest('.carousel') - , $tabs = $carousel.find('[role=tab]') - , k = e.which || e.keyCode - , index - - if (!/(37|38|39|40)/.test(k)) return - - index = $tabs.index($tabs.filter('.active')) - if (k == 37 || k == 38) { // Up - index-- - selectTab(index); - } - - if (k == 39 || k == 40) { // Down - index++ - selectTab(index); - } - - e.preventDefault() - e.stopPropagation() - } - $(document).on('keydown.carousel.data-api', 'li[role=tab]', $.fn.carousel.Constructor.prototype.keydown); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/collapse.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/collapse.js deleted file mode 100644 index e75d75b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/collapse.js +++ /dev/null @@ -1,100 +0,0 @@ - - // Collapse Extension - // =============================== - - var $colltabs = $('[data-toggle="collapse"]') - $colltabs.each(function( index ) { - var colltab = $(this) - , collpanel = (colltab.attr('data-target')) ? $(colltab.attr('data-target')) : $(colltab.attr('href')) - , parent = colltab.attr('data-parent') - , collparent = parent && $(parent) - , collid = colltab.attr('id') || uniqueId('ui-collapse') - , parentpanel = collpanel.parent() // panel containing title and panel body - , parentfirstchild = (collparent) ? collparent.find('.panel.panel-default:first-child') : null // first child of containing accordion - , hasopenpanel = (collparent) ? collparent.find('.panel-collapse.in').length > 0 : false // true, if collapse parent has any panels with class 'in'; otherwise, false - - colltab.attr('id', collid) - - if(collparent){ - colltab.attr({ 'aria-controls': collpanel.attr('id'), 'role':'tab', 'aria-selected':'false', 'aria-expanded':'false' }) - $(collparent).find('div:not(.collapse,.panel-body), h4').attr('role','presentation') - collparent.attr({ 'role' : 'tablist', 'aria-multiselectable' : 'true' }) - collpanel.attr({ 'role':'tabpanel', 'aria-labelledby':collid }) - - if(!hasopenpanel && parentpanel.is(parentfirstchild)) { - colltab.attr({ 'tabindex':'0' }) - collpanel.attr({ 'tabindex':'-1' }) - }else if(collpanel.hasClass('in')){ - colltab.attr({ 'aria-selected':'true', 'aria-expanded':'true', 'tabindex':'0' }) - collpanel.attr({ 'tabindex':'0', 'aria-hidden':'false' }) - }else{ - colltab.attr({ 'tabindex':'-1' }) - collpanel.attr({ 'tabindex':'-1', 'aria-hidden':'true' }) - } - } - }) - - var collToggle = $.fn.collapse.Constructor.prototype.toggle - $.fn.collapse.Constructor.prototype.toggle = function(){ - var prevTab = this.$parent && this.$parent.find('[aria-expanded="true"]') , href - - if(prevTab){ - var prevPanel = prevTab.attr('data-target') || (href = prevTab.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') - , $prevPanel = $(prevPanel) - , $curPanel = this.$element - , par = this.$parent - , curTab - - if (this.$parent) curTab = this.$parent.find('[data-toggle=collapse][href="#' + this.$element.attr('id') + '"]') - - collToggle.apply(this, arguments) - - if ($.support.transition) { - this.$element.one($.support.transition.end, function(){ - - prevTab.attr({ 'aria-selected':'false','aria-expanded':'false', 'tabIndex':'-1' }) - $prevPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1'}) - - curTab.attr({ 'aria-selected':'true','aria-expanded':'true', 'tabIndex':'0' }) - - if($curPanel.hasClass('in')){ - $curPanel.attr({ 'aria-hidden' : 'false','tabIndex' : '0' }) - }else{ - curTab.attr({ 'aria-selected':'false','aria-expanded':'false'}) - $curPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1' }) - } - }) - } - }else{ - collToggle.apply(this, arguments) - } - } - - $.fn.collapse.Constructor.prototype.keydown = function (e) { - var $this = $(this) - , $items - , $tablist = $this.closest('div[role=tablist] ') - , index - , k = e.which || e.keyCode - - $this = $(this) - if (!/(32|37|38|39|40)/.test(k)) return - if(k==32) $this.click() - - $items = $tablist.find('[role=tab]') - index = $items.index($items.filter(':focus')) - - if (k == 38 || k == 37) index-- // up & left - if (k == 39 || k == 40) index++ // down & right - if(index < 0) index = $items.length -1 - if(index == $items.length) index = 0 - - $items.eq(index).focus() - - e.preventDefault() - e.stopPropagation() - - } - - $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' , $.fn.collapse.Constructor.prototype.keydown); - diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/dropdown.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/dropdown.js deleted file mode 100644 index b1ef2d4..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/dropdown.js +++ /dev/null @@ -1,53 +0,0 @@ - // DROPDOWN Extension - // =============================== - - var toggle = '[data-toggle=dropdown]' - , $par - , firstItem - , focusDelay = 200 - , menus = $(toggle).parent().find('ul').attr('role','menu') - , lis = menus.find('li').attr('role','presentation') - - // add menuitem role and tabIndex to dropdown links - lis.find('a').attr({'role':'menuitem', 'tabIndex':'-1'}) - // add aria attributes to dropdown toggle - $(toggle).attr({ 'aria-haspopup':'true', 'aria-expanded': 'false'}) - - $(toggle).parent() - // Update aria-expanded when open - .on('shown.bs.dropdown',function(e){ - $par = $(this) - var $toggle = $par.find(toggle) - $toggle.attr('aria-expanded','true') - $toggle.on('keydown.bs.dropdown', $.proxy(function (ev) { - setTimeout(function() { - firstItem = $('.dropdown-menu [role=menuitem]:visible', $par)[0] - try{ firstItem.focus()} catch(ex) {} - }, focusDelay) - }, this)) - - }) - // Update aria-expanded when closed - .on('hidden.bs.dropdown',function(e){ - $par = $(this) - var $toggle = $par.find(toggle) - $toggle.attr('aria-expanded','false') - }) - - // Close the dropdown if tabbed away from - $(document) - .on('focusout.dropdown.data-api', '.dropdown-menu', function(e){ - var $this = $(this) - , that = this; - // since we're trying to close when appropriate, - // make sure the dropdown is open - if (!$this.parent().hasClass('open')) { - return; - } - setTimeout(function() { - if(!$.contains(that, document.activeElement)){ - $this.parent().find('[data-toggle=dropdown]').dropdown('toggle') - } - }, 150) - }) - .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , $.fn.dropdown.Constructor.prototype.keydown); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/functions.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/functions.js deleted file mode 100644 index 650fb9a..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/functions.js +++ /dev/null @@ -1,111 +0,0 @@ - - // GENERAL UTILITY FUNCTIONS - // =============================== - - var uniqueId = function(prefix) { - return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1) - } - - - var removeMultiValAttributes = function (el, attr, val) { - var describedby = (el.attr( attr ) || "").split( /\s+/ ) - , index = $.inArray(val, describedby) - if ( index !== -1 ) { - describedby.splice( index, 1 ) - } - describedby = $.trim( describedby.join( " " ) ) - if (describedby ) { - el.attr( attr, describedby ) - } else { - el.removeAttr( attr ) - } - } - -// selectors Courtesy: https://github.com/jquery/jquery-ui/blob/master/ui/focusable.js and tabbable.js -/* -Copyright jQuery Foundation and other contributors, https://jquery.org/ - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/jquery/jquery-ui - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code contained within the demos directory. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== -*/ - - var focusable = function ( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; - return !!img && visible( img ); - } - return ( /input|select|textarea|button|object/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible - } - var visible = function ( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; - } - - $.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } - }); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/modal.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/modal.js deleted file mode 100644 index 4cf4450..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/modal.js +++ /dev/null @@ -1,30 +0,0 @@ - // Modal Extension - // =============================== - - $('.modal-dialog').attr( {'role' : 'document'}) - var modalhide = $.fn.modal.Constructor.prototype.hide - $.fn.modal.Constructor.prototype.hide = function(){ - modalhide.apply(this, arguments) - $(document).off('keydown.bs.modal') - } - - var modalfocus = $.fn.modal.Constructor.prototype.enforceFocus - $.fn.modal.Constructor.prototype.enforceFocus = function(){ - var $content = this.$element.find(".modal-content") - var focEls = $content.find(":tabbable") - , $lastEl = $(focEls[focEls.length-1]) - , $firstEl = $(focEls[0]) - $lastEl.on('keydown.bs.modal', $.proxy(function (ev) { - if(ev.keyCode === 9 && !(ev.shiftKey | ev.ctrlKey | ev.metaKey | ev.altKey)) { // TAB pressed - ev.preventDefault(); - $firstEl.focus(); - } - }, this)) - $firstEl.on('keydown.bs.modal', $.proxy(function (ev) { - if(ev.keyCode === 9 && ev.shiftKey) { // SHIFT-TAB pressed - ev.preventDefault(); - $lastEl.focus(); - } - }, this)) - modalfocus.apply(this, arguments) - } diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/tab.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/tab.js deleted file mode 100644 index eadf3bc..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/js/tab.js +++ /dev/null @@ -1,75 +0,0 @@ - // Tab Extension - // =============================== - - var $tablist = $('.nav-tabs, .nav-pills') - , $lis = $tablist.children('li') - , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]') - - if($tabs){ - $tablist.attr('role', 'tablist') - $lis.attr('role', 'presentation') - $tabs.attr('role', 'tab') - } - - $tabs.each(function( index ) { - var tabpanel = $($(this).attr('href')) - , tab = $(this) - , tabid = tab.attr('id') || uniqueId('ui-tab') - - tab.attr('id', tabid) - - if(tab.parent().hasClass('active')){ - tab.attr( { 'tabIndex' : '0', 'aria-selected' : 'true', 'aria-controls': tab.attr('href').substr(1) } ) - tabpanel.attr({ 'role' : 'tabpanel', 'tabIndex' : '0', 'aria-hidden' : 'false', 'aria-labelledby':tabid }) - }else{ - tab.attr( { 'tabIndex' : '-1', 'aria-selected' : 'false', 'aria-controls': tab.attr('href').substr(1) } ) - tabpanel.attr( { 'role' : 'tabpanel', 'tabIndex' : '-1', 'aria-hidden' : 'true', 'aria-labelledby':tabid } ) - } - }) - - $.fn.tab.Constructor.prototype.keydown = function (e) { - var $this = $(this) - , $items - , $ul = $this.closest('ul[role=tablist] ') - , index - , k = e.which || e.keyCode - - $this = $(this) - if (!/(37|38|39|40)/.test(k)) return - - $items = $ul.find('[role=tab]:visible') - index = $items.index($items.filter(':focus')) - - if (k == 38 || k == 37) index-- // up & left - if (k == 39 || k == 40) index++ // down & right - - - if(index < 0) index = $items.length -1 - if(index == $items.length) index = 0 - - var nextTab = $items.eq(index) - if(nextTab.attr('role') ==='tab'){ - - nextTab.tab('show') //Comment this line for dynamically loaded tabPabels, to save Ajax requests on arrow key navigation - .focus() - } - // nextTab.focus() - - e.preventDefault() - e.stopPropagation() - } - - $(document).on('keydown.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]' , $.fn.tab.Constructor.prototype.keydown) - - var tabactivate = $.fn.tab.Constructor.prototype.activate; - $.fn.tab.Constructor.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - $active.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '-1','aria-selected' : false }) - $active.filter('.tab-pane').attr({ 'aria-hidden' : true,'tabIndex' : '-1' }) - - tabactivate.apply(this, arguments) - - element.addClass('active') - element.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '0','aria-selected' : true }) - element.filter('.tab-pane').attr({ 'aria-hidden' : false,'tabIndex' : '0' }) - } \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/bootstrap-accessibility.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/bootstrap-accessibility.less deleted file mode 100644 index 2ddb620..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/bootstrap-accessibility.less +++ /dev/null @@ -1,14 +0,0 @@ -// Import Variables -@import "partials/variables"; - -// Import Mixins -@import "partials/mixins"; - -// Import Partials Styles -@import "partials/buttons"; -@import "partials/divs"; -@import "partials/links"; -@import "partials/close"; -@import "partials/navigation"; -@import "partials/carousel"; -@import "partials/alerts"; \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/alerts.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/alerts.less deleted file mode 100644 index fc4c5f5..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/alerts.less +++ /dev/null @@ -1,18 +0,0 @@ -.alert-success { - color: @alert-success-color; -} -.alert-info { - color: @alert-info-color; -} -.alert-warning { - color: @alert-warning-color; - background-color: @alert-warning-bkg; -} -.alert-danger { - color: @alert-danger-color; -} -.alert-danger { - &:hover { - color: @alert-danger-hover; - } -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/buttons.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/buttons.less deleted file mode 100644 index f86d013..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/buttons.less +++ /dev/null @@ -1 +0,0 @@ -.btn:focus { .outline(2px); } \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/carousel.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/carousel.less deleted file mode 100644 index 1ae3da5..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/carousel.less +++ /dev/null @@ -1,53 +0,0 @@ -.carousel-indicators li, -.carousel-indicators li.active { - height: 18px; - width: 18px; - border-width: 2px; - position: relative; - box-shadow: 0px 0px 0px 1px #808080; -} - -.carousel-indicators.active li { - background-color: rgba(100, 149, 253, 0.6); -} - -.carousel-indicators.active li.active { - background-color: white; -} - -.carousel-tablist-highlight { - display: block; - position: absolute; - outline: 2px solid transparent; - background-color: transparent; - box-shadow: 0px 0px 0px 1px transparent; -} - -.carousel-tablist-highlight.focus { - outline: 2px solid #6495ED; - background-color: rgba(0, 0, 0, 0.4); -} - -a.carousel-control:focus { - outline: 2px solid #6495ED; - background-image: linear-gradient(to right, transparent 0px, rgba(0, 0, 0, 0.5) 100%); - box-shadow: 0px 0px 0px 1px #000000; -} - -.carousel-pause-button { - position: absolute; - top: -30em; - left: -300em; - display: block; -} - -.carousel-pause-button.focus { - top: 0.5em; - left: 0.5em; -} - -.carousel:hover .carousel-caption, -.carousel.contrast .carousel-caption { - background-color: rgba(0, 0, 0, 0.5); - z-index: 10; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/close.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/close.less deleted file mode 100644 index 6ae546b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/close.less +++ /dev/null @@ -1,6 +0,0 @@ -.close { - &:hover, - &:focus { - .outline(1px); - } -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/divs.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/divs.less deleted file mode 100644 index 1830bcd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/divs.less +++ /dev/null @@ -1 +0,0 @@ -div.active:focus { .outline(1px); } \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/links.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/links.less deleted file mode 100644 index 781d0dd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/links.less +++ /dev/null @@ -1 +0,0 @@ -a:focus { .outline(1px); } \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/mixins.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/mixins.less deleted file mode 100644 index fb04ced..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/mixins.less +++ /dev/null @@ -1,3 +0,0 @@ -.outline(@size) { - outline: @outline-default-style @size @outline-default-color; -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/navigation.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/navigation.less deleted file mode 100644 index 769e341..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/navigation.less +++ /dev/null @@ -1,4 +0,0 @@ -.nav > li > a { - &:hover, - &:focus { .outline(1px); } -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/variables.less b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/variables.less deleted file mode 100644 index 3c3180c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/less/partials/variables.less +++ /dev/null @@ -1,21 +0,0 @@ -//Set the variables for use in stylesheet - -// Colors -@black: #000; -@green-dark: #2d4821; -@blue-dark: #214c62; -@red-dark: #6c4a00; -@red: #d2322d; -@yellow: #f9f1c6; - -// Outline -@outline-default-style: dotted; -@outline-default-color: @black; - -// Alerts Colors -@alert-success-color: @green-dark; -@alert-info-color: @blue-dark; -@alert-warning-color: @red-dark; -@alert-warning-bkg: @yellow; -@alert-danger-color: @red; -@alert-danger-hover: darken(@red, 10%); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/meteor/package.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/meteor/package.js deleted file mode 100644 index 5fdf389..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/meteor/package.js +++ /dev/null @@ -1,16 +0,0 @@ -Package.describe({ - name: 'paypal:bootstrap-accessibility-plugin', - summary: 'Accessibility Plugin for Bootstrap 3', - git: 'https://github.com/paypal/bootstrap-accessibility-plugin.git', - version: '{{version}}' -}); - -Package.onUse(function(api) { - api.use('ecmascript'); - api.use('jquery'); - api.use('twbs:bootstrap'); - api.addFiles([ - 'plugins/css/bootstrap-accessibility.css', - 'plugins/js/bootstrap-accessibility.js' - ], 'client'); -}); \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/bootstrap-accessibility.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/bootstrap-accessibility.scss deleted file mode 100644 index d689119..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/bootstrap-accessibility.scss +++ /dev/null @@ -1,14 +0,0 @@ -// Import Variables -@import "partials/variables"; - -// Import Mixins -@import "partials/mixins"; - -// Import Partials Styles -@import "partials/buttons"; -@import "partials/divs"; -@import "partials/links"; -@import "partials/close"; -@import "partials/navigation"; -@import "partials/carousel"; -@import "partials/alerts"; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_alerts.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_alerts.scss deleted file mode 100644 index 899d100..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_alerts.scss +++ /dev/null @@ -1,18 +0,0 @@ -.alert-success { - color: $alert-success-color; -} -.alert-info { - color: $alert-info-color; -} -.alert-warning { - color: $alert-warning-color; - background-color: $alert-warning-bkg; -} -.alert-danger { - color: $alert-danger-color; -} -.alert-danger { - &:hover { - color: $alert-danger-hover; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_buttons.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_buttons.scss deleted file mode 100644 index 3a671c3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_buttons.scss +++ /dev/null @@ -1,8 +0,0 @@ -.btn { - &:focus { - @include mouse-outline(2px); - } - &:focus-visible { - @include keyboard-outline(2px); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_carousel.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_carousel.scss deleted file mode 100644 index 219077b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_carousel.scss +++ /dev/null @@ -1,54 +0,0 @@ -.carousel-indicators li, -.carousel-indicators li.active { - height: 18px; - width: 18px; - border-width: 2px; - position: relative; - box-shadow: 0px 0px 0px 1px #808080; -} - -.carousel-indicators.active li { - background-color: rgba(100, 149, 253, 0.6); -} - -.carousel-indicators.active li.active { - background-color: white; -} - -.carousel-tablist-highlight { - display: block; - position: absolute; - outline: 2px solid transparent; - background-color: transparent; - box-shadow: 0px 0px 0px 1px transparent; -} - -.carousel-tablist-highlight.focus { - outline: 2px solid #6495ED; - background-color: rgba(0, 0, 0, 0.4); -} - -a.carousel-control:focus { - outline: 2px solid #6495ED; - background-image: linear-gradient(to right, transparent 0px, rgba(0, 0, 0, 0.5) 100%); - box-shadow: 0px 0px 0px 1px #000000; -} - -.carousel-pause-button { - position: absolute; - top: -30em; - left: -300em; - display: block; -} - -.carousel-pause-button.focus { - top: 0.5em; - left: 0.5em; -} - - -.carousel:hover .carousel-caption, -.carousel.contrast .carousel-caption { - background-color: rgba(0, 0, 0, 0.5); - z-index: 10; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_close.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_close.scss deleted file mode 100644 index 2c0c754..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_close.scss +++ /dev/null @@ -1,9 +0,0 @@ -.close { - &:hover, - &:focus { - @include mouse-outline(1px); - } - &:focus-visible { - @include keyboard-outline(1px); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_divs.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_divs.scss deleted file mode 100644 index 7d873bf..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_divs.scss +++ /dev/null @@ -1,8 +0,0 @@ -div.active { - &:focus { - @include mouse-outline(1px); - } - &:focus-visible { - @include keyboard-outline(1px); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_links.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_links.scss deleted file mode 100644 index 87bd19a..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_links.scss +++ /dev/null @@ -1,8 +0,0 @@ -a { - &:focus { - @include mouse-outline(1px); - } - &:focus-visible { - @include keyboard-outline(1px); - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_mixins.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_mixins.scss deleted file mode 100644 index e259e25..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_mixins.scss +++ /dev/null @@ -1,6 +0,0 @@ -@mixin mouse-outline($size) { - outline: $mouse-outline-style $size $mouse-outline-color; -} -@mixin keyboard-outline($size) { - outline: $keyboard-outline-style $size $keyboard-outline-color; -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_navigation.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_navigation.scss deleted file mode 100644 index 89818ae..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_navigation.scss +++ /dev/null @@ -1,13 +0,0 @@ -.nav { - > li { - > a { - &:hover, - &:focus { - @include mouse-outline(1px); - } - &:focus-visible { - @include keyboard-outline(1px); - } - } - } -} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_variables.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_variables.scss deleted file mode 100644 index f80b42e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-a11y-p/src/sass/partials/_variables.scss +++ /dev/null @@ -1,25 +0,0 @@ -//Set the variables for use in stylesheet - -// Colors -$black: #000 !default; -$green-dark: #2d4821 !default; -$blue-dark: #214c62 !default; -$red-dark: #6c4a00 !default; -$red: #d2322d !default; -$yellow: #f9f1c6 !default; - -// :focus/:hover outline styles -$mouse-outline-style: none !default; -$mouse-outline-color: $black !default; - -// :focus-visible outline styles -$keyboard-outline-style: auto !default; -$keyboard-outline-color: $mouse-outline-color !default; - -// Alerts Colors -$alert-success-color: $green-dark !default; -$alert-info-color: $blue-dark !default; -$alert-warning-color: $red-dark !default; -$alert-warning-bkg: $yellow !default; -$alert-danger-color: $red !default; -$alert-danger-hover: darken($red, 10%) !default; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/LICENSE b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/LICENSE deleted file mode 100644 index bc6fc51..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Javi Aguilar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/README.md b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/README.md deleted file mode 100644 index 7f946f6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/README.md +++ /dev/null @@ -1,160 +0,0 @@ - - -# Bootstrap Colorpicker - - - -[Bootstrap Colorpicker](https://github.com/itsjavi/bootstrap-colorpicker/) is a modular color picker plugin for Bootstrap 4. - -[![Build Status](https://img.shields.io/travis/itsjavi/bootstrap-colorpicker/master.svg?style=flat-square)](https://travis-ci.org/itsjavi/bootstrap-colorpicker) -[![npm](https://img.shields.io/npm/v/bootstrap-colorpicker.svg?style=flat-square)](https://www.npmjs.com/package/bootstrap-colorpicker) - -## Install -You can get the latest version in many different ways: - -- Downloading the tarball from npm the registry: https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.2.0.tgz (you can change the version in the url to any released tag) -- Cloning using Git: `git clone https://github.com/itsjavi/bootstrap-colorpicker.git` -- Installing via NPM: `npm install bootstrap-colorpicker` -- Installing via Yarn: `yarn add bootstrap-colorpicker` -- Installing via Composer: `composer require itsjavi/bootstrap-colorpicker` - -Note that the `dist` files are only distributed via the NPM and Yarn installations. - -For the rest methods, you will need to generate the files initializing the project with `yarn install` -and then building the code using `npm run build`. - -## Versions - - - - - - - - - - - - - - - - - - - - - -
Colorpicker versionCompatible Bootstrap versionDependencies
- v2.x
- Documentation -
Bootstrap 3 or 4 -
    -
  • jQuery >= 1.10
  • -
  • Bootstrap CSS (input addon)
  • -
-
- v3.x
- Documentation -
Bootstrap 4 or without Bootstrap -
    -
  • jQuery >= 2.1.0
  • -
  • Bootstrap CSS (input addon, popover)
  • -
  • Bootstrap JS Bundle (popover)
  • -
-
- - -Note that the plugin may work without Bootstrap if your code is not using any of the mentioned Bootstrap -dependencies. - - -## Examples - -### With Bootstrap -The Bootstrap JS dependency is optional and it is mainly needed for the popover support. -No Bootstrap CSS is required for the plugin to work. - -```html - - - - - - - -
-

Bootstrap Colorpicker Demo (with Bootstrap)

- -
- - - - - -``` - -### Without Bootstrap - -To use the plugin without Bootstrap, the `popover` option should be set to `false` or `null` and, depending on your implementation, -you will usually need to set inline to `true` and a `container` selector option. - -```html - - - - - - - -
-

Bootstrap Colorpicker Demo (without Bootstrap)

- -
- - - - -``` - -## Contributions -* [Issues](https://github.com/itsjavi/bootstrap-colorpicker/issues) -* [Pull Requests](https://github.com/itsjavi/bootstrap-colorpicker/pulls) -* [Milestones](https://github.com/itsjavi/bootstrap-colorpicker/milestones) - -This project exists thanks to all the [people who contribute](https://github.com/itsjavi/bootstrap-colorpicker/graphs/contributors). - -Please read [CONTRIBUTING](https://github.com/itsjavi/bootstrap-colorpicker/blob/master/.github/CONTRIBUTING.md) -before sending a pull request or issue. - -## License -The MIT License (MIT). -Please see the [License File](https://github.com/itsjavi/bootstrap-colorpicker/blob/master/LICENSE) for more information. - -## Credits - -Written and maintained by [Javi Aguilar](https://itsjavi.com) and all other contributors. - -*Based on Stefan Petre's color picker (2013).* - -*Thanks to JetBrains for supporting this project.* diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css deleted file mode 100644 index f4017cb..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css +++ /dev/null @@ -1,399 +0,0 @@ -/*! - * Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4. - * @package bootstrap-colorpicker - * @version v3.4.0 - * @license MIT - * @link https://itsjavi.com/bootstrap-colorpicker/ - * @link https://github.com/itsjavi/bootstrap-colorpicker.git - */ -.colorpicker { - position: relative; - display: none; - font-size: inherit; - color: inherit; - text-align: left; - list-style: none; - background-color: #ffffff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - padding: .75rem .75rem; - width: 148px; - border-radius: 4px; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - -.colorpicker.colorpicker-disabled, -.colorpicker.colorpicker-disabled * { - cursor: default !important; } - -.colorpicker div { - position: relative; } - -.colorpicker-popup { - position: absolute; - top: 100%; - left: 0; - float: left; - margin-top: 1px; - z-index: 1060; } - -.colorpicker-popup.colorpicker-bs-popover-content { - position: relative; - top: auto; - left: auto; - float: none; - margin: 0; - z-index: initial; - border: none; - padding: 0.25rem 0; - border-radius: 0; - background: none; - -webkit-box-shadow: none; - box-shadow: none; } - -.colorpicker:before, -.colorpicker:after { - content: ""; - display: table; - clear: both; - line-height: 0; } - -.colorpicker-clear { - clear: both; - display: block; } - -.colorpicker:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: auto; - right: 6px; } - -.colorpicker:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: auto; - right: 7px; } - -.colorpicker.colorpicker-with-alpha { - width: 170px; } - -.colorpicker.colorpicker-with-alpha .colorpicker-alpha { - display: block; } - -.colorpicker-saturation { - position: relative; - width: 126px; - height: 126px; - /* FF3.6+ */ - /* Chrome,Safari4+ */ - /* Chrome10+,Safari5.1+ */ - /* Opera 11.10+ */ - /* IE10+ */ - background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black)), -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0))); - background: linear-gradient(to bottom, transparent 0%, black 100%), linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%); - /* W3C */ - cursor: crosshair; - float: left; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - margin-bottom: 6px; } - .colorpicker-saturation .colorpicker-guide { - display: block; - height: 6px; - width: 6px; - border-radius: 6px; - border: 1px solid #000; - -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8); - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8); - position: absolute; - top: 0; - left: 0; - margin: -3px 0 0 -3px; } - -.colorpicker-hue, -.colorpicker-alpha { - position: relative; - width: 16px; - height: 126px; - float: left; - cursor: row-resize; - margin-left: 6px; - margin-bottom: 6px; } - -.colorpicker-alpha-color { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.colorpicker-hue, -.colorpicker-alpha-color { - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.colorpicker-hue .colorpicker-guide, -.colorpicker-alpha .colorpicker-guide { - display: block; - height: 4px; - background: rgba(255, 255, 255, 0.8); - border: 1px solid rgba(0, 0, 0, 0.4); - position: absolute; - top: 0; - left: 0; - margin-left: -2px; - margin-top: -2px; - right: -2px; - z-index: 1; } - -.colorpicker-hue { - /* FF3.6+ */ - /* Chrome,Safari4+ */ - /* Chrome10+,Safari5.1+ */ - /* Opera 11.10+ */ - /* IE10+ */ - background: -webkit-gradient(linear, left bottom, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red)); - background: linear-gradient(to top, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%); - /* W3C */ } - -.colorpicker-alpha { - background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white; - background-size: 10px 10px; - background-position: 0 0, 5px 5px; - display: none; } - -.colorpicker-bar { - min-height: 16px; - margin: 6px 0 0 0; - clear: both; - text-align: center; - font-size: 10px; - line-height: normal; - max-width: 100%; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - .colorpicker-bar:before { - content: ""; - display: table; - clear: both; } - -.colorpicker-bar.colorpicker-bar-horizontal { - height: 126px; - width: 16px; - margin: 0 0 6px 0; - float: left; } - -.colorpicker-input-addon { - position: relative; } - -.colorpicker-input-addon i { - display: inline-block; - cursor: pointer; - vertical-align: text-top; - height: 16px; - width: 16px; - position: relative; } - -.colorpicker-input-addon:before { - content: ""; - position: absolute; - width: 16px; - height: 16px; - display: inline-block; - vertical-align: text-top; - background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white; - background-size: 10px 10px; - background-position: 0 0, 5px 5px; } - -.colorpicker.colorpicker-inline { - position: relative; - display: inline-block; - float: none; - z-index: auto; - vertical-align: text-bottom; } - -.colorpicker.colorpicker-horizontal { - width: 126px; - height: auto; } - -.colorpicker.colorpicker-horizontal .colorpicker-bar { - width: 126px; } - -.colorpicker.colorpicker-horizontal .colorpicker-saturation { - float: none; - margin-bottom: 0; } - -.colorpicker.colorpicker-horizontal .colorpicker-hue, -.colorpicker.colorpicker-horizontal .colorpicker-alpha { - float: none; - width: 126px; - height: 16px; - cursor: col-resize; - margin-left: 0; - margin-top: 6px; - margin-bottom: 0; } - -.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide, -.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide { - position: absolute; - display: block; - bottom: -2px; - left: 0; - right: auto; - height: auto; - width: 4px; } - -.colorpicker.colorpicker-horizontal .colorpicker-hue { - /* FF3.6+ */ - /* Chrome,Safari4+ */ - /* Chrome10+,Safari5.1+ */ - /* Opera 11.10+ */ - /* IE10+ */ - background: -webkit-gradient(linear, right top, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red)); - background: linear-gradient(to left, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%); - /* W3C */ } - -.colorpicker.colorpicker-horizontal .colorpicker-alpha { - background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white; - background-size: 10px 10px; - background-position: 0 0, 5px 5px; } - -.colorpicker-inline:before, -.colorpicker-no-arrow:before, -.colorpicker-popup.colorpicker-bs-popover-content:before { - content: none; - display: none; } - -.colorpicker-inline:after, -.colorpicker-no-arrow:after, -.colorpicker-popup.colorpicker-bs-popover-content:after { - content: none; - display: none; } - -.colorpicker-alpha, -.colorpicker-saturation, -.colorpicker-hue { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - -.colorpicker.colorpicker-visible, -.colorpicker-alpha.colorpicker-visible, -.colorpicker-saturation.colorpicker-visible, -.colorpicker-hue.colorpicker-visible, -.colorpicker-bar.colorpicker-visible { - display: block; } - -.colorpicker.colorpicker-hidden, -.colorpicker-alpha.colorpicker-hidden, -.colorpicker-saturation.colorpicker-hidden, -.colorpicker-hue.colorpicker-hidden, -.colorpicker-bar.colorpicker-hidden { - display: none; } - -.colorpicker-inline.colorpicker-visible { - display: inline-block; } - -.colorpicker.colorpicker-disabled:after { - border: none; - content: ''; - display: block; - width: 100%; - height: 100%; - background: rgba(233, 236, 239, 0.33); - top: 0; - left: 0; - right: auto; - z-index: 2; - position: absolute; } - -.colorpicker.colorpicker-disabled .colorpicker-guide { - display: none; } - -/** EXTENSIONS **/ -.colorpicker-preview { - background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white; - background-size: 10px 10px; - background-position: 0 0, 5px 5px; } - -.colorpicker-preview > div { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; } - -.colorpicker-bar.colorpicker-swatches { - -webkit-box-shadow: none; - box-shadow: none; - height: auto; } - -.colorpicker-swatches--inner { - clear: both; - margin-top: -6px; } - -.colorpicker-swatch { - position: relative; - cursor: pointer; - float: left; - height: 16px; - width: 16px; - margin-right: 6px; - margin-top: 6px; - margin-left: 0; - display: block; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); - background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white; - background-size: 10px 10px; - background-position: 0 0, 5px 5px; } - -.colorpicker-swatch--inner { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.colorpicker-swatch:nth-of-type(7n+0) { - margin-right: 0; } - -.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0) { - margin-right: 6px; } - -.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0) { - margin-right: 0; } - -.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0) { - margin-right: 0; } - -.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0) { - margin-right: 6px; } - -.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0) { - margin-right: 6px; } - -.colorpicker-swatch:last-of-type:after { - content: ""; - display: table; - clear: both; } - -*[dir='rtl'] .colorpicker-element input, -.colorpicker-element[dir='rtl'] input, -.colorpicker-element input[dir='rtl'] { - direction: ltr; - text-align: right; } - -/*# sourceMappingURL=bootstrap-colorpicker.css.map */ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css.map b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css.map deleted file mode 100644 index f669cff..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["colorpicker.scss"],"names":[],"mappings":"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","file":"bootstrap-colorpicker.css","sourcesContent":["$outline-color: rgba(0, 0, 0, 0.2);\n$box-shadow-outline: 0 0 0 1px $outline-color;\n$bar-size-short: 16px !default;\n$base-margin: 6px !default;\n$columns: 6 !default; // this affects the number of swatches per row and the width of the color picker, saturation, etc.\n$bar-size-large: ($bar-size-short * $columns) + ($base-margin * ($columns - 1));\n\n@mixin bgCheckerBox($size: 10px) {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0),\n linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0),\n rgb(255, 255, 255);\n background-size: $size $size;\n background-position: 0 0, $size/2 $size/2;\n}\n\n@mixin bgSaturation() {\n background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%),\n -moz-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 1))),\n -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%),\n -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%),\n -o-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%),\n -ms-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%),\n linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* W3C */\n}\n\n@mixin bgHueHorizontal() {\n background: -moz-linear-gradient(right, rgb(255, 0, 0) 0%, rgb(255, 128, 0) 8%, rgb(255, 255, 0) 17%, rgb(128, 255, 0) 25%, rgb(0, 255, 0) 33%, rgb(0, 255, 128) 42%, rgb(0, 255, 255) 50%, rgb(0, 128, 255) 58%, rgb(0, 0, 255) 67%, rgb(128, 0, 255) 75%, rgb(255, 0, 255) 83%, rgb(255, 0, 128) 92%, rgb(255, 0, 0) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, right top, left top, color-stop(0%, rgb(255, 0, 0)), color-stop(8%, rgb(255, 128, 0)), color-stop(17%, rgb(255, 255, 0)), color-stop(25%, rgb(128, 255, 0)), color-stop(33%, rgb(0, 255, 0)), color-stop(42%, rgb(0, 255, 128)), color-stop(50%, rgb(0, 255, 255)), color-stop(58%, rgb(0, 128, 255)), color-stop(67%, rgb(0, 0, 255)), color-stop(75%, rgb(128, 0, 255)), color-stop(83%, rgb(255, 0, 255)), color-stop(92%, rgb(255, 0, 128)), color-stop(100%, rgb(255, 0, 0))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(right, rgb(255, 0, 0) 0%, rgb(255, 128, 0) 8%, rgb(255, 255, 0) 17%, rgb(128, 255, 0) 25%, rgb(0, 255, 0) 33%, rgb(0, 255, 128) 42%, rgb(0, 255, 255) 50%, rgb(0, 128, 255) 58%, rgb(0, 0, 255) 67%, rgb(128, 0, 255) 75%, rgb(255, 0, 255) 83%, rgb(255, 0, 128) 92%, rgb(255, 0, 0) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(right, rgb(255, 0, 0) 0%, rgb(255, 128, 0) 8%, rgb(255, 255, 0) 17%, rgb(128, 255, 0) 25%, rgb(0, 255, 0) 33%, rgb(0, 255, 128) 42%, rgb(0, 255, 255) 50%, rgb(0, 128, 255) 58%, rgb(0, 0, 255) 67%, rgb(128, 0, 255) 75%, rgb(255, 0, 255) 83%, rgb(255, 0, 128) 92%, rgb(255, 0, 0) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(right, rgb(255, 0, 0) 0%, rgb(255, 128, 0) 8%, rgb(255, 255, 0) 17%, rgb(128, 255, 0) 25%, rgb(0, 255, 0) 33%, rgb(0, 255, 128) 42%, rgb(0, 255, 255) 50%, rgb(0, 128, 255) 58%, rgb(0, 0, 255) 67%, rgb(128, 0, 255) 75%, rgb(255, 0, 255) 83%, rgb(255, 0, 128) 92%, rgb(255, 0, 0) 100%); /* IE10+ */\n background: linear-gradient(to left, rgb(255, 0, 0) 0%, rgb(255, 128, 0) 8%, rgb(255, 255, 0) 17%, rgb(128, 255, 0) 25%, rgb(0, 255, 0) 33%, rgb(0, 255, 128) 42%, rgb(0, 255, 255) 50%, rgb(0, 128, 255) 58%, rgb(0, 0, 255) 67%, rgb(128, 0, 255) 75%, rgb(255, 0, 255) 83%, rgb(255, 0, 128) 92%, rgb(255, 0, 0) 100%); /* W3C */\n\n}\n\n@mixin bgHueVertical() {\n background: -moz-linear-gradient(bottom, rgba(255, 0, 0, 1) 0%, rgba(255, 128, 0, 1) 8%, rgba(255, 255, 0, 1) 17%, rgba(128, 255, 0, 1) 25%, rgba(0, 255, 0, 1) 33%, rgba(0, 255, 128, 1) 42%, rgba(0, 255, 255, 1) 50%, rgba(0, 128, 255, 1) 58%, rgba(0, 0, 255, 1) 67%, rgba(128, 0, 255, 1) 75%, rgba(255, 0, 255, 1) 83%, rgba(255, 0, 128, 1) 92%, rgba(255, 0, 0, 1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left bottom, left top, color-stop(0%, rgba(255, 0, 0, 1)), color-stop(8%, rgba(255, 128, 0, 1)), color-stop(17%, rgba(255, 255, 0, 1)), color-stop(25%, rgba(128, 255, 0, 1)), color-stop(33%, rgba(0, 255, 0, 1)), color-stop(42%, rgba(0, 255, 128, 1)), color-stop(50%, rgba(0, 255, 255, 1)), color-stop(58%, rgba(0, 128, 255, 1)), color-stop(67%, rgba(0, 0, 255, 1)), color-stop(75%, rgba(128, 0, 255, 1)), color-stop(83%, rgba(255, 0, 255, 1)), color-stop(92%, rgba(255, 0, 128, 1)), color-stop(100%, rgba(255, 0, 0, 1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(bottom, rgba(255, 0, 0, 1) 0%, rgba(255, 128, 0, 1) 8%, rgba(255, 255, 0, 1) 17%, rgba(128, 255, 0, 1) 25%, rgba(0, 255, 0, 1) 33%, rgba(0, 255, 128, 1) 42%, rgba(0, 255, 255, 1) 50%, rgba(0, 128, 255, 1) 58%, rgba(0, 0, 255, 1) 67%, rgba(128, 0, 255, 1) 75%, rgba(255, 0, 255, 1) 83%, rgba(255, 0, 128, 1) 92%, rgba(255, 0, 0, 1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(bottom, rgba(255, 0, 0, 1) 0%, rgba(255, 128, 0, 1) 8%, rgba(255, 255, 0, 1) 17%, rgba(128, 255, 0, 1) 25%, rgba(0, 255, 0, 1) 33%, rgba(0, 255, 128, 1) 42%, rgba(0, 255, 255, 1) 50%, rgba(0, 128, 255, 1) 58%, rgba(0, 0, 255, 1) 67%, rgba(128, 0, 255, 1) 75%, rgba(255, 0, 255, 1) 83%, rgba(255, 0, 128, 1) 92%, rgba(255, 0, 0, 1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(bottom, rgba(255, 0, 0, 1) 0%, rgba(255, 128, 0, 1) 8%, rgba(255, 255, 0, 1) 17%, rgba(128, 255, 0, 1) 25%, rgba(0, 255, 0, 1) 33%, rgba(0, 255, 128, 1) 42%, rgba(0, 255, 255, 1) 50%, rgba(0, 128, 255, 1) 58%, rgba(0, 0, 255, 1) 67%, rgba(128, 0, 255, 1) 75%, rgba(255, 0, 255, 1) 83%, rgba(255, 0, 128, 1) 92%, rgba(255, 0, 0, 1) 100%); /* IE10+ */\n background: linear-gradient(to top, rgba(255, 0, 0, 1) 0%, rgba(255, 128, 0, 1) 8%, rgba(255, 255, 0, 1) 17%, rgba(128, 255, 0, 1) 25%, rgba(0, 255, 0, 1) 33%, rgba(0, 255, 128, 1) 42%, rgba(0, 255, 255, 1) 50%, rgba(0, 128, 255, 1) 58%, rgba(0, 0, 255, 1) 67%, rgba(128, 0, 255, 1) 75%, rgba(255, 0, 255, 1) 83%, rgba(255, 0, 128, 1) 92%, rgba(255, 0, 0, 1) 100%); /* W3C */\n}\n\n.colorpicker {\n position: relative;\n display: none;\n font-size: inherit;\n color: inherit;\n text-align: left;\n list-style: none;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid $outline-color;\n //box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n padding: .75rem .75rem;\n width: ($bar-size-large + $base-margin + $bar-size-short);\n border-radius: 4px;\n box-sizing: content-box;\n}\n\n.colorpicker.colorpicker-disabled,\n.colorpicker.colorpicker-disabled * {\n cursor: default !important;\n}\n\n.colorpicker div {\n position: relative;\n}\n\n.colorpicker-popup {\n position: absolute;\n top: 100%;\n left: 0;\n float: left;\n margin-top: 1px;\n z-index: 1060;\n}\n\n.colorpicker-popup.colorpicker-bs-popover-content {\n position: relative;\n top: auto;\n left: auto;\n float: none;\n margin: 0;\n z-index: initial;\n border: none;\n padding: 0.25rem 0; // popover padding correction\n border-radius: 0;\n background: none;\n box-shadow: none;\n}\n\n.colorpicker:before,\n.colorpicker:after {\n content: \"\";\n display: table;\n clear: both;\n line-height: 0;\n}\n\n.colorpicker-clear {\n clear: both;\n display: block;\n}\n\n.colorpicker:before {\n content: '';\n display: inline-block;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid #ccc;\n border-bottom-color: $outline-color;\n position: absolute;\n top: -7px;\n left: auto;\n right: 6px;\n}\n\n.colorpicker:after {\n content: '';\n display: inline-block;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ffffff;\n position: absolute;\n top: -6px;\n left: auto;\n right: 7px;\n}\n\n.colorpicker.colorpicker-with-alpha {\n width: ($bar-size-large + (($base-margin + $bar-size-short) * 2));\n}\n\n.colorpicker.colorpicker-with-alpha .colorpicker-alpha {\n display: block;\n}\n\n.colorpicker-saturation {\n position: relative;\n width: $bar-size-large;\n height: $bar-size-large;\n @include bgSaturation();\n cursor: crosshair;\n float: left;\n box-shadow: $box-shadow-outline;\n margin-bottom: $base-margin;\n\n .colorpicker-guide {\n display: block;\n height: 6px;\n width: 6px;\n border-radius: 6px;\n border: 1px solid #000;\n box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);\n position: absolute;\n top: 0;\n left: 0;\n margin: -3px 0 0 -3px;\n }\n}\n\n.colorpicker-hue,\n.colorpicker-alpha {\n position: relative;\n width: $bar-size-short;\n height: $bar-size-large;\n float: left;\n cursor: row-resize;\n margin-left: $base-margin;\n margin-bottom: $base-margin;\n}\n\n.colorpicker-alpha-color {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.colorpicker-hue,\n.colorpicker-alpha-color {\n box-shadow: $box-shadow-outline;\n}\n\n.colorpicker-hue .colorpicker-guide,\n.colorpicker-alpha .colorpicker-guide {\n display: block;\n height: 4px;\n background: rgba(255, 255, 255, 0.8);\n border: 1px solid rgba(0, 0, 0, 0.4);\n position: absolute;\n top: 0;\n left: 0;\n margin-left: -2px;\n margin-top: -2px;\n right: -2px;\n z-index: 1;\n}\n\n.colorpicker-hue {\n @include bgHueVertical();\n}\n\n.colorpicker-alpha {\n @include bgCheckerBox();\n display: none;\n}\n\n.colorpicker-bar {\n min-height: $bar-size-short;\n margin: $base-margin 0 0 0;\n clear: both;\n text-align: center;\n font-size: 10px;\n line-height: normal;\n max-width: 100%;\n box-shadow: $box-shadow-outline;\n\n &:before {\n content: \"\";\n display: table;\n clear: both;\n }\n}\n\n.colorpicker-bar.colorpicker-bar-horizontal {\n height: $bar-size-large;\n width: $bar-size-short;\n margin: 0 0 $base-margin 0;\n float: left;\n}\n\n.colorpicker-input-addon {\n position: relative;\n}\n\n.colorpicker-input-addon i {\n display: inline-block;\n cursor: pointer;\n vertical-align: text-top;\n height: 16px;\n width: 16px;\n position: relative;\n}\n\n.colorpicker-input-addon:before {\n content: \"\";\n position: absolute;\n width: 16px;\n height: 16px;\n display: inline-block;\n vertical-align: text-top;\n @include bgCheckerBox();\n}\n\n.colorpicker.colorpicker-inline {\n position: relative;\n display: inline-block;\n float: none;\n z-index: auto;\n vertical-align: text-bottom;\n}\n\n.colorpicker.colorpicker-horizontal {\n width: $bar-size-large;\n height: auto;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-bar {\n width: $bar-size-large;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-saturation {\n float: none;\n margin-bottom: 0;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n float: none;\n width: $bar-size-large;\n height: $bar-size-short;\n cursor: col-resize;\n margin-left: 0;\n margin-top: $base-margin;\n margin-bottom: 0;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide {\n position: absolute;\n display: block;\n bottom: -2px;\n left: 0;\n right: auto;\n height: auto;\n width: 4px;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue {\n @include bgHueHorizontal();\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n @include bgCheckerBox();\n}\n\n.colorpicker-inline:before,\n.colorpicker-no-arrow:before,\n.colorpicker-popup.colorpicker-bs-popover-content:before {\n content: none;\n display: none;\n}\n\n.colorpicker-inline:after,\n.colorpicker-no-arrow:after,\n.colorpicker-popup.colorpicker-bs-popover-content:after {\n content: none;\n display: none;\n}\n\n\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue {\n user-select: none;\n}\n\n.colorpicker,\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue,\n.colorpicker-bar {\n &.colorpicker-visible {\n display: block;\n }\n}\n\n.colorpicker,\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue,\n.colorpicker-bar {\n &.colorpicker-hidden {\n display: none;\n }\n}\n\n.colorpicker-inline.colorpicker-visible {\n display: inline-block;\n}\n\n.colorpicker.colorpicker-disabled:after {\n border: none;\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n background: rgba(233, 236, 239, 0.33);\n top: 0;\n left: 0;\n right: auto;\n z-index: 2;\n position: absolute;\n}\n\n.colorpicker.colorpicker-disabled .colorpicker-guide {\n display: none;\n}\n\n/** EXTENSIONS **/\n\n.colorpicker-preview {\n @include bgCheckerBox();\n}\n\n.colorpicker-preview > div {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n\n.colorpicker-bar.colorpicker-swatches {\n box-shadow: none;\n height: auto;\n}\n\n.colorpicker-swatches--inner {\n clear: both;\n margin-top: -$base-margin;\n}\n\n.colorpicker-swatch {\n position: relative;\n cursor: pointer;\n float: left;\n height: $bar-size-short;\n width: $bar-size-short;\n margin-right: $base-margin;\n margin-top: $base-margin;\n margin-left: 0;\n display: block;\n box-shadow: $box-shadow-outline;\n @include bgCheckerBox();\n}\n\n.colorpicker-swatch--inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n// saturation + hue vertical (clear margin-right on nth column + 1)\n.colorpicker-swatch:nth-of-type(#{$columns + 1}n+0) {\n margin-right: 0;\n}\n\n// saturation + hue + alpha vertical (clear margin-right on nth column + 2)\n.colorpicker-with-alpha {\n .colorpicker-swatch:nth-of-type(#{$columns + 1}n+0) {\n margin-right: $base-margin;\n }\n\n .colorpicker-swatch:nth-of-type(#{$columns + 2}n+0) {\n margin-right: 0;\n }\n}\n\n// horizontal mode (clear margin-right on nth column)\n.colorpicker-horizontal {\n .colorpicker-swatch:nth-of-type(#{$columns}n+0) {\n margin-right: 0;\n }\n\n .colorpicker-swatch:nth-of-type(#{$columns + 1}n+0) {\n margin-right: $base-margin;\n }\n\n .colorpicker-swatch:nth-of-type(#{$columns + 2}n+0) {\n margin-right: $base-margin;\n }\n}\n\n.colorpicker-swatch:last-of-type:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n// RTL writing mode support\n*[dir='rtl'] .colorpicker-element input,\n.colorpicker-element[dir='rtl'] input,\n.colorpicker-element input[dir='rtl'] {\n direction: ltr;\n text-align: right;\n}\n"]} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css deleted file mode 100644 index cec98ad..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4. - * @package bootstrap-colorpicker - * @version v3.4.0 - * @license MIT - * @link https://itsjavi.com/bootstrap-colorpicker/ - * @link https://github.com/itsjavi/bootstrap-colorpicker.git - */ -.colorpicker{position:relative;display:none;font-size:inherit;color:inherit;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);padding:.75rem .75rem;width:148px;border-radius:4px;-webkit-box-sizing:content-box;box-sizing:content-box}.colorpicker.colorpicker-disabled,.colorpicker.colorpicker-disabled *{cursor:default!important}.colorpicker div{position:relative}.colorpicker-popup{position:absolute;top:100%;left:0;float:left;margin-top:1px;z-index:1060}.colorpicker-popup.colorpicker-bs-popover-content{position:relative;top:auto;left:auto;float:none;margin:0;z-index:initial;border:none;padding:.25rem 0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.colorpicker:after,.colorpicker:before{content:"";display:table;clear:both;line-height:0}.colorpicker-clear{clear:both;display:block}.colorpicker:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:auto;right:6px}.colorpicker:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:auto;right:7px}.colorpicker.colorpicker-with-alpha{width:170px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-saturation{position:relative;width:126px;height:126px;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(black)),-webkit-gradient(linear,left top,right top,from(white),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,transparent 0,#000 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);cursor:crosshair;float:left;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);margin-bottom:6px}.colorpicker-saturation .colorpicker-guide{display:block;height:6px;width:6px;border-radius:6px;border:1px solid #000;-webkit-box-shadow:0 0 0 1px rgba(255,255,255,.8);box-shadow:0 0 0 1px rgba(255,255,255,.8);position:absolute;top:0;left:0;margin:-3px 0 0 -3px}.colorpicker-alpha,.colorpicker-hue{position:relative;width:16px;height:126px;float:left;cursor:row-resize;margin-left:6px;margin-bottom:6px}.colorpicker-alpha-color{position:absolute;top:0;left:0;width:100%;height:100%}.colorpicker-alpha-color,.colorpicker-hue{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.colorpicker-alpha .colorpicker-guide,.colorpicker-hue .colorpicker-guide{display:block;height:4px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.4);position:absolute;top:0;left:0;margin-left:-2px;margin-top:-2px;right:-2px;z-index:1}.colorpicker-hue{background:-webkit-gradient(linear,left bottom,left top,from(red),color-stop(8%,#ff8000),color-stop(17%,#ff0),color-stop(25%,#80ff00),color-stop(33%,#0f0),color-stop(42%,#00ff80),color-stop(50%,#0ff),color-stop(58%,#0080ff),color-stop(67%,#00f),color-stop(75%,#8000ff),color-stop(83%,#ff00ff),color-stop(92%,#ff0080),to(red));background:linear-gradient(to top,red 0,#ff8000 8%,#ff0 17%,#80ff00 25%,#0f0 33%,#00ff80 42%,#0ff 50%,#0080ff 58%,#00f 67%,#8000ff 75%,#ff00ff 83%,#ff0080 92%,red 100%)}.colorpicker-alpha{background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px;display:none}.colorpicker-bar{min-height:16px;margin:6px 0 0 0;clear:both;text-align:center;font-size:10px;line-height:normal;max-width:100%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.colorpicker-bar:before{content:"";display:table;clear:both}.colorpicker-bar.colorpicker-bar-horizontal{height:126px;width:16px;margin:0 0 6px 0;float:left}.colorpicker-input-addon{position:relative}.colorpicker-input-addon i{display:inline-block;cursor:pointer;vertical-align:text-top;height:16px;width:16px;position:relative}.colorpicker-input-addon:before{content:"";position:absolute;width:16px;height:16px;display:inline-block;vertical-align:text-top;background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none;z-index:auto;vertical-align:text-bottom}.colorpicker.colorpicker-horizontal{width:126px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-bar{width:126px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{float:none;margin-bottom:0}.colorpicker.colorpicker-horizontal .colorpicker-alpha,.colorpicker.colorpicker-horizontal .colorpicker-hue{float:none;width:126px;height:16px;cursor:col-resize;margin-left:0;margin-top:6px;margin-bottom:0}.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide,.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide{position:absolute;display:block;bottom:-2px;left:0;right:auto;height:auto;width:4px}.colorpicker.colorpicker-horizontal .colorpicker-hue{background:-webkit-gradient(linear,right top,left top,from(red),color-stop(8%,#ff8000),color-stop(17%,#ff0),color-stop(25%,#80ff00),color-stop(33%,#0f0),color-stop(42%,#00ff80),color-stop(50%,#0ff),color-stop(58%,#0080ff),color-stop(67%,#00f),color-stop(75%,#8000ff),color-stop(83%,#ff00ff),color-stop(92%,#ff0080),to(red));background:linear-gradient(to left,red 0,#ff8000 8%,#ff0 17%,#80ff00 25%,#0f0 33%,#00ff80 42%,#0ff 50%,#0080ff 58%,#00f 67%,#8000ff 75%,#ff00ff 83%,#ff0080 92%,red 100%)}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px}.colorpicker-inline:before,.colorpicker-no-arrow:before,.colorpicker-popup.colorpicker-bs-popover-content:before{content:none;display:none}.colorpicker-inline:after,.colorpicker-no-arrow:after,.colorpicker-popup.colorpicker-bs-popover-content:after{content:none;display:none}.colorpicker-alpha,.colorpicker-hue,.colorpicker-saturation{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.colorpicker-alpha.colorpicker-visible,.colorpicker-bar.colorpicker-visible,.colorpicker-hue.colorpicker-visible,.colorpicker-saturation.colorpicker-visible,.colorpicker.colorpicker-visible{display:block}.colorpicker-alpha.colorpicker-hidden,.colorpicker-bar.colorpicker-hidden,.colorpicker-hue.colorpicker-hidden,.colorpicker-saturation.colorpicker-hidden,.colorpicker.colorpicker-hidden{display:none}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker.colorpicker-disabled:after{border:none;content:'';display:block;width:100%;height:100%;background:rgba(233,236,239,.33);top:0;left:0;right:auto;z-index:2;position:absolute}.colorpicker.colorpicker-disabled .colorpicker-guide{display:none}.colorpicker-preview{background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px}.colorpicker-preview>div{position:absolute;left:0;top:0;width:100%;height:100%}.colorpicker-bar.colorpicker-swatches{-webkit-box-shadow:none;box-shadow:none;height:auto}.colorpicker-swatches--inner{clear:both;margin-top:-6px}.colorpicker-swatch{position:relative;cursor:pointer;float:left;height:16px;width:16px;margin-right:6px;margin-top:6px;margin-left:0;display:block;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px}.colorpicker-swatch--inner{position:absolute;top:0;left:0;width:100%;height:100%}.colorpicker-swatch:nth-of-type(7n+0){margin-right:0}.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0){margin-right:6px}.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0){margin-right:0}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0){margin-right:0}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0){margin-right:6px}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0){margin-right:6px}.colorpicker-swatch:last-of-type:after{content:"";display:table;clear:both}.colorpicker-element input[dir=rtl],.colorpicker-element[dir=rtl] input,[dir=rtl] .colorpicker-element input{direction:ltr;text-align:right} -/*# sourceMappingURL=bootstrap-colorpicker.min.css.map */ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css.map b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css.map deleted file mode 100644 index e00c6cc..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/css/bootstrap-colorpicker.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["bootstrap-colorpicker.css","bootstrap-colorpicker.css"],"names":[],"mappings":"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","file":"bootstrap-colorpicker.min.css","sourcesContent":[".colorpicker {\n position: relative;\n display: none;\n font-size: inherit;\n color: inherit;\n text-align: left;\n list-style: none;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n padding: .75rem .75rem;\n width: 148px;\n border-radius: 4px;\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n\n.colorpicker.colorpicker-disabled,\n.colorpicker.colorpicker-disabled * {\n cursor: default !important; }\n\n.colorpicker div {\n position: relative; }\n\n.colorpicker-popup {\n position: absolute;\n top: 100%;\n left: 0;\n float: left;\n margin-top: 1px;\n z-index: 1060; }\n\n.colorpicker-popup.colorpicker-bs-popover-content {\n position: relative;\n top: auto;\n left: auto;\n float: none;\n margin: 0;\n z-index: initial;\n border: none;\n padding: 0.25rem 0;\n border-radius: 0;\n background: none;\n -webkit-box-shadow: none;\n box-shadow: none; }\n\n.colorpicker:before,\n.colorpicker:after {\n content: \"\";\n display: table;\n clear: both;\n line-height: 0; }\n\n.colorpicker-clear {\n clear: both;\n display: block; }\n\n.colorpicker:before {\n content: '';\n display: inline-block;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid #ccc;\n border-bottom-color: rgba(0, 0, 0, 0.2);\n position: absolute;\n top: -7px;\n left: auto;\n right: 6px; }\n\n.colorpicker:after {\n content: '';\n display: inline-block;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ffffff;\n position: absolute;\n top: -6px;\n left: auto;\n right: 7px; }\n\n.colorpicker.colorpicker-with-alpha {\n width: 170px; }\n\n.colorpicker.colorpicker-with-alpha .colorpicker-alpha {\n display: block; }\n\n.colorpicker-saturation {\n position: relative;\n width: 126px;\n height: 126px;\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black)), -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0)));\n background: linear-gradient(to bottom, transparent 0%, black 100%), linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);\n /* W3C */\n cursor: crosshair;\n float: left;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n margin-bottom: 6px; }\n .colorpicker-saturation .colorpicker-guide {\n display: block;\n height: 6px;\n width: 6px;\n border-radius: 6px;\n border: 1px solid #000;\n -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);\n box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);\n position: absolute;\n top: 0;\n left: 0;\n margin: -3px 0 0 -3px; }\n\n.colorpicker-hue,\n.colorpicker-alpha {\n position: relative;\n width: 16px;\n height: 126px;\n float: left;\n cursor: row-resize;\n margin-left: 6px;\n margin-bottom: 6px; }\n\n.colorpicker-alpha-color {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-hue,\n.colorpicker-alpha-color {\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }\n\n.colorpicker-hue .colorpicker-guide,\n.colorpicker-alpha .colorpicker-guide {\n display: block;\n height: 4px;\n background: rgba(255, 255, 255, 0.8);\n border: 1px solid rgba(0, 0, 0, 0.4);\n position: absolute;\n top: 0;\n left: 0;\n margin-left: -2px;\n margin-top: -2px;\n right: -2px;\n z-index: 1; }\n\n.colorpicker-hue {\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, left bottom, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));\n background: linear-gradient(to top, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);\n /* W3C */ }\n\n.colorpicker-alpha {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px;\n display: none; }\n\n.colorpicker-bar {\n min-height: 16px;\n margin: 6px 0 0 0;\n clear: both;\n text-align: center;\n font-size: 10px;\n line-height: normal;\n max-width: 100%;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }\n .colorpicker-bar:before {\n content: \"\";\n display: table;\n clear: both; }\n\n.colorpicker-bar.colorpicker-bar-horizontal {\n height: 126px;\n width: 16px;\n margin: 0 0 6px 0;\n float: left; }\n\n.colorpicker-input-addon {\n position: relative; }\n\n.colorpicker-input-addon i {\n display: inline-block;\n cursor: pointer;\n vertical-align: text-top;\n height: 16px;\n width: 16px;\n position: relative; }\n\n.colorpicker-input-addon:before {\n content: \"\";\n position: absolute;\n width: 16px;\n height: 16px;\n display: inline-block;\n vertical-align: text-top;\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker.colorpicker-inline {\n position: relative;\n display: inline-block;\n float: none;\n z-index: auto;\n vertical-align: text-bottom; }\n\n.colorpicker.colorpicker-horizontal {\n width: 126px;\n height: auto; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-bar {\n width: 126px; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-saturation {\n float: none;\n margin-bottom: 0; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n float: none;\n width: 126px;\n height: 16px;\n cursor: col-resize;\n margin-left: 0;\n margin-top: 6px;\n margin-bottom: 0; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide {\n position: absolute;\n display: block;\n bottom: -2px;\n left: 0;\n right: auto;\n height: auto;\n width: 4px; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue {\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, right top, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));\n background: linear-gradient(to left, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);\n /* W3C */ }\n\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-inline:before,\n.colorpicker-no-arrow:before,\n.colorpicker-popup.colorpicker-bs-popover-content:before {\n content: none;\n display: none; }\n\n.colorpicker-inline:after,\n.colorpicker-no-arrow:after,\n.colorpicker-popup.colorpicker-bs-popover-content:after {\n content: none;\n display: none; }\n\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n\n.colorpicker.colorpicker-visible,\n.colorpicker-alpha.colorpicker-visible,\n.colorpicker-saturation.colorpicker-visible,\n.colorpicker-hue.colorpicker-visible,\n.colorpicker-bar.colorpicker-visible {\n display: block; }\n\n.colorpicker.colorpicker-hidden,\n.colorpicker-alpha.colorpicker-hidden,\n.colorpicker-saturation.colorpicker-hidden,\n.colorpicker-hue.colorpicker-hidden,\n.colorpicker-bar.colorpicker-hidden {\n display: none; }\n\n.colorpicker-inline.colorpicker-visible {\n display: inline-block; }\n\n.colorpicker.colorpicker-disabled:after {\n border: none;\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n background: rgba(233, 236, 239, 0.33);\n top: 0;\n left: 0;\n right: auto;\n z-index: 2;\n position: absolute; }\n\n.colorpicker.colorpicker-disabled .colorpicker-guide {\n display: none; }\n\n/** EXTENSIONS **/\n.colorpicker-preview {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-preview > div {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-bar.colorpicker-swatches {\n -webkit-box-shadow: none;\n box-shadow: none;\n height: auto; }\n\n.colorpicker-swatches--inner {\n clear: both;\n margin-top: -6px; }\n\n.colorpicker-swatch {\n position: relative;\n cursor: pointer;\n float: left;\n height: 16px;\n width: 16px;\n margin-right: 6px;\n margin-top: 6px;\n margin-left: 0;\n display: block;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-swatch--inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 0; }\n\n.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 6px; }\n\n.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0) {\n margin-right: 0; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0) {\n margin-right: 0; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 6px; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0) {\n margin-right: 6px; }\n\n.colorpicker-swatch:last-of-type:after {\n content: \"\";\n display: table;\n clear: both; }\n\n*[dir='rtl'] .colorpicker-element input,\n.colorpicker-element[dir='rtl'] input,\n.colorpicker-element input[dir='rtl'] {\n direction: ltr;\n text-align: right; }\n\n/*# sourceMappingURL=bootstrap-colorpicker.css.map */\n",".colorpicker {\n position: relative;\n display: none;\n font-size: inherit;\n color: inherit;\n text-align: left;\n list-style: none;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n padding: .75rem .75rem;\n width: 148px;\n border-radius: 4px;\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n\n.colorpicker.colorpicker-disabled,\n.colorpicker.colorpicker-disabled * {\n cursor: default !important; }\n\n.colorpicker div {\n position: relative; }\n\n.colorpicker-popup {\n position: absolute;\n top: 100%;\n left: 0;\n float: left;\n margin-top: 1px;\n z-index: 1060; }\n\n.colorpicker-popup.colorpicker-bs-popover-content {\n position: relative;\n top: auto;\n left: auto;\n float: none;\n margin: 0;\n z-index: initial;\n border: none;\n padding: 0.25rem 0;\n border-radius: 0;\n background: none;\n -webkit-box-shadow: none;\n box-shadow: none; }\n\n.colorpicker:before,\n.colorpicker:after {\n content: \"\";\n display: table;\n clear: both;\n line-height: 0; }\n\n.colorpicker-clear {\n clear: both;\n display: block; }\n\n.colorpicker:before {\n content: '';\n display: inline-block;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid #ccc;\n border-bottom-color: rgba(0, 0, 0, 0.2);\n position: absolute;\n top: -7px;\n left: auto;\n right: 6px; }\n\n.colorpicker:after {\n content: '';\n display: inline-block;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ffffff;\n position: absolute;\n top: -6px;\n left: auto;\n right: 7px; }\n\n.colorpicker.colorpicker-with-alpha {\n width: 170px; }\n\n.colorpicker.colorpicker-with-alpha .colorpicker-alpha {\n display: block; }\n\n.colorpicker-saturation {\n position: relative;\n width: 126px;\n height: 126px;\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black)), -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0)));\n background: linear-gradient(to bottom, transparent 0%, black 100%), linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);\n /* W3C */\n cursor: crosshair;\n float: left;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n margin-bottom: 6px; }\n .colorpicker-saturation .colorpicker-guide {\n display: block;\n height: 6px;\n width: 6px;\n border-radius: 6px;\n border: 1px solid #000;\n -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);\n box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);\n position: absolute;\n top: 0;\n left: 0;\n margin: -3px 0 0 -3px; }\n\n.colorpicker-hue,\n.colorpicker-alpha {\n position: relative;\n width: 16px;\n height: 126px;\n float: left;\n cursor: row-resize;\n margin-left: 6px;\n margin-bottom: 6px; }\n\n.colorpicker-alpha-color {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-hue,\n.colorpicker-alpha-color {\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }\n\n.colorpicker-hue .colorpicker-guide,\n.colorpicker-alpha .colorpicker-guide {\n display: block;\n height: 4px;\n background: rgba(255, 255, 255, 0.8);\n border: 1px solid rgba(0, 0, 0, 0.4);\n position: absolute;\n top: 0;\n left: 0;\n margin-left: -2px;\n margin-top: -2px;\n right: -2px;\n z-index: 1; }\n\n.colorpicker-hue {\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, left bottom, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));\n background: linear-gradient(to top, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);\n /* W3C */ }\n\n.colorpicker-alpha {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px;\n display: none; }\n\n.colorpicker-bar {\n min-height: 16px;\n margin: 6px 0 0 0;\n clear: both;\n text-align: center;\n font-size: 10px;\n line-height: normal;\n max-width: 100%;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }\n .colorpicker-bar:before {\n content: \"\";\n display: table;\n clear: both; }\n\n.colorpicker-bar.colorpicker-bar-horizontal {\n height: 126px;\n width: 16px;\n margin: 0 0 6px 0;\n float: left; }\n\n.colorpicker-input-addon {\n position: relative; }\n\n.colorpicker-input-addon i {\n display: inline-block;\n cursor: pointer;\n vertical-align: text-top;\n height: 16px;\n width: 16px;\n position: relative; }\n\n.colorpicker-input-addon:before {\n content: \"\";\n position: absolute;\n width: 16px;\n height: 16px;\n display: inline-block;\n vertical-align: text-top;\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker.colorpicker-inline {\n position: relative;\n display: inline-block;\n float: none;\n z-index: auto;\n vertical-align: text-bottom; }\n\n.colorpicker.colorpicker-horizontal {\n width: 126px;\n height: auto; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-bar {\n width: 126px; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-saturation {\n float: none;\n margin-bottom: 0; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n float: none;\n width: 126px;\n height: 16px;\n cursor: col-resize;\n margin-left: 0;\n margin-top: 6px;\n margin-bottom: 0; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue .colorpicker-guide,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha .colorpicker-guide {\n position: absolute;\n display: block;\n bottom: -2px;\n left: 0;\n right: auto;\n height: auto;\n width: 4px; }\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue {\n /* FF3.6+ */\n /* Chrome,Safari4+ */\n /* Chrome10+,Safari5.1+ */\n /* Opera 11.10+ */\n /* IE10+ */\n background: -webkit-gradient(linear, right top, left top, from(red), color-stop(8%, #ff8000), color-stop(17%, yellow), color-stop(25%, #80ff00), color-stop(33%, lime), color-stop(42%, #00ff80), color-stop(50%, cyan), color-stop(58%, #0080ff), color-stop(67%, blue), color-stop(75%, #8000ff), color-stop(83%, magenta), color-stop(92%, #ff0080), to(red));\n background: linear-gradient(to left, red 0%, #ff8000 8%, yellow 17%, #80ff00 25%, lime 33%, #00ff80 42%, cyan 50%, #0080ff 58%, blue 67%, #8000ff 75%, magenta 83%, #ff0080 92%, red 100%);\n /* W3C */ }\n\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-inline:before,\n.colorpicker-no-arrow:before,\n.colorpicker-popup.colorpicker-bs-popover-content:before {\n content: none;\n display: none; }\n\n.colorpicker-inline:after,\n.colorpicker-no-arrow:after,\n.colorpicker-popup.colorpicker-bs-popover-content:after {\n content: none;\n display: none; }\n\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n\n.colorpicker.colorpicker-visible,\n.colorpicker-alpha.colorpicker-visible,\n.colorpicker-saturation.colorpicker-visible,\n.colorpicker-hue.colorpicker-visible,\n.colorpicker-bar.colorpicker-visible {\n display: block; }\n\n.colorpicker.colorpicker-hidden,\n.colorpicker-alpha.colorpicker-hidden,\n.colorpicker-saturation.colorpicker-hidden,\n.colorpicker-hue.colorpicker-hidden,\n.colorpicker-bar.colorpicker-hidden {\n display: none; }\n\n.colorpicker-inline.colorpicker-visible {\n display: inline-block; }\n\n.colorpicker.colorpicker-disabled:after {\n border: none;\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n background: rgba(233, 236, 239, 0.33);\n top: 0;\n left: 0;\n right: auto;\n z-index: 2;\n position: absolute; }\n\n.colorpicker.colorpicker-disabled .colorpicker-guide {\n display: none; }\n\n/** EXTENSIONS **/\n.colorpicker-preview {\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-preview > div {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-bar.colorpicker-swatches {\n -webkit-box-shadow: none;\n box-shadow: none;\n height: auto; }\n\n.colorpicker-swatches--inner {\n clear: both;\n margin-top: -6px; }\n\n.colorpicker-swatch {\n position: relative;\n cursor: pointer;\n float: left;\n height: 16px;\n width: 16px;\n margin-right: 6px;\n margin-top: 6px;\n margin-left: 0;\n display: block;\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n background: linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), linear-gradient(45deg, rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1) 0), white;\n background-size: 10px 10px;\n background-position: 0 0, 5px 5px; }\n\n.colorpicker-swatch--inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 0; }\n\n.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 6px; }\n\n.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0) {\n margin-right: 0; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0) {\n margin-right: 0; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0) {\n margin-right: 6px; }\n\n.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0) {\n margin-right: 6px; }\n\n.colorpicker-swatch:last-of-type:after {\n content: \"\";\n display: table;\n clear: both; }\n\n*[dir='rtl'] .colorpicker-element input,\n.colorpicker-element[dir='rtl'] input,\n.colorpicker-element input[dir='rtl'] {\n direction: ltr;\n text-align: right; }\n\n/*# sourceMappingURL=bootstrap-colorpicker.css.map */\n"]} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js deleted file mode 100644 index 73b5cc7..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js +++ /dev/null @@ -1,6284 +0,0 @@ -/*! - * Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4. - * @package bootstrap-colorpicker - * @version v3.4.0 - * @license MIT - * @link https://itsjavi.com/bootstrap-colorpicker/ - * @link https://github.com/itsjavi/bootstrap-colorpicker.git - */ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("jquery")); - else if(typeof define === 'function' && define.amd) - define("bootstrap-colorpicker", ["jquery"], factory); - else if(typeof exports === 'object') - exports["bootstrap-colorpicker"] = factory(require("jquery")); - else - root["bootstrap-colorpicker"] = factory(root["jQuery"]); -})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 7); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__0__; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Colorpicker extension class. - */ -var Extension = function () { - /** - * @param {Colorpicker} colorpicker - * @param {Object} options - */ - function Extension(colorpicker) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Extension); - - /** - * The colorpicker instance - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * Extension options - * - * @type {Object} - */ - this.options = options; - - if (!(this.colorpicker.element && this.colorpicker.element.length)) { - throw new Error('Extension: this.colorpicker.element is not valid'); - } - - this.colorpicker.element.on('colorpickerCreate.colorpicker-ext', _jquery2.default.proxy(this.onCreate, this)); - this.colorpicker.element.on('colorpickerDestroy.colorpicker-ext', _jquery2.default.proxy(this.onDestroy, this)); - this.colorpicker.element.on('colorpickerUpdate.colorpicker-ext', _jquery2.default.proxy(this.onUpdate, this)); - this.colorpicker.element.on('colorpickerChange.colorpicker-ext', _jquery2.default.proxy(this.onChange, this)); - this.colorpicker.element.on('colorpickerInvalid.colorpicker-ext', _jquery2.default.proxy(this.onInvalid, this)); - this.colorpicker.element.on('colorpickerShow.colorpicker-ext', _jquery2.default.proxy(this.onShow, this)); - this.colorpicker.element.on('colorpickerHide.colorpicker-ext', _jquery2.default.proxy(this.onHide, this)); - this.colorpicker.element.on('colorpickerEnable.colorpicker-ext', _jquery2.default.proxy(this.onEnable, this)); - this.colorpicker.element.on('colorpickerDisable.colorpicker-ext', _jquery2.default.proxy(this.onDisable, this)); - } - - /** - * Function called every time a new color needs to be created. - * Return false to skip this resolver and continue with other extensions' ones - * or return anything else to consider the color resolved. - * - * @param {ColorItem|String|*} color - * @param {boolean} realColor if true, the color should resolve into a real (not named) color code - * @return {ColorItem|String|*} - */ - - - _createClass(Extension, [{ - key: 'resolveColor', - value: function resolveColor(color) { - var realColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - - return false; - } - - /** - * Method called after the colorpicker is created - * - * @listens Colorpicker#colorpickerCreate - * @param {Event} event - */ - - }, { - key: 'onCreate', - value: function onCreate(event) {} - // to be extended - - - /** - * Method called after the colorpicker is destroyed - * - * @listens Colorpicker#colorpickerDestroy - * @param {Event} event - */ - - }, { - key: 'onDestroy', - value: function onDestroy(event) { - this.colorpicker.element.off('.colorpicker-ext'); - } - - /** - * Method called after the colorpicker is updated - * - * @listens Colorpicker#colorpickerUpdate - * @param {Event} event - */ - - }, { - key: 'onUpdate', - value: function onUpdate(event) {} - // to be extended - - - /** - * Method called after the colorpicker color is changed - * - * @listens Colorpicker#colorpickerChange - * @param {Event} event - */ - - }, { - key: 'onChange', - value: function onChange(event) {} - // to be extended - - - /** - * Method called when the colorpicker color is invalid - * - * @listens Colorpicker#colorpickerInvalid - * @param {Event} event - */ - - }, { - key: 'onInvalid', - value: function onInvalid(event) {} - // to be extended - - - /** - * Method called after the colorpicker is hidden - * - * @listens Colorpicker#colorpickerHide - * @param {Event} event - */ - - }, { - key: 'onHide', - value: function onHide(event) {} - // to be extended - - - /** - * Method called after the colorpicker is shown - * - * @listens Colorpicker#colorpickerShow - * @param {Event} event - */ - - }, { - key: 'onShow', - value: function onShow(event) {} - // to be extended - - - /** - * Method called after the colorpicker is disabled - * - * @listens Colorpicker#colorpickerDisable - * @param {Event} event - */ - - }, { - key: 'onDisable', - value: function onDisable(event) {} - // to be extended - - - /** - * Method called after the colorpicker is enabled - * - * @listens Colorpicker#colorpickerEnable - * @param {Event} event - */ - - }, { - key: 'onEnable', - value: function onEnable(event) { - // to be extended - } - }]); - - return Extension; -}(); - -exports.default = Extension; -module.exports = exports.default; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ColorItem = exports.HSVAColor = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /** - * Color manipulation class, specific for Bootstrap Colorpicker - */ - - -var _color = __webpack_require__(16); - -var _color2 = _interopRequireDefault(_color); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * HSVA color data class, containing the hue, saturation, value and alpha - * information. - */ -var HSVAColor = function () { - /** - * @param {number|int} h - * @param {number|int} s - * @param {number|int} v - * @param {number|int} a - */ - function HSVAColor(h, s, v, a) { - _classCallCheck(this, HSVAColor); - - this.h = isNaN(h) ? 0 : h; - this.s = isNaN(s) ? 0 : s; - this.v = isNaN(v) ? 0 : v; - this.a = isNaN(h) ? 1 : a; - } - - _createClass(HSVAColor, [{ - key: 'toString', - value: function toString() { - return this.h + ', ' + this.s + '%, ' + this.v + '%, ' + this.a; - } - }]); - - return HSVAColor; -}(); - -/** - * HSVA color manipulation - */ - - -var ColorItem = function () { - _createClass(ColorItem, [{ - key: 'api', - - - /** - * Applies a method of the QixColor API and returns a new Color object or - * the return value of the method call. - * - * If no argument is provided, the internal QixColor object is returned. - * - * @param {String} fn QixColor function name - * @param args QixColor function arguments - * @example let darkerColor = color.api('darken', 0.25); - * @example let luminosity = color.api('luminosity'); - * @example color = color.api('negate'); - * @example let qColor = color.api().negate(); - * @returns {ColorItem|QixColor|*} - */ - value: function api(fn) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - if (arguments.length === 0) { - return this._color; - } - - var result = this._color[fn].apply(this._color, args); - - if (!(result instanceof _color2.default)) { - // return result of the method call - return result; - } - - return new ColorItem(result, this.format); - } - - /** - * Returns the original ColorItem constructor data, - * plus a 'valid' flag to know if it's valid or not. - * - * @returns {{color: *, format: String, valid: boolean}} - */ - - }, { - key: 'original', - get: function get() { - return this._original; - } - - /** - * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data - * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'. - * @param {boolean} disableHexInputFallback Disable fixing hex3 format - */ - - }], [{ - key: 'HSVAColor', - - - /** - * Returns the HSVAColor class - * - * @static - * @example let colorData = new ColorItem.HSVAColor(360, 100, 100, 1); - * @returns {HSVAColor} - */ - get: function get() { - return HSVAColor; - } - }]); - - function ColorItem() { - var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var disableHexInputFallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - _classCallCheck(this, ColorItem); - - this.replace(color, format, disableHexInputFallback); - } - - /** - * Replaces the internal QixColor object with a new one. - * This also replaces the internal original color data. - * - * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data to be parsed (if needed) - * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'. - * @param {boolean} disableHexInputFallback Disable fixing hex3 format - * @example color.replace('rgb(255,0,0)', 'hsl'); - * @example color.replace(hsvaColorData); - */ - - - _createClass(ColorItem, [{ - key: 'replace', - value: function replace(color) { - var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var disableHexInputFallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - format = ColorItem.sanitizeFormat(format); - - /** - * @type {{color: *, format: String}} - * @private - */ - this._original = { - color: color, - format: format, - valid: true - }; - /** - * @type {QixColor} - * @private - */ - this._color = ColorItem.parse(color, disableHexInputFallback); - - if (this._color === null) { - this._color = (0, _color2.default)(); - this._original.valid = false; - return; - } - - /** - * @type {*|string} - * @private - */ - this._format = format ? format : ColorItem.isHex(color) ? 'hex' : this._color.model; - } - - /** - * Parses the color returning a Qix Color object or null if cannot be - * parsed. - * - * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data - * @param {boolean} disableHexInputFallback Disable fixing hex3 format - * @example let qColor = ColorItem.parse('rgb(255,0,0)'); - * @static - * @returns {QixColor|null} - */ - - }, { - key: 'isValid', - - - /** - * Returns true if the color is valid, false if not. - * - * @returns {boolean} - */ - value: function isValid() { - return this._original.valid === true; - } - - /** - * Hue value from 0 to 360 - * - * @returns {int} - */ - - }, { - key: 'setHueRatio', - - - /** - * Sets the hue ratio, where 1.0 is 0, 0.5 is 180 and 0.0 is 360. - * - * @ignore - * @param {number} h Ratio from 1.0 to 0.0 - */ - value: function setHueRatio(h) { - this.hue = (1 - h) * 360; - } - - /** - * Sets the saturation value - * - * @param {int} value Integer from 0 to 100 - */ - - }, { - key: 'setSaturationRatio', - - - /** - * Sets the saturation ratio, where 1.0 is 100 and 0.0 is 0. - * - * @ignore - * @param {number} s Ratio from 0.0 to 1.0 - */ - value: function setSaturationRatio(s) { - this.saturation = s * 100; - } - - /** - * Sets the 'value' channel value - * - * @param {int} value Integer from 0 to 100 - */ - - }, { - key: 'setValueRatio', - - - /** - * Sets the value ratio, where 1.0 is 0 and 0.0 is 100. - * - * @ignore - * @param {number} v Ratio from 1.0 to 0.0 - */ - value: function setValueRatio(v) { - this.value = (1 - v) * 100; - } - - /** - * Sets the alpha value. It will be rounded to 2 decimals. - * - * @param {int} value Float from 0.0 to 1.0 - */ - - }, { - key: 'setAlphaRatio', - - - /** - * Sets the alpha ratio, where 1.0 is 0.0 and 0.0 is 1.0. - * - * @ignore - * @param {number} a Ratio from 1.0 to 0.0 - */ - value: function setAlphaRatio(a) { - this.alpha = 1 - a; - } - - /** - * Sets the default color format - * - * @param {String} value Supported: 'rgb', 'hsl', 'hex' - */ - - }, { - key: 'isDesaturated', - - - /** - * Returns true if the saturation value is zero, false otherwise - * - * @returns {boolean} - */ - value: function isDesaturated() { - return this.saturation === 0; - } - - /** - * Returns true if the alpha value is zero, false otherwise - * - * @returns {boolean} - */ - - }, { - key: 'isTransparent', - value: function isTransparent() { - return this.alpha === 0; - } - - /** - * Returns true if the alpha value is numeric and less than 1, false otherwise - * - * @returns {boolean} - */ - - }, { - key: 'hasTransparency', - value: function hasTransparency() { - return this.hasAlpha() && this.alpha < 1; - } - - /** - * Returns true if the alpha value is numeric, false otherwise - * - * @returns {boolean} - */ - - }, { - key: 'hasAlpha', - value: function hasAlpha() { - return !isNaN(this.alpha); - } - - /** - * Returns a new HSVAColor object, based on the current color - * - * @returns {HSVAColor} - */ - - }, { - key: 'toObject', - value: function toObject() { - return new HSVAColor(this.hue, this.saturation, this.value, this.alpha); - } - - /** - * Alias of toObject() - * - * @returns {HSVAColor} - */ - - }, { - key: 'toHsva', - value: function toHsva() { - return this.toObject(); - } - - /** - * Returns a new HSVAColor object with the ratio values (from 0.0 to 1.0), - * based on the current color. - * - * @ignore - * @returns {HSVAColor} - */ - - }, { - key: 'toHsvaRatio', - value: function toHsvaRatio() { - return new HSVAColor(this.hue / 360, this.saturation / 100, this.value / 100, this.alpha); - } - - /** - * Converts the current color to its string representation, - * using the internal format of this instance. - * - * @returns {String} - */ - - }, { - key: 'toString', - value: function toString() { - return this.string(); - } - - /** - * Converts the current color to its string representation, - * using the given format. - * - * @param {String|null} format Format to convert to. If empty or null, the internal format will be used. - * @returns {String} - */ - - }, { - key: 'string', - value: function string() { - var format = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - - format = ColorItem.sanitizeFormat(format ? format : this.format); - - if (!format) { - return this._color.round().string(); - } - - if (this._color[format] === undefined) { - throw new Error('Unsupported color format: \'' + format + '\''); - } - - var str = this._color[format](); - - return str.round ? str.round().string() : str; - } - - /** - * Returns true if the given color values equals this one, false otherwise. - * The format is not compared. - * If any of the colors is invalid, the result will be false. - * - * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data - * - * @returns {boolean} - */ - - }, { - key: 'equals', - value: function equals(color) { - color = color instanceof ColorItem ? color : new ColorItem(color); - - if (!color.isValid() || !this.isValid()) { - return false; - } - - return this.hue === color.hue && this.saturation === color.saturation && this.value === color.value && this.alpha === color.alpha; - } - - /** - * Creates a copy of this instance - * - * @returns {ColorItem} - */ - - }, { - key: 'getClone', - value: function getClone() { - return new ColorItem(this._color, this.format); - } - - /** - * Creates a copy of this instance, only copying the hue value, - * and setting the others to its max value. - * - * @returns {ColorItem} - */ - - }, { - key: 'getCloneHueOnly', - value: function getCloneHueOnly() { - return new ColorItem([this.hue, 100, 100, 1], this.format); - } - - /** - * Creates a copy of this instance setting the alpha to the max. - * - * @returns {ColorItem} - */ - - }, { - key: 'getCloneOpaque', - value: function getCloneOpaque() { - return new ColorItem(this._color.alpha(1), this.format); - } - - /** - * Converts the color to a RGB string - * - * @returns {String} - */ - - }, { - key: 'toRgbString', - value: function toRgbString() { - return this.string('rgb'); - } - - /** - * Converts the color to a Hexadecimal string - * - * @returns {String} - */ - - }, { - key: 'toHexString', - value: function toHexString() { - return this.string('hex'); - } - - /** - * Converts the color to a HSL string - * - * @returns {String} - */ - - }, { - key: 'toHslString', - value: function toHslString() { - return this.string('hsl'); - } - - /** - * Returns true if the color is dark, false otherwhise. - * This is useful to decide a text color. - * - * @returns {boolean} - */ - - }, { - key: 'isDark', - value: function isDark() { - return this._color.isDark(); - } - - /** - * Returns true if the color is light, false otherwhise. - * This is useful to decide a text color. - * - * @returns {boolean} - */ - - }, { - key: 'isLight', - value: function isLight() { - return this._color.isLight(); - } - - /** - * Generates a list of colors using the given hue-based formula or the given array of hue values. - * Hue formulas can be extended using ColorItem.colorFormulas static property. - * - * @param {String|Number[]} formula Examples: 'complementary', 'triad', 'tetrad', 'splitcomplement', [180, 270] - * @example let colors = color.generate('triad'); - * @example let colors = color.generate([45, 80, 112, 200]); - * @returns {ColorItem[]} - */ - - }, { - key: 'generate', - value: function generate(formula) { - var hues = []; - - if (Array.isArray(formula)) { - hues = formula; - } else if (!ColorItem.colorFormulas.hasOwnProperty(formula)) { - throw new Error('No color formula found with the name \'' + formula + '\'.'); - } else { - hues = ColorItem.colorFormulas[formula]; - } - - var colors = [], - mainColor = this._color, - format = this.format; - - hues.forEach(function (hue) { - var levels = [hue ? (mainColor.hue() + hue) % 360 : mainColor.hue(), mainColor.saturationv(), mainColor.value(), mainColor.alpha()]; - - colors.push(new ColorItem(levels, format)); - }); - - return colors; - } - }, { - key: 'hue', - get: function get() { - return this._color.hue(); - } - - /** - * Saturation value from 0 to 100 - * - * @returns {int} - */ - , - - - /** - * Sets the hue value - * - * @param {int} value Integer from 0 to 360 - */ - set: function set(value) { - this._color = this._color.hue(value); - } - }, { - key: 'saturation', - get: function get() { - return this._color.saturationv(); - } - - /** - * Value channel value from 0 to 100 - * - * @returns {int} - */ - , - set: function set(value) { - this._color = this._color.saturationv(value); - } - }, { - key: 'value', - get: function get() { - return this._color.value(); - } - - /** - * Alpha value from 0.0 to 1.0 - * - * @returns {number} - */ - , - set: function set(value) { - this._color = this._color.value(value); - } - }, { - key: 'alpha', - get: function get() { - var a = this._color.alpha(); - - return isNaN(a) ? 1 : a; - } - - /** - * Default color format to convert to when calling toString() or string() - * - * @returns {String} 'rgb', 'hsl', 'hex' or '' - */ - , - set: function set(value) { - // 2 decimals max - this._color = this._color.alpha(Math.round(value * 100) / 100); - } - }, { - key: 'format', - get: function get() { - return this._format ? this._format : this._color.model; - }, - set: function set(value) { - this._format = ColorItem.sanitizeFormat(value); - } - }], [{ - key: 'parse', - value: function parse(color) { - var disableHexInputFallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - if (color instanceof _color2.default) { - return color; - } - - if (color instanceof ColorItem) { - return color._color; - } - - var format = null; - - if (color instanceof HSVAColor) { - color = [color.h, color.s, color.v, isNaN(color.a) ? 1 : color.a]; - } else { - color = ColorItem.sanitizeString(color); - } - - if (color === null) { - return null; - } - - if (Array.isArray(color)) { - format = 'hsv'; - } - - if (ColorItem.isHex(color) && color.length !== 6 && color.length !== 7 && disableHexInputFallback) { - return null; - } - - try { - return (0, _color2.default)(color, format); - } catch (e) { - return null; - } - } - - /** - * Sanitizes a color string, adding missing hash to hexadecimal colors - * and converting 'transparent' to a color code. - * - * @param {String|*} str Color string - * @example let colorStr = ColorItem.sanitizeString('ffaa00'); - * @static - * @returns {String|*} - */ - - }, { - key: 'sanitizeString', - value: function sanitizeString(str) { - if (!(typeof str === 'string' || str instanceof String)) { - return str; - } - - if (str.match(/^[0-9a-f]{2,}$/i)) { - return '#' + str; - } - - if (str.toLowerCase() === 'transparent') { - return '#FFFFFF00'; - } - - return str; - } - - /** - * Detects if a value is a string and a color in hexadecimal format (in any variant). - * - * @param {String} str - * @example ColorItem.isHex('rgba(0,0,0)'); // false - * @example ColorItem.isHex('ffaa00'); // true - * @example ColorItem.isHex('#ffaa00'); // true - * @static - * @returns {boolean} - */ - - }, { - key: 'isHex', - value: function isHex(str) { - if (!(typeof str === 'string' || str instanceof String)) { - return false; - } - - return !!str.match(/^#?[0-9a-f]{2,}$/i); - } - - /** - * Sanitizes a color format to one supported by web browsers. - * Returns an empty string of the format can't be recognised. - * - * @param {String|*} format - * @example ColorItem.sanitizeFormat('rgba'); // 'rgb' - * @example ColorItem.isHex('hex8'); // 'hex' - * @example ColorItem.isHex('invalid'); // '' - * @static - * @returns {String} 'rgb', 'hsl', 'hex' or ''. - */ - - }, { - key: 'sanitizeFormat', - value: function sanitizeFormat(format) { - switch (format) { - case 'hex': - case 'hex3': - case 'hex4': - case 'hex6': - case 'hex8': - return 'hex'; - case 'rgb': - case 'rgba': - case 'keyword': - case 'name': - return 'rgb'; - case 'hsl': - case 'hsla': - case 'hsv': - case 'hsva': - case 'hwb': // HWB this is supported by Qix Color, but not by browsers - case 'hwba': - return 'hsl'; - default: - return ''; - } - } - }]); - - return ColorItem; -}(); - -/** - * List of hue-based color formulas used by ColorItem.prototype.generate() - * - * @static - * @type {{complementary: number[], triad: number[], tetrad: number[], splitcomplement: number[]}} - */ - - -ColorItem.colorFormulas = { - complementary: [180], - triad: [0, 120, 240], - tetrad: [0, 90, 180, 270], - splitcomplement: [0, 72, 216] -}; - -exports.default = ColorItem; -exports.HSVAColor = HSVAColor; -exports.ColorItem = ColorItem; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -/** - * @module - */ - -// adjust these values accordingly to the sass vars - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var sassVars = { - 'bar_size_short': 16, - 'base_margin': 6, - 'columns': 6 -}; - -var sliderSize = sassVars.bar_size_short * sassVars.columns + sassVars.base_margin * (sassVars.columns - 1); - -/** - * Colorpicker default options - */ -exports.default = { - /** - * Custom class to be added to the `.colorpicker-element` element - * - * @type {String|null} - * @default null - */ - customClass: null, - /** - * Sets a initial color, ignoring the one from the element/input value or the data-color attribute. - * - * @type {(String|ColorItem|boolean)} - * @default false - */ - color: false, - /** - * Fallback color to use when the given color is invalid. - * If false, the latest valid color will be used as a fallback. - * - * @type {String|ColorItem|boolean} - * @default false - */ - fallbackColor: false, - /** - * Forces an specific color format. If 'auto', it will be automatically detected the first time only, - * but if null it will be always recalculated. - * - * Note that the ending 'a' of the format meaning "alpha" has currently no effect, meaning that rgb is the same as - * rgba excepting if the alpha channel is disabled (see useAlpha). - * - * @type {('rgb'|'hex'|'hsl'|'auto'|null)} - * @default 'auto' - */ - format: 'auto', - /** - * Horizontal mode layout. - * - * If true, the hue and alpha channel bars will be rendered horizontally, above the saturation selector. - * - * @type {boolean} - * @default false - */ - horizontal: false, - /** - * Forces to show the colorpicker as an inline element. - * - * Note that if there is no container specified, the inline element - * will be added to the body, so you may want to set the container option. - * - * @type {boolean} - * @default false - */ - inline: false, - /** - * Container where the colorpicker is appended to in the DOM. - * - * If is a string (CSS selector), the colorpicker will be placed inside this container. - * If true, the `.colorpicker-element` element itself will be used as the container. - * If false, the document body is used as the container, unless it is a popover (in this case it is appended to the - * popover body instead). - * - * @type {String|boolean} - * @default false - */ - container: false, - /** - * Bootstrap Popover options. - * The trigger, content and html options are always ignored. - * - * @type {boolean} - * @default Object - */ - popover: { - animation: true, - placement: 'bottom', - fallbackPlacement: 'flip' - }, - /** - * If true, loads the 'debugger' extension automatically, which logs the events in the console - * @type {boolean} - * @default false - */ - debug: false, - /** - * Child CSS selector for the colorpicker input. - * - * @type {String} - * @default 'input' - */ - input: 'input', - /** - * Child CSS selector for the colorpicker addon. - * If it exists, the child element background will be changed on color change. - * - * @type {String} - * @default '.colorpicker-trigger, .colorpicker-input-addon' - */ - addon: '.colorpicker-input-addon', - /** - * If true, the input content will be replaced always with a valid color, - * if false, the invalid color will be left in the input, - * while the internal color object will still resolve into a valid one. - * - * @type {boolean} - * @default true - */ - autoInputFallback: true, - /** - * If true, valid HEX3 colors will be converted to HEX6, even with - * autoInputFallback set to false - * if false, HEX3 colors will not be converted to HEX6, when autoInputFallback is false - * (this has been an issue, when using HEX6 colors with - * autoInputFallback set to false, HEX3 colors were - * automatically converting to HEX6) - * - * @type {boolean} - * @default false - */ - autoHexInputFallback: true, - /** - * If true a hash will be prepended to hexadecimal colors. - * If false, the hash will be removed. - * This only affects the input values in hexadecimal format. - * - * @type {boolean} - * @default true - */ - useHashPrefix: true, - /** - * If true, the alpha channel bar will be displayed no matter what. - * - * If false, it will be always hidden and alpha channel will be disabled also programmatically, meaning that - * the selected or typed color will be always opaque. - * - * If null, the alpha channel will be automatically disabled/enabled depending if the initial color format supports - * alpha or not. - * - * @type {boolean} - * @default true - */ - useAlpha: true, - /** - * Colorpicker widget template - * @type {String} - * @example - * - *
- *
- *
- *
- *
- * - *
- *
- */ - template: '
\n
\n
\n
\n
\n \n
\n
', - /** - * - * Associative object with the extension class name and its config. - * Colorpicker comes with many bundled extensions: debugger, palette, preview and swatches (a superset of palette). - * - * @type {Object[]} - * @example - * extensions: [ - * { - * name: 'swatches' - * options: { - * colors: { - * 'primary': '#337ab7', - * 'success': '#5cb85c', - * 'info': '#5bc0de', - * 'warning': '#f0ad4e', - * 'danger': '#d9534f' - * }, - * namesAsValues: true - * } - * } - * ] - */ - extensions: [{ - name: 'preview', - options: { - showText: true - } - }], - /** - * Vertical sliders configuration - * @type {Object} - */ - sliders: { - saturation: { - selector: '.colorpicker-saturation', - maxLeft: sliderSize, - maxTop: sliderSize, - callLeft: 'setSaturationRatio', - callTop: 'setValueRatio' - }, - hue: { - selector: '.colorpicker-hue', - maxLeft: 0, - maxTop: sliderSize, - callLeft: false, - callTop: 'setHueRatio' - }, - alpha: { - selector: '.colorpicker-alpha', - childSelector: '.colorpicker-alpha-color', - maxLeft: 0, - maxTop: sliderSize, - callLeft: false, - callTop: 'setAlphaRatio' - } - }, - /** - * Horizontal sliders configuration - * @type {Object} - */ - slidersHorz: { - saturation: { - selector: '.colorpicker-saturation', - maxLeft: sliderSize, - maxTop: sliderSize, - callLeft: 'setSaturationRatio', - callTop: 'setValueRatio' - }, - hue: { - selector: '.colorpicker-hue', - maxLeft: sliderSize, - maxTop: 0, - callLeft: 'setHueRatio', - callTop: false - }, - alpha: { - selector: '.colorpicker-alpha', - childSelector: '.colorpicker-alpha-color', - maxLeft: sliderSize, - maxTop: 0, - callLeft: 'setAlphaRatio', - callTop: false - } - } -}; -module.exports = exports.default; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _Extension2 = __webpack_require__(1); - -var _Extension3 = _interopRequireDefault(_Extension2); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var defaults = { - /** - * Key-value pairs defining a color alias and its CSS color representation. - * - * They can also be just an array of values. In that case, no special names are used, only the real colors. - * - * @type {Object|Array} - * @default null - * @example - * { - * 'black': '#000000', - * 'white': '#ffffff', - * 'red': '#FF0000', - * 'default': '#777777', - * 'primary': '#337ab7', - * 'success': '#5cb85c', - * 'info': '#5bc0de', - * 'warning': '#f0ad4e', - * 'danger': '#d9534f' - * } - * - * @example ['#f0ad4e', '#337ab7', '#5cb85c'] - */ - colors: null, - /** - * If true, when a color swatch is selected the name (alias) will be used as input value, - * otherwise the swatch real color value will be used. - * - * @type {boolean} - * @default true - */ - namesAsValues: true -}; - -/** - * Palette extension - * @ignore - */ - -var Palette = function (_Extension) { - _inherits(Palette, _Extension); - - _createClass(Palette, [{ - key: 'colors', - - - /** - * @returns {Object|Array} - */ - get: function get() { - return this.options.colors; - } - }]); - - function Palette(colorpicker) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Palette); - - var _this = _possibleConstructorReturn(this, (Palette.__proto__ || Object.getPrototypeOf(Palette)).call(this, colorpicker, _jquery2.default.extend(true, {}, defaults, options))); - - if (!Array.isArray(_this.options.colors) && _typeof(_this.options.colors) !== 'object') { - _this.options.colors = null; - } - return _this; - } - - /** - * @returns {int} - */ - - - _createClass(Palette, [{ - key: 'getLength', - value: function getLength() { - if (!this.options.colors) { - return 0; - } - - if (Array.isArray(this.options.colors)) { - return this.options.colors.length; - } - - if (_typeof(this.options.colors) === 'object') { - return Object.keys(this.options.colors).length; - } - - return 0; - } - }, { - key: 'resolveColor', - value: function resolveColor(color) { - var realColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - - if (this.getLength() <= 0) { - return false; - } - - // Array of colors - if (Array.isArray(this.options.colors)) { - if (this.options.colors.indexOf(color) >= 0) { - return color; - } - if (this.options.colors.indexOf(color.toUpperCase()) >= 0) { - return color.toUpperCase(); - } - if (this.options.colors.indexOf(color.toLowerCase()) >= 0) { - return color.toLowerCase(); - } - return false; - } - - if (_typeof(this.options.colors) !== 'object') { - return false; - } - - // Map of objects - if (!this.options.namesAsValues || realColor) { - return this.getValue(color, false); - } - return this.getName(color, this.getName('#' + color)); - } - - /** - * Given a color value, returns the corresponding color name or defaultValue. - * - * @param {String} value - * @param {*} defaultValue - * @returns {*} - */ - - }, { - key: 'getName', - value: function getName(value) { - var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - if (!(typeof value === 'string') || !this.options.colors) { - return defaultValue; - } - for (var name in this.options.colors) { - if (!this.options.colors.hasOwnProperty(name)) { - continue; - } - if (this.options.colors[name].toLowerCase() === value.toLowerCase()) { - return name; - } - } - return defaultValue; - } - - /** - * Given a color name, returns the corresponding color value or defaultValue. - * - * @param {String} name - * @param {*} defaultValue - * @returns {*} - */ - - }, { - key: 'getValue', - value: function getValue(name) { - var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - if (!(typeof name === 'string') || !this.options.colors) { - return defaultValue; - } - if (this.options.colors.hasOwnProperty(name)) { - return this.options.colors[name]; - } - return defaultValue; - } - }]); - - return Palette; -}(_Extension3.default); - -exports.default = Palette; -module.exports = exports.default; - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -/* MIT license */ -var cssKeywords = __webpack_require__(5); - -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -var reverseKeywords = {}; -for (var key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } -} - -var convert = module.exports = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -// hide .channels and .labels properties -for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); - } -} - -convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [ - h * 360, - s * 100, - v * 100 - ]; -}; - -convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - - return [c * 100, m * 100, y * 100, k * 100]; -}; - -/** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ -function comparativeDistance(x, y) { - return ( - Math.pow(x[0] - y[0], 2) + - Math.pow(x[1] - y[1], 2) + - Math.pow(x[2] - y[2], 2) - ); -} - -convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - - var currentClosestDistance = Infinity; - var currentClosestKeyword; - - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - - // Compute comparative distance - var distance = comparativeDistance(rgb, value); - - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - - // assume sRGB - r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); - g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); - b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); - - var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - t1 = 2 * l - t2; - - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); - - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - (s * f)); - var t = 255 * v * (1 - (s * (1 - f))); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - - return [h, sl * 100, l * 100]; -}; - -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - - // wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - n = wh + f * (v - wh); // linear interpolation - - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - - // assume sRGB - r = r > 0.0031308 - ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) - : r * 12.92; - - g = g > 0.0031308 - ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) - : g * 12.92; - - b = b > 0.0031308 - ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) - : b * 12.92; - - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - - x *= 95.047; - y *= 100; - z *= 108.883; - - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - c = Math.sqrt(a * a + b * b); - - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - var ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - - // we use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round(((r - 8) / 247) * 24) + 232; - } - - var ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - - return ansi; -}; - -convert.ansi16.rgb = function (args) { - var color = args % 10; - - // handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - - return [color, color, color]; - } - - var mult = (~~(args > 50) + 1) * 0.5; - var r = ((color & 1) * mult) * 255; - var g = (((color >> 1) & 1) * mult) * 255; - var b = (((color >> 2) & 1) * mult) * 255; - - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // handle greyscale - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = (rem % 6) / 5 * 255; - - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - - var colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { - return char + char; - }).join(''); - } - - var integer = parseInt(colorString, 16); - var r = (integer >> 16) & 0xFF; - var g = (integer >> 8) & 0xFF; - var b = integer & 0xFF; - - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = (max - min); - var grayscale; - var hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - - hue /= 6; - hue %= 1; - - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - - var c = s * v; - var f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - var pure = [0, 0, 0]; - var hi = (h % 1) * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - - mg = (1.0 - c) * g; - - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; - -convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var v = c + g * (1.0 - c); - var f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = convert.gray.hsv = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; - - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _Colorpicker = __webpack_require__(8); - -var _Colorpicker2 = _interopRequireDefault(_Colorpicker); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var plugin = 'colorpicker'; - -_jquery2.default[plugin] = _Colorpicker2.default; - -// Colorpicker jQuery Plugin API -_jquery2.default.fn[plugin] = function (option) { - var fnArgs = Array.prototype.slice.call(arguments, 1), - isSingleElement = this.length === 1, - returnValue = null; - - var $elements = this.each(function () { - var $this = (0, _jquery2.default)(this), - inst = $this.data(plugin), - options = (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object' ? option : {}; - - // Create instance if does not exist - if (!inst) { - inst = new _Colorpicker2.default(this, options); - $this.data(plugin, inst); - } - - if (!isSingleElement) { - return; - } - - returnValue = $this; - - if (typeof option === 'string') { - if (option === 'colorpicker') { - // Return colorpicker instance: e.g. .colorpicker('colorpicker') - returnValue = inst; - } else if (_jquery2.default.isFunction(inst[option])) { - // Return method call return value: e.g. .colorpicker('isEnabled') - returnValue = inst[option].apply(inst, fnArgs); - } else { - // Return property value: e.g. .colorpicker('element') - returnValue = inst[option]; - } - } - }); - - return isSingleElement ? returnValue : $elements; -}; - -_jquery2.default.fn[plugin].constructor = _Colorpicker2.default; - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _Extension = __webpack_require__(1); - -var _Extension2 = _interopRequireDefault(_Extension); - -var _options = __webpack_require__(3); - -var _options2 = _interopRequireDefault(_options); - -var _extensions = __webpack_require__(9); - -var _extensions2 = _interopRequireDefault(_extensions); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -var _SliderHandler = __webpack_require__(13); - -var _SliderHandler2 = _interopRequireDefault(_SliderHandler); - -var _PopupHandler = __webpack_require__(14); - -var _PopupHandler2 = _interopRequireDefault(_PopupHandler); - -var _InputHandler = __webpack_require__(15); - -var _InputHandler2 = _interopRequireDefault(_InputHandler); - -var _ColorHandler = __webpack_require__(22); - -var _ColorHandler2 = _interopRequireDefault(_ColorHandler); - -var _PickerHandler = __webpack_require__(23); - -var _PickerHandler2 = _interopRequireDefault(_PickerHandler); - -var _AddonHandler = __webpack_require__(24); - -var _AddonHandler2 = _interopRequireDefault(_AddonHandler); - -var _ColorItem = __webpack_require__(2); - -var _ColorItem2 = _interopRequireDefault(_ColorItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var colorPickerIdCounter = 0; - -var root = typeof self !== 'undefined' ? self : undefined; // window - -/** - * Colorpicker widget class - */ - -var Colorpicker = function () { - _createClass(Colorpicker, [{ - key: 'color', - - - /** - * Internal color object - * - * @type {Color|null} - */ - get: function get() { - return this.colorHandler.color; - } - - /** - * Internal color format - * - * @type {String|null} - */ - - }, { - key: 'format', - get: function get() { - return this.colorHandler.format; - } - - /** - * Getter of the picker element - * - * @returns {jQuery|HTMLElement} - */ - - }, { - key: 'picker', - get: function get() { - return this.pickerHandler.picker; - } - - /** - * @fires Colorpicker#colorpickerCreate - * @param {Object|String} element - * @param {Object} options - * @constructor - */ - - }], [{ - key: 'Color', - - /** - * Color class - * - * @static - * @type {Color} - */ - get: function get() { - return _ColorItem2.default; - } - - /** - * Extension class - * - * @static - * @type {Extension} - */ - - }, { - key: 'Extension', - get: function get() { - return _Extension2.default; - } - }]); - - function Colorpicker(element, options) { - _classCallCheck(this, Colorpicker); - - colorPickerIdCounter += 1; - /** - * The colorpicker instance number - * @type {number} - */ - this.id = colorPickerIdCounter; - - /** - * Latest colorpicker event - * - * @type {{name: String, e: *}} - */ - this.lastEvent = { - alias: null, - e: null - }; - - /** - * The element that the colorpicker is bound to - * - * @type {*|jQuery} - */ - this.element = (0, _jquery2.default)(element).addClass('colorpicker-element').attr('data-colorpicker-id', this.id); - - /** - * @type {defaults} - */ - this.options = _jquery2.default.extend(true, {}, _options2.default, options, this.element.data()); - - /** - * @type {boolean} - * @private - */ - this.disabled = false; - - /** - * Extensions added to this instance - * - * @type {Extension[]} - */ - this.extensions = []; - - /** - * The element where the - * @type {*|jQuery} - */ - this.container = this.options.container === true || this.options.container !== true && this.options.inline === true ? this.element : this.options.container; - - this.container = this.container !== false ? (0, _jquery2.default)(this.container) : false; - - /** - * @type {InputHandler} - */ - this.inputHandler = new _InputHandler2.default(this); - /** - * @type {ColorHandler} - */ - this.colorHandler = new _ColorHandler2.default(this); - /** - * @type {SliderHandler} - */ - this.sliderHandler = new _SliderHandler2.default(this); - /** - * @type {PopupHandler} - */ - this.popupHandler = new _PopupHandler2.default(this, root); - /** - * @type {PickerHandler} - */ - this.pickerHandler = new _PickerHandler2.default(this); - /** - * @type {AddonHandler} - */ - this.addonHandler = new _AddonHandler2.default(this); - - this.init(); - - // Emit a create event - (0, _jquery2.default)(_jquery2.default.proxy(function () { - /** - * (Colorpicker) When the Colorpicker instance has been created and the DOM is ready. - * - * @event Colorpicker#colorpickerCreate - */ - this.trigger('colorpickerCreate'); - }, this)); - } - - /** - * Initializes the plugin - * @private - */ - - - _createClass(Colorpicker, [{ - key: 'init', - value: function init() { - // Init addon - this.addonHandler.bind(); - - // Init input - this.inputHandler.bind(); - - // Init extensions (before initializing the color) - this.initExtensions(); - - // Init color - this.colorHandler.bind(); - - // Init picker - this.pickerHandler.bind(); - - // Init sliders and popup - this.sliderHandler.bind(); - this.popupHandler.bind(); - - // Inject into the DOM (this may make it visible) - this.pickerHandler.attach(); - - // Update all components - this.update(); - - if (this.inputHandler.isDisabled()) { - this.disable(); - } - } - - /** - * Initializes the plugin extensions - * @private - */ - - }, { - key: 'initExtensions', - value: function initExtensions() { - var _this = this; - - if (!Array.isArray(this.options.extensions)) { - this.options.extensions = []; - } - - if (this.options.debug) { - this.options.extensions.push({ name: 'debugger' }); - } - - // Register and instantiate extensions - this.options.extensions.forEach(function (ext) { - _this.registerExtension(Colorpicker.extensions[ext.name.toLowerCase()], ext.options || {}); - }); - } - - /** - * Creates and registers the given extension - * - * @param {Extension} ExtensionClass The extension class to instantiate - * @param {Object} [config] Extension configuration - * @returns {Extension} - */ - - }, { - key: 'registerExtension', - value: function registerExtension(ExtensionClass) { - var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var ext = new ExtensionClass(this, config); - - this.extensions.push(ext); - return ext; - } - - /** - * Destroys the current instance - * - * @fires Colorpicker#colorpickerDestroy - */ - - }, { - key: 'destroy', - value: function destroy() { - var color = this.color; - - this.sliderHandler.unbind(); - this.inputHandler.unbind(); - this.popupHandler.unbind(); - this.colorHandler.unbind(); - this.addonHandler.unbind(); - this.pickerHandler.unbind(); - - this.element.removeClass('colorpicker-element').removeData('colorpicker').removeData('color').off('.colorpicker'); - - /** - * (Colorpicker) When the instance is destroyed with all events unbound. - * - * @event Colorpicker#colorpickerDestroy - */ - this.trigger('colorpickerDestroy', color); - } - - /** - * Shows the colorpicker widget if hidden. - * If the colorpicker is disabled this call will be ignored. - * - * @fires Colorpicker#colorpickerShow - * @param {Event} [e] - */ - - }, { - key: 'show', - value: function show(e) { - this.popupHandler.show(e); - } - - /** - * Hides the colorpicker widget. - * - * @fires Colorpicker#colorpickerHide - * @param {Event} [e] - */ - - }, { - key: 'hide', - value: function hide(e) { - this.popupHandler.hide(e); - } - - /** - * Toggles the colorpicker between visible and hidden. - * - * @fires Colorpicker#colorpickerShow - * @fires Colorpicker#colorpickerHide - * @param {Event} [e] - */ - - }, { - key: 'toggle', - value: function toggle(e) { - this.popupHandler.toggle(e); - } - - /** - * Returns the current color value as string - * - * @param {String|*} [defaultValue] - * @returns {String|*} - */ - - }, { - key: 'getValue', - value: function getValue() { - var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - - var val = this.colorHandler.color; - - val = val instanceof _ColorItem2.default ? val : defaultValue; - - if (val instanceof _ColorItem2.default) { - return val.string(this.format); - } - - return val; - } - - /** - * Sets the color manually - * - * @fires Colorpicker#colorpickerChange - * @param {String|Color} val - */ - - }, { - key: 'setValue', - value: function setValue(val) { - if (this.isDisabled()) { - return; - } - var ch = this.colorHandler; - - if (ch.hasColor() && !!val && ch.color.equals(val) || !ch.hasColor() && !val) { - // same color or still empty - return; - } - - ch.color = val ? ch.createColor(val, this.options.autoInputFallback, this.options.autoHexInputFallback) : null; - - /** - * (Colorpicker) When the color is set programmatically with setValue(). - * - * @event Colorpicker#colorpickerChange - */ - this.trigger('colorpickerChange', ch.color, val); - - // force update if color has changed to empty - this.update(); - } - - /** - * Updates the UI and the input color according to the internal color. - * - * @fires Colorpicker#colorpickerUpdate - */ - - }, { - key: 'update', - value: function update() { - if (this.colorHandler.hasColor()) { - this.inputHandler.update(); - } else { - this.colorHandler.assureColor(); - } - - this.addonHandler.update(); - this.pickerHandler.update(); - - /** - * (Colorpicker) Fired when the widget is updated. - * - * @event Colorpicker#colorpickerUpdate - */ - this.trigger('colorpickerUpdate'); - } - - /** - * Enables the widget and the input if any - * - * @fires Colorpicker#colorpickerEnable - * @returns {boolean} - */ - - }, { - key: 'enable', - value: function enable() { - this.inputHandler.enable(); - this.disabled = false; - this.picker.removeClass('colorpicker-disabled'); - - /** - * (Colorpicker) When the widget has been enabled. - * - * @event Colorpicker#colorpickerEnable - */ - this.trigger('colorpickerEnable'); - return true; - } - - /** - * Disables the widget and the input if any - * - * @fires Colorpicker#colorpickerDisable - * @returns {boolean} - */ - - }, { - key: 'disable', - value: function disable() { - this.inputHandler.disable(); - this.disabled = true; - this.picker.addClass('colorpicker-disabled'); - - /** - * (Colorpicker) When the widget has been disabled. - * - * @event Colorpicker#colorpickerDisable - */ - this.trigger('colorpickerDisable'); - return true; - } - - /** - * Returns true if this instance is enabled - * @returns {boolean} - */ - - }, { - key: 'isEnabled', - value: function isEnabled() { - return !this.isDisabled(); - } - - /** - * Returns true if this instance is disabled - * @returns {boolean} - */ - - }, { - key: 'isDisabled', - value: function isDisabled() { - return this.disabled === true; - } - - /** - * Triggers a Colorpicker event. - * - * @param eventName - * @param color - * @param value - */ - - }, { - key: 'trigger', - value: function trigger(eventName) { - var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - this.element.trigger({ - type: eventName, - colorpicker: this, - color: color ? color : this.color, - value: value ? value : this.getValue() - }); - } - }]); - - return Colorpicker; -}(); - -/** - * Colorpicker extension classes, indexed by extension name - * - * @static - * @type {Object} a map between the extension name and its class - */ - - -Colorpicker.extensions = _extensions2.default; - -exports.default = Colorpicker; -module.exports = exports.default; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Palette = exports.Swatches = exports.Preview = exports.Debugger = undefined; - -var _Debugger = __webpack_require__(10); - -var _Debugger2 = _interopRequireDefault(_Debugger); - -var _Preview = __webpack_require__(11); - -var _Preview2 = _interopRequireDefault(_Preview); - -var _Swatches = __webpack_require__(12); - -var _Swatches2 = _interopRequireDefault(_Swatches); - -var _Palette = __webpack_require__(4); - -var _Palette2 = _interopRequireDefault(_Palette); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.Debugger = _Debugger2.default; -exports.Preview = _Preview2.default; -exports.Swatches = _Swatches2.default; -exports.Palette = _Palette2.default; -exports.default = { - 'debugger': _Debugger2.default, - 'preview': _Preview2.default, - 'swatches': _Swatches2.default, - 'palette': _Palette2.default -}; - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; - -var _Extension2 = __webpack_require__(1); - -var _Extension3 = _interopRequireDefault(_Extension2); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Debugger extension class - * @alias DebuggerExtension - * @ignore - */ -var Debugger = function (_Extension) { - _inherits(Debugger, _Extension); - - function Debugger(colorpicker) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Debugger); - - /** - * @type {number} - */ - var _this = _possibleConstructorReturn(this, (Debugger.__proto__ || Object.getPrototypeOf(Debugger)).call(this, colorpicker, options)); - - _this.eventCounter = 0; - if (_this.colorpicker.inputHandler.hasInput()) { - _this.colorpicker.inputHandler.input.on('change.colorpicker-ext', _jquery2.default.proxy(_this.onChangeInput, _this)); - } - return _this; - } - - /** - * @fires DebuggerExtension#colorpickerDebug - * @param {string} eventName - * @param {*} args - */ - - - _createClass(Debugger, [{ - key: 'log', - value: function log(eventName) { - var _console; - - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - this.eventCounter += 1; - - var logMessage = '#' + this.eventCounter + ': Colorpicker#' + this.colorpicker.id + ' [' + eventName + ']'; - - (_console = console).debug.apply(_console, [logMessage].concat(args)); - - /** - * Whenever the debugger logs an event, this other event is emitted. - * - * @event DebuggerExtension#colorpickerDebug - * @type {object} The event object - * @property {Colorpicker} colorpicker The Colorpicker instance - * @property {ColorItem} color The color instance - * @property {{debugger: DebuggerExtension, eventName: String, logArgs: Array, logMessage: String}} debug - * The debug info - */ - this.colorpicker.element.trigger({ - type: 'colorpickerDebug', - colorpicker: this.colorpicker, - color: this.color, - value: null, - debug: { - debugger: this, - eventName: eventName, - logArgs: args, - logMessage: logMessage - } - }); - } - }, { - key: 'resolveColor', - value: function resolveColor(color) { - var realColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - - this.log('resolveColor()', color, realColor); - return false; - } - }, { - key: 'onCreate', - value: function onCreate(event) { - this.log('colorpickerCreate'); - return _get(Debugger.prototype.__proto__ || Object.getPrototypeOf(Debugger.prototype), 'onCreate', this).call(this, event); - } - }, { - key: 'onDestroy', - value: function onDestroy(event) { - this.log('colorpickerDestroy'); - this.eventCounter = 0; - - if (this.colorpicker.inputHandler.hasInput()) { - this.colorpicker.inputHandler.input.off('.colorpicker-ext'); - } - - return _get(Debugger.prototype.__proto__ || Object.getPrototypeOf(Debugger.prototype), 'onDestroy', this).call(this, event); - } - }, { - key: 'onUpdate', - value: function onUpdate(event) { - this.log('colorpickerUpdate'); - } - - /** - * @listens Colorpicker#change - * @param {Event} event - */ - - }, { - key: 'onChangeInput', - value: function onChangeInput(event) { - this.log('input:change.colorpicker', event.value, event.color); - } - }, { - key: 'onChange', - value: function onChange(event) { - this.log('colorpickerChange', event.value, event.color); - } - }, { - key: 'onInvalid', - value: function onInvalid(event) { - this.log('colorpickerInvalid', event.value, event.color); - } - }, { - key: 'onHide', - value: function onHide(event) { - this.log('colorpickerHide'); - this.eventCounter = 0; - } - }, { - key: 'onShow', - value: function onShow(event) { - this.log('colorpickerShow'); - } - }, { - key: 'onDisable', - value: function onDisable(event) { - this.log('colorpickerDisable'); - } - }, { - key: 'onEnable', - value: function onEnable(event) { - this.log('colorpickerEnable'); - } - }]); - - return Debugger; -}(_Extension3.default); - -exports.default = Debugger; -module.exports = exports.default; - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; - -var _Extension2 = __webpack_require__(1); - -var _Extension3 = _interopRequireDefault(_Extension2); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Color preview extension - * @ignore - */ -var Preview = function (_Extension) { - _inherits(Preview, _Extension); - - function Preview(colorpicker) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Preview); - - var _this = _possibleConstructorReturn(this, (Preview.__proto__ || Object.getPrototypeOf(Preview)).call(this, colorpicker, _jquery2.default.extend(true, {}, { - template: '
', - showText: true, - format: colorpicker.format - }, options))); - - _this.element = (0, _jquery2.default)(_this.options.template); - _this.elementInner = _this.element.find('div'); - return _this; - } - - _createClass(Preview, [{ - key: 'onCreate', - value: function onCreate(event) { - _get(Preview.prototype.__proto__ || Object.getPrototypeOf(Preview.prototype), 'onCreate', this).call(this, event); - this.colorpicker.picker.append(this.element); - } - }, { - key: 'onUpdate', - value: function onUpdate(event) { - _get(Preview.prototype.__proto__ || Object.getPrototypeOf(Preview.prototype), 'onUpdate', this).call(this, event); - - if (!event.color) { - this.elementInner.css('backgroundColor', null).css('color', null).html(''); - return; - } - - this.elementInner.css('backgroundColor', event.color.toRgbString()); - - if (this.options.showText) { - this.elementInner.html(event.color.string(this.options.format || this.colorpicker.format)); - - if (event.color.isDark() && event.color.alpha > 0.5) { - this.elementInner.css('color', 'white'); - } else { - this.elementInner.css('color', 'black'); - } - } - } - }]); - - return Preview; -}(_Extension3.default); - -exports.default = Preview; -module.exports = exports.default; - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; - -var _Palette2 = __webpack_require__(4); - -var _Palette3 = _interopRequireDefault(_Palette2); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var defaults = { - barTemplate: '
\n
\n
', - swatchTemplate: '' -}; - -/** - * Color swatches extension - * @ignore - */ - -var Swatches = function (_Palette) { - _inherits(Swatches, _Palette); - - function Swatches(colorpicker) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Swatches); - - var _this = _possibleConstructorReturn(this, (Swatches.__proto__ || Object.getPrototypeOf(Swatches)).call(this, colorpicker, _jquery2.default.extend(true, {}, defaults, options))); - - _this.element = null; - return _this; - } - - _createClass(Swatches, [{ - key: 'isEnabled', - value: function isEnabled() { - return this.getLength() > 0; - } - }, { - key: 'onCreate', - value: function onCreate(event) { - _get(Swatches.prototype.__proto__ || Object.getPrototypeOf(Swatches.prototype), 'onCreate', this).call(this, event); - - if (!this.isEnabled()) { - return; - } - - this.element = (0, _jquery2.default)(this.options.barTemplate); - this.load(); - this.colorpicker.picker.append(this.element); - } - }, { - key: 'load', - value: function load() { - var _this2 = this; - - var colorpicker = this.colorpicker, - swatchContainer = this.element.find('.colorpicker-swatches--inner'), - isAliased = this.options.namesAsValues === true && !Array.isArray(this.colors); - - swatchContainer.empty(); - - _jquery2.default.each(this.colors, function (name, value) { - var $swatch = (0, _jquery2.default)(_this2.options.swatchTemplate).attr('data-name', name).attr('data-value', value).attr('title', isAliased ? name + ': ' + value : value).on('mousedown.colorpicker touchstart.colorpicker', function (e) { - var $sw = (0, _jquery2.default)(this); - - // e.preventDefault(); - - colorpicker.setValue(isAliased ? $sw.attr('data-name') : $sw.attr('data-value')); - }); - - $swatch.find('.colorpicker-swatch--inner').css('background-color', value); - - swatchContainer.append($swatch); - }); - - swatchContainer.append((0, _jquery2.default)('')); - } - }]); - - return Swatches; -}(_Palette3.default); - -exports.default = Swatches; -module.exports = exports.default; - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Class that handles all configured sliders on mouse or touch events. - * @ignore - */ -var SliderHandler = function () { - /** - * @param {Colorpicker} colorpicker - */ - function SliderHandler(colorpicker) { - _classCallCheck(this, SliderHandler); - - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * @type {*|String} - * @private - */ - this.currentSlider = null; - /** - * @type {{left: number, top: number}} - * @private - */ - this.mousePointer = { - left: 0, - top: 0 - }; - - /** - * @type {Function} - */ - this.onMove = _jquery2.default.proxy(this.defaultOnMove, this); - } - - /** - * This function is called every time a slider guide is moved - * The scope of "this" is the SliderHandler object. - * - * @param {int} top - * @param {int} left - */ - - - _createClass(SliderHandler, [{ - key: 'defaultOnMove', - value: function defaultOnMove(top, left) { - if (!this.currentSlider) { - return; - } - - var slider = this.currentSlider, - cp = this.colorpicker, - ch = cp.colorHandler; - - // Create a color object - var color = !ch.hasColor() ? ch.getFallbackColor() : ch.color.getClone(); - - // Adjust the guide position - slider.guideStyle.left = left + 'px'; - slider.guideStyle.top = top + 'px'; - - // Adjust the color - if (slider.callLeft) { - color[slider.callLeft](left / slider.maxLeft); - } - if (slider.callTop) { - color[slider.callTop](top / slider.maxTop); - } - - // Set the new color - cp.setValue(color); - cp.popupHandler.focus(); - } - - /** - * Binds the colorpicker sliders to the mouse/touch events - */ - - }, { - key: 'bind', - value: function bind() { - var sliders = this.colorpicker.options.horizontal ? this.colorpicker.options.slidersHorz : this.colorpicker.options.sliders; - - var sliderClasses = []; - - for (var sliderName in sliders) { - if (!sliders.hasOwnProperty(sliderName)) { - continue; - } - - sliderClasses.push(sliders[sliderName].selector); - } - - this.colorpicker.picker.find(sliderClasses.join(', ')).on('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.pressed, this)); - } - - /** - * Unbinds any event bound by this handler - */ - - }, { - key: 'unbind', - value: function unbind() { - (0, _jquery2.default)(this.colorpicker.picker).off({ - 'mousemove.colorpicker': _jquery2.default.proxy(this.moved, this), - 'touchmove.colorpicker': _jquery2.default.proxy(this.moved, this), - 'mouseup.colorpicker': _jquery2.default.proxy(this.released, this), - 'touchend.colorpicker': _jquery2.default.proxy(this.released, this) - }); - } - - /** - * Function triggered when clicking in one of the color adjustment bars - * - * @private - * @fires Colorpicker#mousemove - * @param {Event} e - */ - - }, { - key: 'pressed', - value: function pressed(e) { - if (this.colorpicker.isDisabled()) { - return; - } - this.colorpicker.lastEvent.alias = 'pressed'; - this.colorpicker.lastEvent.e = e; - - if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) { - e.pageX = e.originalEvent.touches[0].pageX; - e.pageY = e.originalEvent.touches[0].pageY; - } - // e.stopPropagation(); - // e.preventDefault(); - - var target = (0, _jquery2.default)(e.target); - - // detect the slider and set the limits and callbacks - var zone = target.closest('div'); - - var sliders = this.colorpicker.options.horizontal ? this.colorpicker.options.slidersHorz : this.colorpicker.options.sliders; - - if (zone.is('.colorpicker')) { - return; - } - - this.currentSlider = null; - - for (var sliderName in sliders) { - if (!sliders.hasOwnProperty(sliderName)) { - continue; - } - - var slider = sliders[sliderName]; - - if (zone.is(slider.selector)) { - this.currentSlider = _jquery2.default.extend({}, slider, { name: sliderName }); - break; - } else if (slider.childSelector !== undefined && zone.is(slider.childSelector)) { - this.currentSlider = _jquery2.default.extend({}, slider, { name: sliderName }); - zone = zone.parent(); // zone.parents(slider.selector).first() ? - break; - } - } - - var guide = zone.find('.colorpicker-guide').get(0); - - if (this.currentSlider === null || guide === null) { - return; - } - - var offset = zone.offset(); - - // reference to guide's style - this.currentSlider.guideStyle = guide.style; - this.currentSlider.left = e.pageX - offset.left; - this.currentSlider.top = e.pageY - offset.top; - this.mousePointer = { - left: e.pageX, - top: e.pageY - }; - - // TODO: fix moving outside the picker makes the guides to keep moving. The event needs to be bound to the window. - /** - * (window.document) Triggered on mousedown for the document object, - * so the color adjustment guide is moved to the clicked position. - * - * @event Colorpicker#mousemove - */ - (0, _jquery2.default)(this.colorpicker.picker).on({ - 'mousemove.colorpicker': _jquery2.default.proxy(this.moved, this), - 'touchmove.colorpicker': _jquery2.default.proxy(this.moved, this), - 'mouseup.colorpicker': _jquery2.default.proxy(this.released, this), - 'touchend.colorpicker': _jquery2.default.proxy(this.released, this) - }).trigger('mousemove'); - } - - /** - * Function triggered when dragging a guide inside one of the color adjustment bars. - * - * @private - * @param {Event} e - */ - - }, { - key: 'moved', - value: function moved(e) { - this.colorpicker.lastEvent.alias = 'moved'; - this.colorpicker.lastEvent.e = e; - - if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) { - e.pageX = e.originalEvent.touches[0].pageX; - e.pageY = e.originalEvent.touches[0].pageY; - } - - // e.stopPropagation(); - e.preventDefault(); // prevents scrolling on mobile - - var left = Math.max(0, Math.min(this.currentSlider.maxLeft, this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left))); - - var top = Math.max(0, Math.min(this.currentSlider.maxTop, this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top))); - - this.onMove(top, left); - } - - /** - * Function triggered when releasing the click in one of the color adjustment bars. - * - * @private - * @param {Event} e - */ - - }, { - key: 'released', - value: function released(e) { - this.colorpicker.lastEvent.alias = 'released'; - this.colorpicker.lastEvent.e = e; - - // e.stopPropagation(); - // e.preventDefault(); - - (0, _jquery2.default)(this.colorpicker.picker).off({ - 'mousemove.colorpicker': this.moved, - 'touchmove.colorpicker': this.moved, - 'mouseup.colorpicker': this.released, - 'touchend.colorpicker': this.released - }); - } - }]); - - return SliderHandler; -}(); - -exports.default = SliderHandler; -module.exports = exports.default; - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -var _options = __webpack_require__(3); - -var _options2 = _interopRequireDefault(_options); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Handles everything related to the UI of the colorpicker popup: show, hide, position,... - * @ignore - */ -var PopupHandler = function () { - /** - * @param {Colorpicker} colorpicker - * @param {Window} root - */ - function PopupHandler(colorpicker, root) { - _classCallCheck(this, PopupHandler); - - /** - * @type {Window} - */ - this.root = root; - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * @type {jQuery} - */ - this.popoverTarget = null; - /** - * @type {jQuery} - */ - this.popoverTip = null; - - /** - * If true, the latest click was inside the popover - * @type {boolean} - */ - this.clicking = false; - /** - * @type {boolean} - */ - this.hidding = false; - /** - * @type {boolean} - */ - this.showing = false; - } - - /** - * @private - * @returns {jQuery|false} - */ - - - _createClass(PopupHandler, [{ - key: 'bind', - - - /** - * Binds the different colorpicker elements to the focus/mouse/touch events so it reacts in order to show or - * hide the colorpicker popup accordingly. It also adds the proper classes. - */ - value: function bind() { - var cp = this.colorpicker; - - if (cp.options.inline) { - cp.picker.addClass('colorpicker-inline colorpicker-visible'); - return; // no need to bind show/hide events for inline elements - } - - cp.picker.addClass('colorpicker-popup colorpicker-hidden'); - - // there is no input or addon - if (!this.hasInput && !this.hasAddon) { - return; - } - - // create Bootstrap 4 popover - if (cp.options.popover) { - this.createPopover(); - } - - // bind addon show/hide events - if (this.hasAddon) { - // enable focus on addons - if (!this.addon.attr('tabindex')) { - this.addon.attr('tabindex', 0); - } - - this.addon.on({ - 'mousedown.colorpicker touchstart.colorpicker': _jquery2.default.proxy(this.toggle, this) - }); - - this.addon.on({ - 'focus.colorpicker': _jquery2.default.proxy(this.show, this) - }); - - this.addon.on({ - 'focusout.colorpicker': _jquery2.default.proxy(this.hide, this) - }); - } - - // bind input show/hide events - if (this.hasInput && !this.hasAddon) { - this.input.on({ - 'mousedown.colorpicker touchstart.colorpicker': _jquery2.default.proxy(this.show, this), - 'focus.colorpicker': _jquery2.default.proxy(this.show, this) - }); - - this.input.on({ - 'focusout.colorpicker': _jquery2.default.proxy(this.hide, this) - }); - } - - // reposition popup on window resize - (0, _jquery2.default)(this.root).on('resize.colorpicker', _jquery2.default.proxy(this.reposition, this)); - } - - /** - * Unbinds any event bound by this handler - */ - - }, { - key: 'unbind', - value: function unbind() { - if (this.hasInput) { - this.input.off({ - 'mousedown.colorpicker touchstart.colorpicker': _jquery2.default.proxy(this.show, this), - 'focus.colorpicker': _jquery2.default.proxy(this.show, this) - }); - this.input.off({ - 'focusout.colorpicker': _jquery2.default.proxy(this.hide, this) - }); - } - - if (this.hasAddon) { - this.addon.off({ - 'mousedown.colorpicker touchstart.colorpicker': _jquery2.default.proxy(this.toggle, this) - }); - this.addon.off({ - 'focus.colorpicker': _jquery2.default.proxy(this.show, this) - }); - this.addon.off({ - 'focusout.colorpicker': _jquery2.default.proxy(this.hide, this) - }); - } - - if (this.popoverTarget) { - this.popoverTarget.popover('dispose'); - } - - (0, _jquery2.default)(this.root).off('resize.colorpicker', _jquery2.default.proxy(this.reposition, this)); - (0, _jquery2.default)(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.hide, this)); - (0, _jquery2.default)(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.onClickingInside, this)); - } - }, { - key: 'isClickingInside', - value: function isClickingInside(e) { - if (!e) { - return false; - } - - return this.isOrIsInside(this.popoverTip, e.currentTarget) || this.isOrIsInside(this.popoverTip, e.target) || this.isOrIsInside(this.colorpicker.picker, e.currentTarget) || this.isOrIsInside(this.colorpicker.picker, e.target); - } - }, { - key: 'isOrIsInside', - value: function isOrIsInside(container, element) { - if (!container || !element) { - return false; - } - - element = (0, _jquery2.default)(element); - - return element.is(container) || container.find(element).length > 0; - } - }, { - key: 'onClickingInside', - value: function onClickingInside(e) { - this.clicking = this.isClickingInside(e); - } - }, { - key: 'createPopover', - value: function createPopover() { - var cp = this.colorpicker; - - this.popoverTarget = this.hasAddon ? this.addon : this.input; - - cp.picker.addClass('colorpicker-bs-popover-content'); - - this.popoverTarget.popover(_jquery2.default.extend(true, {}, _options2.default.popover, cp.options.popover, { trigger: 'manual', content: cp.picker, html: true })); - - /* Bootstrap 5 added an official method to get the popover instance */ - /* global bootstrap */ - var useGetInstance = window.bootstrap && window.bootstrap.Popover && window.bootstrap.Popover.getInstance; - - this.popoverTip = useGetInstance ? (0, _jquery2.default)(bootstrap.Popover.getInstance(this.popoverTarget[0]).tip) : (0, _jquery2.default)(this.popoverTarget.popover('getTipElement').data('bs.popover').tip); - - this.popoverTip.addClass('colorpicker-bs-popover'); - - this.popoverTarget.on('shown.bs.popover', _jquery2.default.proxy(this.fireShow, this)); - this.popoverTarget.on('hidden.bs.popover', _jquery2.default.proxy(this.fireHide, this)); - } - - /** - * If the widget is not inside a container or inline, rearranges its position relative to its element offset. - * - * @param {Event} [e] - * @private - */ - - }, { - key: 'reposition', - value: function reposition(e) { - if (this.popoverTarget && this.isVisible()) { - this.popoverTarget.popover('update'); - } - } - - /** - * Toggles the colorpicker between visible or hidden - * - * @fires Colorpicker#colorpickerShow - * @fires Colorpicker#colorpickerHide - * @param {Event} [e] - */ - - }, { - key: 'toggle', - value: function toggle(e) { - if (this.isVisible()) { - this.hide(e); - } else { - this.show(e); - } - } - - /** - * Shows the colorpicker widget if hidden. - * - * @fires Colorpicker#colorpickerShow - * @param {Event} [e] - */ - - }, { - key: 'show', - value: function show(e) { - if (this.isVisible() || this.showing || this.hidding) { - return; - } - - this.showing = true; - this.hidding = false; - this.clicking = false; - - var cp = this.colorpicker; - - cp.lastEvent.alias = 'show'; - cp.lastEvent.e = e; - - // Prevent showing browser native HTML5 colorpicker - if (e && (!this.hasInput || this.input.attr('type') === 'color') && e && e.preventDefault) { - e.stopPropagation(); - e.preventDefault(); - } - - // If it's a popover, add event to the document to hide the picker when clicking outside of it - if (this.isPopover) { - (0, _jquery2.default)(this.root).on('resize.colorpicker', _jquery2.default.proxy(this.reposition, this)); - } - - // add visible class before popover is shown - cp.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden'); - - if (this.popoverTarget) { - this.popoverTarget.popover('show'); - } else { - this.fireShow(); - } - } - }, { - key: 'fireShow', - value: function fireShow() { - this.hidding = false; - this.showing = false; - - if (this.isPopover) { - // Add event to hide on outside click - (0, _jquery2.default)(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.hide, this)); - (0, _jquery2.default)(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.onClickingInside, this)); - } - - /** - * (Colorpicker) When show() is called and the widget can be shown. - * - * @event Colorpicker#colorpickerShow - */ - this.colorpicker.trigger('colorpickerShow'); - } - - /** - * Hides the colorpicker widget. - * Hide is prevented when it is triggered by an event whose target element has been clicked/touched. - * - * @fires Colorpicker#colorpickerHide - * @param {Event} [e] - */ - - }, { - key: 'hide', - value: function hide(e) { - if (this.isHidden() || this.showing || this.hidding) { - return; - } - - var cp = this.colorpicker, - clicking = this.clicking || this.isClickingInside(e); - - this.hidding = true; - this.showing = false; - this.clicking = false; - - cp.lastEvent.alias = 'hide'; - cp.lastEvent.e = e; - - // TODO: fix having to click twice outside when losing focus and last 2 clicks where inside the colorpicker - - // Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched - if (clicking) { - this.hidding = false; - return; - } - - if (this.popoverTarget) { - this.popoverTarget.popover('hide'); - } else { - this.fireHide(); - } - } - }, { - key: 'fireHide', - value: function fireHide() { - this.hidding = false; - this.showing = false; - - var cp = this.colorpicker; - - // add hidden class after popover is hidden - cp.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible'); - - // Unbind window and document events, since there is no need to keep them while the popup is hidden - (0, _jquery2.default)(this.root).off('resize.colorpicker', _jquery2.default.proxy(this.reposition, this)); - (0, _jquery2.default)(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.hide, this)); - (0, _jquery2.default)(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', _jquery2.default.proxy(this.onClickingInside, this)); - - /** - * (Colorpicker) When hide() is called and the widget can be hidden. - * - * @event Colorpicker#colorpickerHide - */ - cp.trigger('colorpickerHide'); - } - }, { - key: 'focus', - value: function focus() { - if (this.hasAddon) { - return this.addon.focus(); - } - if (this.hasInput) { - return this.input.focus(); - } - return false; - } - - /** - * Returns true if the colorpicker element has the colorpicker-visible class and not the colorpicker-hidden one. - * False otherwise. - * - * @returns {boolean} - */ - - }, { - key: 'isVisible', - value: function isVisible() { - return this.colorpicker.picker.hasClass('colorpicker-visible') && !this.colorpicker.picker.hasClass('colorpicker-hidden'); - } - - /** - * Returns true if the colorpicker element has the colorpicker-hidden class and not the colorpicker-visible one. - * False otherwise. - * - * @returns {boolean} - */ - - }, { - key: 'isHidden', - value: function isHidden() { - return this.colorpicker.picker.hasClass('colorpicker-hidden') && !this.colorpicker.picker.hasClass('colorpicker-visible'); - } - }, { - key: 'input', - get: function get() { - return this.colorpicker.inputHandler.input; - } - - /** - * @private - * @returns {boolean} - */ - - }, { - key: 'hasInput', - get: function get() { - return this.colorpicker.inputHandler.hasInput(); - } - - /** - * @private - * @returns {jQuery|false} - */ - - }, { - key: 'addon', - get: function get() { - return this.colorpicker.addonHandler.addon; - } - - /** - * @private - * @returns {boolean} - */ - - }, { - key: 'hasAddon', - get: function get() { - return this.colorpicker.addonHandler.hasAddon(); - } - - /** - * @private - * @returns {boolean} - */ - - }, { - key: 'isPopover', - get: function get() { - return !this.colorpicker.options.inline && !!this.popoverTip; - } - }]); - - return PopupHandler; -}(); - -exports.default = PopupHandler; -module.exports = exports.default; - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -var _ColorItem = __webpack_require__(2); - -var _ColorItem2 = _interopRequireDefault(_ColorItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Handles everything related to the colorpicker input - * @ignore - */ -var InputHandler = function () { - /** - * @param {Colorpicker} colorpicker - */ - function InputHandler(colorpicker) { - _classCallCheck(this, InputHandler); - - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * @type {jQuery|false} - */ - this.input = this.colorpicker.element.is('input') ? this.colorpicker.element : this.colorpicker.options.input ? this.colorpicker.element.find(this.colorpicker.options.input) : false; - - if (this.input && this.input.length === 0) { - this.input = false; - } - - this._initValue(); - } - - _createClass(InputHandler, [{ - key: 'bind', - value: function bind() { - if (!this.hasInput()) { - return; - } - this.input.on({ - 'keyup.colorpicker': _jquery2.default.proxy(this.onkeyup, this) - }); - this.input.on({ - 'change.colorpicker': _jquery2.default.proxy(this.onchange, this) - }); - } - }, { - key: 'unbind', - value: function unbind() { - if (!this.hasInput()) { - return; - } - this.input.off('.colorpicker'); - } - }, { - key: '_initValue', - value: function _initValue() { - if (!this.hasInput()) { - return; - } - - var val = ''; - - [ - // candidates: - this.input.val(), this.input.data('color'), this.input.attr('data-color')].map(function (item) { - if (item && val === '') { - val = item; - } - }); - - if (val instanceof _ColorItem2.default) { - val = this.getFormattedColor(val.string(this.colorpicker.format)); - } else if (!(typeof val === 'string' || val instanceof String)) { - val = ''; - } - - this.input.prop('value', val); - } - - /** - * Returns the color string from the input value. - * If there is no input the return value is false. - * - * @returns {String|boolean} - */ - - }, { - key: 'getValue', - value: function getValue() { - if (!this.hasInput()) { - return false; - } - - return this.input.val(); - } - - /** - * If the input element is present, it updates the value with the current color object color string. - * If the value is changed, this method fires a "change" event on the input element. - * - * @param {String} val - * - * @fires Colorpicker#change - */ - - }, { - key: 'setValue', - value: function setValue(val) { - if (!this.hasInput()) { - return; - } - - var inputVal = this.input.prop('value'); - - val = val ? val : ''; - - if (val === (inputVal ? inputVal : '')) { - // No need to set value or trigger any event if nothing changed - return; - } - - this.input.prop('value', val); - - /** - * (Input) Triggered on the input element when a new color is selected. - * - * @event Colorpicker#change - */ - this.input.trigger({ - type: 'change', - colorpicker: this.colorpicker, - color: this.colorpicker.color, - value: val - }); - } - - /** - * Returns the formatted color string, with the formatting options applied - * (e.g. useHashPrefix) - * - * @param {String|null} val - * - * @returns {String} - */ - - }, { - key: 'getFormattedColor', - value: function getFormattedColor() { - var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - - val = val ? val : this.colorpicker.colorHandler.getColorString(); - - if (!val) { - return ''; - } - - val = this.colorpicker.colorHandler.resolveColorDelegate(val, false); - - if (this.colorpicker.options.useHashPrefix === false) { - val = val.replace(/^#/g, ''); - } - - return val; - } - - /** - * Returns true if the widget has an associated input element, false otherwise - * @returns {boolean} - */ - - }, { - key: 'hasInput', - value: function hasInput() { - return this.input !== false; - } - - /** - * Returns true if the input exists and is disabled - * @returns {boolean} - */ - - }, { - key: 'isEnabled', - value: function isEnabled() { - return this.hasInput() && !this.isDisabled(); - } - - /** - * Returns true if the input exists and is disabled - * @returns {boolean} - */ - - }, { - key: 'isDisabled', - value: function isDisabled() { - return this.hasInput() && this.input.prop('disabled') === true; - } - - /** - * Disables the input if any - * - * @fires Colorpicker#colorpickerDisable - * @returns {boolean} - */ - - }, { - key: 'disable', - value: function disable() { - if (this.hasInput()) { - this.input.prop('disabled', true); - } - } - - /** - * Enables the input if any - * - * @fires Colorpicker#colorpickerEnable - * @returns {boolean} - */ - - }, { - key: 'enable', - value: function enable() { - if (this.hasInput()) { - this.input.prop('disabled', false); - } - } - - /** - * Calls setValue with the current internal color value - * - * @fires Colorpicker#change - */ - - }, { - key: 'update', - value: function update() { - if (!this.hasInput()) { - return; - } - - if (this.colorpicker.options.autoInputFallback === false && this.colorpicker.colorHandler.isInvalidColor()) { - // prevent update if color is invalid, autoInputFallback is disabled and the last event is keyup. - return; - } - - this.setValue(this.getFormattedColor()); - } - - /** - * Function triggered when the input has changed, so the colorpicker gets updated. - * - * @private - * @param {Event} e - * @returns {boolean} - */ - - }, { - key: 'onchange', - value: function onchange(e) { - this.colorpicker.lastEvent.alias = 'input.change'; - this.colorpicker.lastEvent.e = e; - - var val = this.getValue(); - - if (val !== e.value) { - this.colorpicker.setValue(val); - } - } - - /** - * Function triggered after a keyboard key has been released. - * - * @private - * @param {Event} e - * @returns {boolean} - */ - - }, { - key: 'onkeyup', - value: function onkeyup(e) { - this.colorpicker.lastEvent.alias = 'input.keyup'; - this.colorpicker.lastEvent.e = e; - - var val = this.getValue(); - - if (val !== e.value) { - this.colorpicker.setValue(val); - } - } - }]); - - return InputHandler; -}(); - -exports.default = InputHandler; -module.exports = exports.default; - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var colorString = __webpack_require__(17); -var convert = __webpack_require__(20); - -var _slice = [].slice; - -var skippedModels = [ - // to be honest, I don't really feel like keyword belongs in color convert, but eh. - 'keyword', - - // gray conflicts with some method names, and has its own method defined. - 'gray', - - // shouldn't really be in color-convert either... - 'hex' -]; - -var hashedModelKeys = {}; -Object.keys(convert).forEach(function (model) { - hashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model; -}); - -var limiters = {}; - -function Color(obj, model) { - if (!(this instanceof Color)) { - return new Color(obj, model); - } - - if (model && model in skippedModels) { - model = null; - } - - if (model && !(model in convert)) { - throw new Error('Unknown model: ' + model); - } - - var i; - var channels; - - if (obj == null) { // eslint-disable-line no-eq-null,eqeqeq - this.model = 'rgb'; - this.color = [0, 0, 0]; - this.valpha = 1; - } else if (obj instanceof Color) { - this.model = obj.model; - this.color = obj.color.slice(); - this.valpha = obj.valpha; - } else if (typeof obj === 'string') { - var result = colorString.get(obj); - if (result === null) { - throw new Error('Unable to parse color from string: ' + obj); - } - - this.model = result.model; - channels = convert[this.model].channels; - this.color = result.value.slice(0, channels); - this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1; - } else if (obj.length) { - this.model = model || 'rgb'; - channels = convert[this.model].channels; - var newArr = _slice.call(obj, 0, channels); - this.color = zeroArray(newArr, channels); - this.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1; - } else if (typeof obj === 'number') { - // this is always RGB - can be converted later on. - obj &= 0xFFFFFF; - this.model = 'rgb'; - this.color = [ - (obj >> 16) & 0xFF, - (obj >> 8) & 0xFF, - obj & 0xFF - ]; - this.valpha = 1; - } else { - this.valpha = 1; - - var keys = Object.keys(obj); - if ('alpha' in obj) { - keys.splice(keys.indexOf('alpha'), 1); - this.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0; - } - - var hashedKeys = keys.sort().join(''); - if (!(hashedKeys in hashedModelKeys)) { - throw new Error('Unable to parse color from object: ' + JSON.stringify(obj)); - } - - this.model = hashedModelKeys[hashedKeys]; - - var labels = convert[this.model].labels; - var color = []; - for (i = 0; i < labels.length; i++) { - color.push(obj[labels[i]]); - } - - this.color = zeroArray(color); - } - - // perform limitations (clamping, etc.) - if (limiters[this.model]) { - channels = convert[this.model].channels; - for (i = 0; i < channels; i++) { - var limit = limiters[this.model][i]; - if (limit) { - this.color[i] = limit(this.color[i]); - } - } - } - - this.valpha = Math.max(0, Math.min(1, this.valpha)); - - if (Object.freeze) { - Object.freeze(this); - } -} - -Color.prototype = { - toString: function () { - return this.string(); - }, - - toJSON: function () { - return this[this.model](); - }, - - string: function (places) { - var self = this.model in colorString.to ? this : this.rgb(); - self = self.round(typeof places === 'number' ? places : 1); - var args = self.valpha === 1 ? self.color : self.color.concat(this.valpha); - return colorString.to[self.model](args); - }, - - percentString: function (places) { - var self = this.rgb().round(typeof places === 'number' ? places : 1); - var args = self.valpha === 1 ? self.color : self.color.concat(this.valpha); - return colorString.to.rgb.percent(args); - }, - - array: function () { - return this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha); - }, - - object: function () { - var result = {}; - var channels = convert[this.model].channels; - var labels = convert[this.model].labels; - - for (var i = 0; i < channels; i++) { - result[labels[i]] = this.color[i]; - } - - if (this.valpha !== 1) { - result.alpha = this.valpha; - } - - return result; - }, - - unitArray: function () { - var rgb = this.rgb().color; - rgb[0] /= 255; - rgb[1] /= 255; - rgb[2] /= 255; - - if (this.valpha !== 1) { - rgb.push(this.valpha); - } - - return rgb; - }, - - unitObject: function () { - var rgb = this.rgb().object(); - rgb.r /= 255; - rgb.g /= 255; - rgb.b /= 255; - - if (this.valpha !== 1) { - rgb.alpha = this.valpha; - } - - return rgb; - }, - - round: function (places) { - places = Math.max(places || 0, 0); - return new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model); - }, - - alpha: function (val) { - if (arguments.length) { - return new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model); - } - - return this.valpha; - }, - - // rgb - red: getset('rgb', 0, maxfn(255)), - green: getset('rgb', 1, maxfn(255)), - blue: getset('rgb', 2, maxfn(255)), - - hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style - - saturationl: getset('hsl', 1, maxfn(100)), - lightness: getset('hsl', 2, maxfn(100)), - - saturationv: getset('hsv', 1, maxfn(100)), - value: getset('hsv', 2, maxfn(100)), - - chroma: getset('hcg', 1, maxfn(100)), - gray: getset('hcg', 2, maxfn(100)), - - white: getset('hwb', 1, maxfn(100)), - wblack: getset('hwb', 2, maxfn(100)), - - cyan: getset('cmyk', 0, maxfn(100)), - magenta: getset('cmyk', 1, maxfn(100)), - yellow: getset('cmyk', 2, maxfn(100)), - black: getset('cmyk', 3, maxfn(100)), - - x: getset('xyz', 0, maxfn(100)), - y: getset('xyz', 1, maxfn(100)), - z: getset('xyz', 2, maxfn(100)), - - l: getset('lab', 0, maxfn(100)), - a: getset('lab', 1), - b: getset('lab', 2), - - keyword: function (val) { - if (arguments.length) { - return new Color(val); - } - - return convert[this.model].keyword(this.color); - }, - - hex: function (val) { - if (arguments.length) { - return new Color(val); - } - - return colorString.to.hex(this.rgb().round().color); - }, - - rgbNumber: function () { - var rgb = this.rgb().color; - return ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF); - }, - - luminosity: function () { - // http://www.w3.org/TR/WCAG20/#relativeluminancedef - var rgb = this.rgb().color; - - var lum = []; - for (var i = 0; i < rgb.length; i++) { - var chan = rgb[i] / 255; - lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4); - } - - return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2]; - }, - - contrast: function (color2) { - // http://www.w3.org/TR/WCAG20/#contrast-ratiodef - var lum1 = this.luminosity(); - var lum2 = color2.luminosity(); - - if (lum1 > lum2) { - return (lum1 + 0.05) / (lum2 + 0.05); - } - - return (lum2 + 0.05) / (lum1 + 0.05); - }, - - level: function (color2) { - var contrastRatio = this.contrast(color2); - if (contrastRatio >= 7.1) { - return 'AAA'; - } - - return (contrastRatio >= 4.5) ? 'AA' : ''; - }, - - isDark: function () { - // YIQ equation from http://24ways.org/2010/calculating-color-contrast - var rgb = this.rgb().color; - var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000; - return yiq < 128; - }, - - isLight: function () { - return !this.isDark(); - }, - - negate: function () { - var rgb = this.rgb(); - for (var i = 0; i < 3; i++) { - rgb.color[i] = 255 - rgb.color[i]; - } - return rgb; - }, - - lighten: function (ratio) { - var hsl = this.hsl(); - hsl.color[2] += hsl.color[2] * ratio; - return hsl; - }, - - darken: function (ratio) { - var hsl = this.hsl(); - hsl.color[2] -= hsl.color[2] * ratio; - return hsl; - }, - - saturate: function (ratio) { - var hsl = this.hsl(); - hsl.color[1] += hsl.color[1] * ratio; - return hsl; - }, - - desaturate: function (ratio) { - var hsl = this.hsl(); - hsl.color[1] -= hsl.color[1] * ratio; - return hsl; - }, - - whiten: function (ratio) { - var hwb = this.hwb(); - hwb.color[1] += hwb.color[1] * ratio; - return hwb; - }, - - blacken: function (ratio) { - var hwb = this.hwb(); - hwb.color[2] += hwb.color[2] * ratio; - return hwb; - }, - - grayscale: function () { - // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale - var rgb = this.rgb().color; - var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11; - return Color.rgb(val, val, val); - }, - - fade: function (ratio) { - return this.alpha(this.valpha - (this.valpha * ratio)); - }, - - opaquer: function (ratio) { - return this.alpha(this.valpha + (this.valpha * ratio)); - }, - - rotate: function (degrees) { - var hsl = this.hsl(); - var hue = hsl.color[0]; - hue = (hue + degrees) % 360; - hue = hue < 0 ? 360 + hue : hue; - hsl.color[0] = hue; - return hsl; - }, - - mix: function (mixinColor, weight) { - // ported from sass implementation in C - // https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209 - if (!mixinColor || !mixinColor.rgb) { - throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor); - } - var color1 = mixinColor.rgb(); - var color2 = this.rgb(); - var p = weight === undefined ? 0.5 : weight; - - var w = 2 * p - 1; - var a = color1.alpha() - color2.alpha(); - - var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0; - var w2 = 1 - w1; - - return Color.rgb( - w1 * color1.red() + w2 * color2.red(), - w1 * color1.green() + w2 * color2.green(), - w1 * color1.blue() + w2 * color2.blue(), - color1.alpha() * p + color2.alpha() * (1 - p)); - } -}; - -// model conversion methods and static constructors -Object.keys(convert).forEach(function (model) { - if (skippedModels.indexOf(model) !== -1) { - return; - } - - var channels = convert[model].channels; - - // conversion methods - Color.prototype[model] = function () { - if (this.model === model) { - return new Color(this); - } - - if (arguments.length) { - return new Color(arguments, model); - } - - var newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha; - return new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model); - }; - - // 'static' construction methods - Color[model] = function (color) { - if (typeof color === 'number') { - color = zeroArray(_slice.call(arguments), channels); - } - return new Color(color, model); - }; -}); - -function roundTo(num, places) { - return Number(num.toFixed(places)); -} - -function roundToPlace(places) { - return function (num) { - return roundTo(num, places); - }; -} - -function getset(model, channel, modifier) { - model = Array.isArray(model) ? model : [model]; - - model.forEach(function (m) { - (limiters[m] || (limiters[m] = []))[channel] = modifier; - }); - - model = model[0]; - - return function (val) { - var result; - - if (arguments.length) { - if (modifier) { - val = modifier(val); - } - - result = this[model](); - result.color[channel] = val; - return result; - } - - result = this[model]().color[channel]; - if (modifier) { - result = modifier(result); - } - - return result; - }; -} - -function maxfn(max) { - return function (v) { - return Math.max(0, Math.min(max, v)); - }; -} - -function assertArray(val) { - return Array.isArray(val) ? val : [val]; -} - -function zeroArray(arr, length) { - for (var i = 0; i < length; i++) { - if (typeof arr[i] !== 'number') { - arr[i] = 0; - } - } - - return arr; -} - -module.exports = Color; - - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -/* MIT license */ -var colorNames = __webpack_require__(5); -var swizzle = __webpack_require__(18); - -var reverseNames = {}; - -// create a list of reverse color names -for (var name in colorNames) { - if (colorNames.hasOwnProperty(name)) { - reverseNames[colorNames[name]] = name; - } -} - -var cs = module.exports = { - to: {}, - get: {} -}; - -cs.get = function (string) { - var prefix = string.substring(0, 3).toLowerCase(); - var val; - var model; - switch (prefix) { - case 'hsl': - val = cs.get.hsl(string); - model = 'hsl'; - break; - case 'hwb': - val = cs.get.hwb(string); - model = 'hwb'; - break; - default: - val = cs.get.rgb(string); - model = 'rgb'; - break; - } - - if (!val) { - return null; - } - - return {model: model, value: val}; -}; - -cs.get.rgb = function (string) { - if (!string) { - return null; - } - - var abbr = /^#([a-f0-9]{3,4})$/i; - var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i; - var rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/; - var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/; - var keyword = /(\D+)/; - - var rgb = [0, 0, 0, 1]; - var match; - var i; - var hexAlpha; - - if (match = string.match(hex)) { - hexAlpha = match[2]; - match = match[1]; - - for (i = 0; i < 3; i++) { - // https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19 - var i2 = i * 2; - rgb[i] = parseInt(match.slice(i2, i2 + 2), 16); - } - - if (hexAlpha) { - rgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100; - } - } else if (match = string.match(abbr)) { - match = match[1]; - hexAlpha = match[3]; - - for (i = 0; i < 3; i++) { - rgb[i] = parseInt(match[i] + match[i], 16); - } - - if (hexAlpha) { - rgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100; - } - } else if (match = string.match(rgba)) { - for (i = 0; i < 3; i++) { - rgb[i] = parseInt(match[i + 1], 0); - } - - if (match[4]) { - rgb[3] = parseFloat(match[4]); - } - } else if (match = string.match(per)) { - for (i = 0; i < 3; i++) { - rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55); - } - - if (match[4]) { - rgb[3] = parseFloat(match[4]); - } - } else if (match = string.match(keyword)) { - if (match[1] === 'transparent') { - return [0, 0, 0, 0]; - } - - rgb = colorNames[match[1]]; - - if (!rgb) { - return null; - } - - rgb[3] = 1; - - return rgb; - } else { - return null; - } - - for (i = 0; i < 3; i++) { - rgb[i] = clamp(rgb[i], 0, 255); - } - rgb[3] = clamp(rgb[3], 0, 1); - - return rgb; -}; - -cs.get.hsl = function (string) { - if (!string) { - return null; - } - - var hsl = /^hsla?\(\s*([+-]?(?:\d*\.)?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/; - var match = string.match(hsl); - - if (match) { - var alpha = parseFloat(match[4]); - var h = (parseFloat(match[1]) + 360) % 360; - var s = clamp(parseFloat(match[2]), 0, 100); - var l = clamp(parseFloat(match[3]), 0, 100); - var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); - - return [h, s, l, a]; - } - - return null; -}; - -cs.get.hwb = function (string) { - if (!string) { - return null; - } - - var hwb = /^hwb\(\s*([+-]?\d*[\.]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/; - var match = string.match(hwb); - - if (match) { - var alpha = parseFloat(match[4]); - var h = ((parseFloat(match[1]) % 360) + 360) % 360; - var w = clamp(parseFloat(match[2]), 0, 100); - var b = clamp(parseFloat(match[3]), 0, 100); - var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); - return [h, w, b, a]; - } - - return null; -}; - -cs.to.hex = function () { - var rgba = swizzle(arguments); - - return ( - '#' + - hexDouble(rgba[0]) + - hexDouble(rgba[1]) + - hexDouble(rgba[2]) + - (rgba[3] < 1 - ? (hexDouble(Math.round(rgba[3] * 255))) - : '') - ); -}; - -cs.to.rgb = function () { - var rgba = swizzle(arguments); - - return rgba.length < 4 || rgba[3] === 1 - ? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')' - : 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')'; -}; - -cs.to.rgb.percent = function () { - var rgba = swizzle(arguments); - - var r = Math.round(rgba[0] / 255 * 100); - var g = Math.round(rgba[1] / 255 * 100); - var b = Math.round(rgba[2] / 255 * 100); - - return rgba.length < 4 || rgba[3] === 1 - ? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)' - : 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')'; -}; - -cs.to.hsl = function () { - var hsla = swizzle(arguments); - return hsla.length < 4 || hsla[3] === 1 - ? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)' - : 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')'; -}; - -// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax -// (hwb have alpha optional & 1 is default value) -cs.to.hwb = function () { - var hwba = swizzle(arguments); - - var a = ''; - if (hwba.length >= 4 && hwba[3] !== 1) { - a = ', ' + hwba[3]; - } - - return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')'; -}; - -cs.to.keyword = function (rgb) { - return reverseNames[rgb.slice(0, 3)]; -}; - -// helpers -function clamp(num, min, max) { - return Math.min(Math.max(min, num), max); -} - -function hexDouble(num) { - var str = num.toString(16).toUpperCase(); - return (str.length < 2) ? '0' + str : str; -} - - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var isArrayish = __webpack_require__(19); - -var concat = Array.prototype.concat; -var slice = Array.prototype.slice; - -var swizzle = module.exports = function swizzle(args) { - var results = []; - - for (var i = 0, len = args.length; i < len; i++) { - var arg = args[i]; - - if (isArrayish(arg)) { - // http://jsperf.com/javascript-array-concat-vs-push/98 - results = concat.call(results, slice.call(arg)); - } else { - results.push(arg); - } - } - - return results; -}; - -swizzle.wrap = function (fn) { - return function () { - return fn(swizzle(arguments)); - }; -}; - - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function isArrayish(obj) { - if (!obj) { - return false; - } - - return obj instanceof Array || Array.isArray(obj) || - (obj.length >= 0 && obj.splice instanceof Function); -}; - - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -var conversions = __webpack_require__(6); -var route = __webpack_require__(21); - -var convert = {}; - -var models = Object.keys(conversions); - -function wrapRaw(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - return fn(args); - }; - - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - var result = fn(args); - - // we're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; - - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(function (fromModel) { - convert[fromModel] = {}; - - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - - var routes = route(fromModel); - var routeModels = Object.keys(routes); - - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; - - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); - -module.exports = convert; - - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -var conversions = __webpack_require__(6); - -/* - this function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - var graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - var models = Object.keys(conversions); - - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} - -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -module.exports = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - - if (node.parent === null) { - // no possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - - - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -var _ColorItem = __webpack_require__(2); - -var _ColorItem2 = _interopRequireDefault(_ColorItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Handles everything related to the colorpicker color - * @ignore - */ -var ColorHandler = function () { - /** - * @param {Colorpicker} colorpicker - */ - function ColorHandler(colorpicker) { - _classCallCheck(this, ColorHandler); - - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - } - - /** - * @returns {*|String|ColorItem} - */ - - - _createClass(ColorHandler, [{ - key: 'bind', - value: function bind() { - // if the color option is set - if (this.colorpicker.options.color) { - this.color = this.createColor(this.colorpicker.options.color); - return; - } - - // if element[color] is empty and the input has a value - if (!this.color && !!this.colorpicker.inputHandler.getValue()) { - this.color = this.createColor(this.colorpicker.inputHandler.getValue(), this.colorpicker.options.autoInputFallback); - } - } - }, { - key: 'unbind', - value: function unbind() { - this.colorpicker.element.removeData('color'); - } - - /** - * Returns the color string from the input value or the 'data-color' attribute of the input or element. - * If empty, it returns the defaultValue parameter. - * - * @returns {String|*} - */ - - }, { - key: 'getColorString', - value: function getColorString() { - if (!this.hasColor()) { - return ''; - } - - return this.color.string(this.format); - } - - /** - * Sets the color value - * - * @param {String|ColorItem} val - */ - - }, { - key: 'setColorString', - value: function setColorString(val) { - var color = val ? this.createColor(val) : null; - - this.color = color ? color : null; - } - - /** - * Creates a new color using the widget instance options (fallbackColor, format). - * - * @fires Colorpicker#colorpickerInvalid - * @param {*} val - * @param {boolean} fallbackOnInvalid - * @param {boolean} autoHexInputFallback - * @returns {ColorItem} - */ - - }, { - key: 'createColor', - value: function createColor(val) { - var fallbackOnInvalid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var autoHexInputFallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - var disableHexInputFallback = !fallbackOnInvalid && !autoHexInputFallback; - - var color = new _ColorItem2.default(this.resolveColorDelegate(val), this.format, disableHexInputFallback); - - if (!color.isValid()) { - if (fallbackOnInvalid) { - color = this.getFallbackColor(); - } - - /** - * (Colorpicker) Fired when the color is invalid and the fallback color is going to be used. - * - * @event Colorpicker#colorpickerInvalid - */ - this.colorpicker.trigger('colorpickerInvalid', color, val); - } - - if (!this.isAlphaEnabled()) { - // Alpha is disabled - color.alpha = 1; - } - - return color; - } - }, { - key: 'getFallbackColor', - value: function getFallbackColor() { - if (this.fallback && this.fallback === this.color) { - return this.color; - } - - var fallback = this.resolveColorDelegate(this.fallback); - - var color = new _ColorItem2.default(fallback, this.format); - - if (!color.isValid()) { - console.warn('The fallback color is invalid. Falling back to the previous color or black if any.'); - return this.color ? this.color : new _ColorItem2.default('#000000', this.format); - } - - return color; - } - - /** - * @returns {ColorItem} - */ - - }, { - key: 'assureColor', - value: function assureColor() { - if (!this.hasColor()) { - this.color = this.getFallbackColor(); - } - - return this.color; - } - - /** - * Delegates the color resolution to the colorpicker extensions. - * - * @param {String|*} color - * @param {boolean} realColor if true, the color should resolve into a real (not named) color code - * @returns {ColorItem|String|*|null} - */ - - }, { - key: 'resolveColorDelegate', - value: function resolveColorDelegate(color) { - var realColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - - var extResolvedColor = false; - - _jquery2.default.each(this.colorpicker.extensions, function (name, ext) { - if (extResolvedColor !== false) { - // skip if resolved - return; - } - extResolvedColor = ext.resolveColor(color, realColor); - }); - - return extResolvedColor ? extResolvedColor : color; - } - - /** - * Checks if there is a color object, that it is valid and it is not a fallback - * @returns {boolean} - */ - - }, { - key: 'isInvalidColor', - value: function isInvalidColor() { - return !this.hasColor() || !this.color.isValid(); - } - - /** - * Returns true if the useAlpha option is exactly true, false otherwise - * @returns {boolean} - */ - - }, { - key: 'isAlphaEnabled', - value: function isAlphaEnabled() { - return this.colorpicker.options.useAlpha !== false; - } - - /** - * Returns true if the current color object is an instance of Color, false otherwise. - * @returns {boolean} - */ - - }, { - key: 'hasColor', - value: function hasColor() { - return this.color instanceof _ColorItem2.default; - } - }, { - key: 'fallback', - get: function get() { - return this.colorpicker.options.fallbackColor ? this.colorpicker.options.fallbackColor : this.hasColor() ? this.color : null; - } - - /** - * @returns {String|null} - */ - - }, { - key: 'format', - get: function get() { - if (this.colorpicker.options.format) { - return this.colorpicker.options.format; - } - - if (this.hasColor() && this.color.hasTransparency() && this.color.format.match(/^hex/)) { - return this.isAlphaEnabled() ? 'rgba' : 'hex'; - } - - if (this.hasColor()) { - return this.color.format; - } - - return 'rgb'; - } - - /** - * Internal color getter - * - * @type {ColorItem|null} - */ - - }, { - key: 'color', - get: function get() { - return this.colorpicker.element.data('color'); - } - - /** - * Internal color setter - * - * @ignore - * @param {ColorItem|null} value - */ - , - set: function set(value) { - this.colorpicker.element.data('color', value); - - if (value instanceof _ColorItem2.default && this.colorpicker.options.format === 'auto') { - // If format is 'auto', use the first parsed one from now on - this.colorpicker.options.format = this.color.format; - } - } - }]); - - return ColorHandler; -}(); - -exports.default = ColorHandler; -module.exports = exports.default; - -/***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _jquery = __webpack_require__(0); - -var _jquery2 = _interopRequireDefault(_jquery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Handles everything related to the colorpicker UI - * @ignore - */ -var PickerHandler = function () { - /** - * @param {Colorpicker} colorpicker - */ - function PickerHandler(colorpicker) { - _classCallCheck(this, PickerHandler); - - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * @type {jQuery} - */ - this.picker = null; - } - - _createClass(PickerHandler, [{ - key: 'bind', - value: function bind() { - /** - * @type {jQuery|HTMLElement} - */ - var picker = this.picker = (0, _jquery2.default)(this.options.template); - - if (this.options.customClass) { - picker.addClass(this.options.customClass); - } - - if (this.options.horizontal) { - picker.addClass('colorpicker-horizontal'); - } - - if (this._supportsAlphaBar()) { - this.options.useAlpha = true; - picker.addClass('colorpicker-with-alpha'); - } else { - this.options.useAlpha = false; - } - } - }, { - key: 'attach', - value: function attach() { - // Inject the colorpicker element into the DOM - var pickerParent = this.colorpicker.container ? this.colorpicker.container : null; - - if (pickerParent) { - this.picker.appendTo(pickerParent); - } - } - }, { - key: 'unbind', - value: function unbind() { - this.picker.remove(); - } - }, { - key: '_supportsAlphaBar', - value: function _supportsAlphaBar() { - return (this.options.useAlpha || this.colorpicker.colorHandler.hasColor() && this.color.hasTransparency()) && this.options.useAlpha !== false && (!this.options.format || this.options.format && !this.options.format.match(/^hex([36])?$/i)); - } - - /** - * Changes the color adjustment bars using the current color object information. - */ - - }, { - key: 'update', - value: function update() { - if (!this.colorpicker.colorHandler.hasColor()) { - return; - } - - var vertical = this.options.horizontal !== true, - slider = vertical ? this.options.sliders : this.options.slidersHorz; - - var saturationGuide = this.picker.find('.colorpicker-saturation .colorpicker-guide'), - hueGuide = this.picker.find('.colorpicker-hue .colorpicker-guide'), - alphaGuide = this.picker.find('.colorpicker-alpha .colorpicker-guide'); - - var hsva = this.color.toHsvaRatio(); - - // Set guides position - if (hueGuide.length) { - hueGuide.css(vertical ? 'top' : 'left', (vertical ? slider.hue.maxTop : slider.hue.maxLeft) * (1 - hsva.h)); - } - if (alphaGuide.length) { - alphaGuide.css(vertical ? 'top' : 'left', (vertical ? slider.alpha.maxTop : slider.alpha.maxLeft) * (1 - hsva.a)); - } - if (saturationGuide.length) { - saturationGuide.css({ - 'top': slider.saturation.maxTop - hsva.v * slider.saturation.maxTop, - 'left': hsva.s * slider.saturation.maxLeft - }); - } - - // Set saturation hue background - this.picker.find('.colorpicker-saturation').css('backgroundColor', this.color.getCloneHueOnly().toHexString()); // we only need hue - - // Set alpha color gradient - var hexColor = this.color.toHexString(); - - var alphaBg = ''; - - if (this.options.horizontal) { - alphaBg = 'linear-gradient(to right, ' + hexColor + ' 0%, transparent 100%)'; - } else { - alphaBg = 'linear-gradient(to bottom, ' + hexColor + ' 0%, transparent 100%)'; - } - - this.picker.find('.colorpicker-alpha-color').css('background', alphaBg); - } - }, { - key: 'options', - get: function get() { - return this.colorpicker.options; - } - }, { - key: 'color', - get: function get() { - return this.colorpicker.colorHandler.color; - } - }]); - - return PickerHandler; -}(); - -exports.default = PickerHandler; -module.exports = exports.default; - -/***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Handles everything related to the colorpicker addon - * @ignore - */ - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var AddonHandler = function () { - /** - * @param {Colorpicker} colorpicker - */ - function AddonHandler(colorpicker) { - _classCallCheck(this, AddonHandler); - - /** - * @type {Colorpicker} - */ - this.colorpicker = colorpicker; - /** - * @type {jQuery} - */ - this.addon = null; - } - - _createClass(AddonHandler, [{ - key: 'hasAddon', - value: function hasAddon() { - return !!this.addon; - } - }, { - key: 'bind', - value: function bind() { - /** - * @type {*|jQuery} - */ - this.addon = this.colorpicker.options.addon ? this.colorpicker.element.find(this.colorpicker.options.addon) : null; - - if (this.addon && this.addon.length === 0) { - // not found - this.addon = null; - } - } - }, { - key: 'unbind', - value: function unbind() { - if (this.hasAddon()) { - this.addon.off('.colorpicker'); - } - } - - /** - * If the addon element is present, its background color is updated - */ - - }, { - key: 'update', - value: function update() { - if (!this.colorpicker.colorHandler.hasColor() || !this.hasAddon()) { - return; - } - - var colorStr = this.colorpicker.colorHandler.getColorString(); - - var styles = { 'background': colorStr }; - - var icn = this.addon.find('i').eq(0); - - if (icn.length > 0) { - icn.css(styles); - } else { - this.addon.css(styles); - } - } - }]); - - return AddonHandler; -}(); - -exports.default = AddonHandler; -module.exports = exports.default; - -/***/ }) -/******/ ]); -}); -//# sourceMappingURL=bootstrap-colorpicker.js.map \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js.map b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js.map deleted file mode 100644 index a0ec108..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://bootstrap-colorpicker/webpack/universalModuleDefinition","webpack://bootstrap-colorpicker/webpack/bootstrap","webpack://bootstrap-colorpicker/external {\"root\":\"jQuery\",\"commonjs2\":\"jquery\",\"commonjs\":\"jquery\",\"amd\":\"jquery\"}","webpack://bootstrap-colorpicker/./src/js/Extension.js","webpack://bootstrap-colorpicker/./src/js/ColorItem.js","webpack://bootstrap-colorpicker/./src/js/options.js","webpack://bootstrap-colorpicker/./src/js/extensions/Palette.js","webpack://bootstrap-colorpicker/./node_modules/color-name/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/conversions.js","webpack://bootstrap-colorpicker/./src/js/plugin.js","webpack://bootstrap-colorpicker/./src/js/Colorpicker.js","webpack://bootstrap-colorpicker/./src/js/extensions/index.js","webpack://bootstrap-colorpicker/./src/js/extensions/Debugger.js","webpack://bootstrap-colorpicker/./src/js/extensions/Preview.js","webpack://bootstrap-colorpicker/./src/js/extensions/Swatches.js","webpack://bootstrap-colorpicker/./src/js/SliderHandler.js","webpack://bootstrap-colorpicker/./src/js/PopupHandler.js","webpack://bootstrap-colorpicker/./src/js/InputHandler.js","webpack://bootstrap-colorpicker/./node_modules/color/index.js","webpack://bootstrap-colorpicker/./node_modules/color-string/index.js","webpack://bootstrap-colorpicker/./node_modules/simple-swizzle/index.js","webpack://bootstrap-colorpicker/./node_modules/is-arrayish/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/route.js","webpack://bootstrap-colorpicker/./src/js/ColorHandler.js","webpack://bootstrap-colorpicker/./src/js/PickerHandler.js","webpack://bootstrap-colorpicker/./src/js/AddonHandler.js"],"names":["Extension","colorpicker","options","element","length","Error","on","$","proxy","onCreate","onDestroy","onUpdate","onChange","onInvalid","onShow","onHide","onEnable","onDisable","color","realColor","event","off","HSVAColor","h","s","v","a","isNaN","ColorItem","fn","args","arguments","_color","result","apply","QixColor","format","_original","disableHexInputFallback","replace","sanitizeFormat","valid","parse","_format","isHex","model","hue","saturation","value","alpha","hasAlpha","toObject","string","round","undefined","str","isValid","isDark","isLight","formula","hues","Array","isArray","colorFormulas","hasOwnProperty","colors","mainColor","forEach","levels","saturationv","push","Math","sanitizeString","e","String","match","toLowerCase","complementary","triad","tetrad","splitcomplement","sassVars","sliderSize","bar_size_short","columns","base_margin","customClass","fallbackColor","horizontal","inline","container","popover","animation","placement","fallbackPlacement","debug","input","addon","autoInputFallback","autoHexInputFallback","useHashPrefix","useAlpha","template","extensions","name","showText","sliders","selector","maxLeft","maxTop","callLeft","callTop","childSelector","slidersHorz","defaults","namesAsValues","Palette","extend","Object","keys","getLength","indexOf","toUpperCase","getValue","getName","defaultValue","plugin","Colorpicker","option","fnArgs","prototype","slice","call","isSingleElement","returnValue","$elements","each","$this","inst","data","isFunction","constructor","colorPickerIdCounter","root","self","colorHandler","pickerHandler","picker","id","lastEvent","alias","addClass","attr","disabled","inputHandler","InputHandler","ColorHandler","sliderHandler","SliderHandler","popupHandler","PopupHandler","PickerHandler","addonHandler","AddonHandler","init","trigger","bind","initExtensions","attach","update","isDisabled","disable","ext","registerExtension","ExtensionClass","config","unbind","removeClass","removeData","show","hide","toggle","val","ch","hasColor","equals","createColor","assureColor","enable","eventName","type","coreExtensions","Debugger","Preview","Swatches","eventCounter","hasInput","onChangeInput","logMessage","debugger","logArgs","log","elementInner","find","append","css","html","toRgbString","barTemplate","swatchTemplate","isEnabled","load","swatchContainer","isAliased","empty","$swatch","$sw","setValue","currentSlider","mousePointer","left","top","onMove","defaultOnMove","slider","cp","getFallbackColor","getClone","guideStyle","focus","sliderClasses","sliderName","join","pressed","moved","released","pageX","pageY","originalEvent","touches","target","zone","closest","is","parent","guide","get","offset","style","preventDefault","max","min","popoverTarget","popoverTip","clicking","hidding","showing","hasAddon","createPopover","reposition","document","onClickingInside","isOrIsInside","currentTarget","isClickingInside","_defaults","content","useGetInstance","window","bootstrap","Popover","getInstance","getTipElement","tip","fireShow","fireHide","isVisible","stopPropagation","isPopover","isHidden","hasClass","_initValue","onkeyup","onchange","map","item","getFormattedColor","prop","inputVal","getColorString","resolveColorDelegate","isInvalidColor","fallbackOnInvalid","isAlphaEnabled","fallback","console","warn","extResolvedColor","resolveColor","hasTransparency","_supportsAlphaBar","pickerParent","appendTo","remove","vertical","saturationGuide","hueGuide","alphaGuide","hsva","toHsvaRatio","getCloneHueOnly","toHexString","hexColor","alphaBg","colorStr","styles","icn","eq"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA,kBAAkB,mBAAO,CAAC,CAAY;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,QAAQ,4BAA4B;AACpC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,6BAA6B;AACpC,WAAW,iCAAiC;AAC5C,UAAU,gCAAgC;AAC1C,WAAW,iCAAiC;AAC5C,OAAO,qCAAqC;AAC5C,SAAS,2CAA2C;AACpD,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE,mDAAmD,cAAc;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,QAAQ;AAC/B,gBAAgB,OAAO,QAAQ;AAC/B,iBAAiB,OAAO,OAAO;AAC/B,iBAAiB,OAAO,OAAO;AAC/B,gBAAgB,QAAQ,OAAO;AAC/B,gBAAgB,QAAQ,OAAO;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sEAAsE;;AAEtE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,EAAE,UAAU,EAAE;AAC7D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACn2Ba;;;;AAEb;;;;AACA;;;;;;AAEA,IAAIU,SAAS,aAAb;;AAEAvH,iBAAEuH,MAAF,IAAYC,qBAA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zB,KAAd,EAAqB;AACnB,aAAK/C,WAAL,CAAiBwN,QAAjB,CAA0BnC,GAA1B;AACD;AACF;;;;;;kBAGY3B,Y;;;;;;;;AClQF;;AAEb,kBAAkB,mBAAO,CAAC,EAAc;AACxC,cAAc,mBAAO,CAAC,EAAe;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,qEAAqE,kCAAkC,EAAE;;AAEzG;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjeA;AACA,iBAAiB,mBAAO,CAAC,CAAY;AACrC,cAAc,mBAAO,CAAC,EAAgB;;AAEtC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,IAAI;AAC7B,wBAAwB,EAAE,WAAW,EAAE;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;A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","file":"bootstrap-colorpicker.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"bootstrap-colorpicker\", [\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"bootstrap-colorpicker\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"bootstrap-colorpicker\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Colorpicker extension class.\n */\nclass Extension {\n /**\n * @param {Colorpicker} colorpicker\n * @param {Object} options\n */\n constructor(colorpicker, options = {}) {\n /**\n * The colorpicker instance\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * Extension options\n *\n * @type {Object}\n */\n this.options = options;\n\n if (!(this.colorpicker.element && this.colorpicker.element.length)) {\n throw new Error('Extension: this.colorpicker.element is not valid');\n }\n\n this.colorpicker.element.on('colorpickerCreate.colorpicker-ext', $.proxy(this.onCreate, this));\n this.colorpicker.element.on('colorpickerDestroy.colorpicker-ext', $.proxy(this.onDestroy, this));\n this.colorpicker.element.on('colorpickerUpdate.colorpicker-ext', $.proxy(this.onUpdate, this));\n this.colorpicker.element.on('colorpickerChange.colorpicker-ext', $.proxy(this.onChange, this));\n this.colorpicker.element.on('colorpickerInvalid.colorpicker-ext', $.proxy(this.onInvalid, this));\n this.colorpicker.element.on('colorpickerShow.colorpicker-ext', $.proxy(this.onShow, this));\n this.colorpicker.element.on('colorpickerHide.colorpicker-ext', $.proxy(this.onHide, this));\n this.colorpicker.element.on('colorpickerEnable.colorpicker-ext', $.proxy(this.onEnable, this));\n this.colorpicker.element.on('colorpickerDisable.colorpicker-ext', $.proxy(this.onDisable, this));\n }\n\n /**\n * Function called every time a new color needs to be created.\n * Return false to skip this resolver and continue with other extensions' ones\n * or return anything else to consider the color resolved.\n *\n * @param {ColorItem|String|*} color\n * @param {boolean} realColor if true, the color should resolve into a real (not named) color code\n * @return {ColorItem|String|*}\n */\n resolveColor(color, realColor = true) {\n return false;\n }\n\n /**\n * Method called after the colorpicker is created\n *\n * @listens Colorpicker#colorpickerCreate\n * @param {Event} event\n */\n onCreate(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is destroyed\n *\n * @listens Colorpicker#colorpickerDestroy\n * @param {Event} event\n */\n onDestroy(event) {\n this.colorpicker.element.off('.colorpicker-ext');\n }\n\n /**\n * Method called after the colorpicker is updated\n *\n * @listens Colorpicker#colorpickerUpdate\n * @param {Event} event\n */\n onUpdate(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker color is changed\n *\n * @listens Colorpicker#colorpickerChange\n * @param {Event} event\n */\n onChange(event) {\n // to be extended\n }\n\n /**\n * Method called when the colorpicker color is invalid\n *\n * @listens Colorpicker#colorpickerInvalid\n * @param {Event} event\n */\n onInvalid(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is hidden\n *\n * @listens Colorpicker#colorpickerHide\n * @param {Event} event\n */\n onHide(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is shown\n *\n * @listens Colorpicker#colorpickerShow\n * @param {Event} event\n */\n onShow(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is disabled\n *\n * @listens Colorpicker#colorpickerDisable\n * @param {Event} event\n */\n onDisable(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is enabled\n *\n * @listens Colorpicker#colorpickerEnable\n * @param {Event} event\n */\n onEnable(event) {\n // to be extended\n }\n}\n\nexport default Extension;\n","/**\n * Color manipulation class, specific for Bootstrap Colorpicker\n */\nimport QixColor from 'color';\n\n/**\n * HSVA color data class, containing the hue, saturation, value and alpha\n * information.\n */\nclass HSVAColor {\n /**\n * @param {number|int} h\n * @param {number|int} s\n * @param {number|int} v\n * @param {number|int} a\n */\n constructor(h, s, v, a) {\n this.h = isNaN(h) ? 0 : h;\n this.s = isNaN(s) ? 0 : s;\n this.v = isNaN(v) ? 0 : v;\n this.a = isNaN(h) ? 1 : a;\n }\n\n toString() {\n return `${this.h}, ${this.s}%, ${this.v}%, ${this.a}`;\n }\n}\n\n/**\n * HSVA color manipulation\n */\nclass ColorItem {\n\n /**\n * Returns the HSVAColor class\n *\n * @static\n * @example let colorData = new ColorItem.HSVAColor(360, 100, 100, 1);\n * @returns {HSVAColor}\n */\n static get HSVAColor() {\n return HSVAColor;\n }\n\n /**\n * Applies a method of the QixColor API and returns a new Color object or\n * the return value of the method call.\n *\n * If no argument is provided, the internal QixColor object is returned.\n *\n * @param {String} fn QixColor function name\n * @param args QixColor function arguments\n * @example let darkerColor = color.api('darken', 0.25);\n * @example let luminosity = color.api('luminosity');\n * @example color = color.api('negate');\n * @example let qColor = color.api().negate();\n * @returns {ColorItem|QixColor|*}\n */\n api(fn, ...args) {\n if (arguments.length === 0) {\n return this._color;\n }\n\n let result = this._color[fn].apply(this._color, args);\n\n if (!(result instanceof QixColor)) {\n // return result of the method call\n return result;\n }\n\n return new ColorItem(result, this.format);\n }\n\n /**\n * Returns the original ColorItem constructor data,\n * plus a 'valid' flag to know if it's valid or not.\n *\n * @returns {{color: *, format: String, valid: boolean}}\n */\n get original() {\n return this._original;\n }\n\n /**\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'.\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n */\n constructor(color = null, format = null, disableHexInputFallback = false) {\n this.replace(color, format, disableHexInputFallback);\n }\n\n /**\n * Replaces the internal QixColor object with a new one.\n * This also replaces the internal original color data.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data to be parsed (if needed)\n * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'.\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n * @example color.replace('rgb(255,0,0)', 'hsl');\n * @example color.replace(hsvaColorData);\n */\n replace(color, format = null, disableHexInputFallback = false) {\n format = ColorItem.sanitizeFormat(format);\n\n /**\n * @type {{color: *, format: String}}\n * @private\n */\n this._original = {\n color: color,\n format: format,\n valid: true\n };\n /**\n * @type {QixColor}\n * @private\n */\n this._color = ColorItem.parse(color, disableHexInputFallback);\n\n if (this._color === null) {\n this._color = QixColor();\n this._original.valid = false;\n return;\n }\n\n /**\n * @type {*|string}\n * @private\n */\n this._format = format ? format :\n (ColorItem.isHex(color) ? 'hex' : this._color.model);\n }\n\n /**\n * Parses the color returning a Qix Color object or null if cannot be\n * parsed.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n * @example let qColor = ColorItem.parse('rgb(255,0,0)');\n * @static\n * @returns {QixColor|null}\n */\n static parse(color, disableHexInputFallback = false) {\n if (color instanceof QixColor) {\n return color;\n }\n\n if (color instanceof ColorItem) {\n return color._color;\n }\n\n let format = null;\n\n if (color instanceof HSVAColor) {\n color = [color.h, color.s, color.v, isNaN(color.a) ? 1 : color.a];\n } else {\n color = ColorItem.sanitizeString(color);\n }\n\n if (color === null) {\n return null;\n }\n\n if (Array.isArray(color)) {\n format = 'hsv';\n }\n\n if (ColorItem.isHex(color) && (color.length !== 6 && color.length !== 7) && disableHexInputFallback) {\n return null;\n }\n\n try {\n return QixColor(color, format);\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Sanitizes a color string, adding missing hash to hexadecimal colors\n * and converting 'transparent' to a color code.\n *\n * @param {String|*} str Color string\n * @example let colorStr = ColorItem.sanitizeString('ffaa00');\n * @static\n * @returns {String|*}\n */\n static sanitizeString(str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n return str;\n }\n\n if (str.match(/^[0-9a-f]{2,}$/i)) {\n return `#${str}`;\n }\n\n if (str.toLowerCase() === 'transparent') {\n return '#FFFFFF00';\n }\n\n return str;\n }\n\n /**\n * Detects if a value is a string and a color in hexadecimal format (in any variant).\n *\n * @param {String} str\n * @example ColorItem.isHex('rgba(0,0,0)'); // false\n * @example ColorItem.isHex('ffaa00'); // true\n * @example ColorItem.isHex('#ffaa00'); // true\n * @static\n * @returns {boolean}\n */\n static isHex(str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n return false;\n }\n\n return !!str.match(/^#?[0-9a-f]{2,}$/i);\n }\n\n /**\n * Sanitizes a color format to one supported by web browsers.\n * Returns an empty string of the format can't be recognised.\n *\n * @param {String|*} format\n * @example ColorItem.sanitizeFormat('rgba'); // 'rgb'\n * @example ColorItem.isHex('hex8'); // 'hex'\n * @example ColorItem.isHex('invalid'); // ''\n * @static\n * @returns {String} 'rgb', 'hsl', 'hex' or ''.\n */\n static sanitizeFormat(format) {\n switch (format) {\n case 'hex':\n case 'hex3':\n case 'hex4':\n case 'hex6':\n case 'hex8':\n return 'hex';\n case 'rgb':\n case 'rgba':\n case 'keyword':\n case 'name':\n return 'rgb';\n case 'hsl':\n case 'hsla':\n case 'hsv':\n case 'hsva':\n case 'hwb': // HWB this is supported by Qix Color, but not by browsers\n case 'hwba':\n return 'hsl';\n default :\n return '';\n }\n }\n\n /**\n * Returns true if the color is valid, false if not.\n *\n * @returns {boolean}\n */\n isValid() {\n return this._original.valid === true;\n }\n\n /**\n * Hue value from 0 to 360\n *\n * @returns {int}\n */\n get hue() {\n return this._color.hue();\n }\n\n /**\n * Saturation value from 0 to 100\n *\n * @returns {int}\n */\n get saturation() {\n return this._color.saturationv();\n }\n\n /**\n * Value channel value from 0 to 100\n *\n * @returns {int}\n */\n get value() {\n return this._color.value();\n }\n\n /**\n * Alpha value from 0.0 to 1.0\n *\n * @returns {number}\n */\n get alpha() {\n let a = this._color.alpha();\n\n return isNaN(a) ? 1 : a;\n }\n\n /**\n * Default color format to convert to when calling toString() or string()\n *\n * @returns {String} 'rgb', 'hsl', 'hex' or ''\n */\n get format() {\n return this._format ? this._format : this._color.model;\n }\n\n /**\n * Sets the hue value\n *\n * @param {int} value Integer from 0 to 360\n */\n set hue(value) {\n this._color = this._color.hue(value);\n }\n\n /**\n * Sets the hue ratio, where 1.0 is 0, 0.5 is 180 and 0.0 is 360.\n *\n * @ignore\n * @param {number} h Ratio from 1.0 to 0.0\n */\n setHueRatio(h) {\n this.hue = ((1 - h) * 360);\n }\n\n /**\n * Sets the saturation value\n *\n * @param {int} value Integer from 0 to 100\n */\n set saturation(value) {\n this._color = this._color.saturationv(value);\n }\n\n /**\n * Sets the saturation ratio, where 1.0 is 100 and 0.0 is 0.\n *\n * @ignore\n * @param {number} s Ratio from 0.0 to 1.0\n */\n setSaturationRatio(s) {\n this.saturation = (s * 100);\n }\n\n /**\n * Sets the 'value' channel value\n *\n * @param {int} value Integer from 0 to 100\n */\n set value(value) {\n this._color = this._color.value(value);\n }\n\n /**\n * Sets the value ratio, where 1.0 is 0 and 0.0 is 100.\n *\n * @ignore\n * @param {number} v Ratio from 1.0 to 0.0\n */\n setValueRatio(v) {\n this.value = ((1 - v) * 100);\n }\n\n /**\n * Sets the alpha value. It will be rounded to 2 decimals.\n *\n * @param {int} value Float from 0.0 to 1.0\n */\n set alpha(value) {\n // 2 decimals max\n this._color = this._color.alpha(Math.round(value * 100) / 100);\n }\n\n /**\n * Sets the alpha ratio, where 1.0 is 0.0 and 0.0 is 1.0.\n *\n * @ignore\n * @param {number} a Ratio from 1.0 to 0.0\n */\n setAlphaRatio(a) {\n this.alpha = 1 - a;\n }\n\n /**\n * Sets the default color format\n *\n * @param {String} value Supported: 'rgb', 'hsl', 'hex'\n */\n set format(value) {\n this._format = ColorItem.sanitizeFormat(value);\n }\n\n /**\n * Returns true if the saturation value is zero, false otherwise\n *\n * @returns {boolean}\n */\n isDesaturated() {\n return this.saturation === 0;\n }\n\n /**\n * Returns true if the alpha value is zero, false otherwise\n *\n * @returns {boolean}\n */\n isTransparent() {\n return this.alpha === 0;\n }\n\n /**\n * Returns true if the alpha value is numeric and less than 1, false otherwise\n *\n * @returns {boolean}\n */\n hasTransparency() {\n return this.hasAlpha() && (this.alpha < 1);\n }\n\n /**\n * Returns true if the alpha value is numeric, false otherwise\n *\n * @returns {boolean}\n */\n hasAlpha() {\n return !isNaN(this.alpha);\n }\n\n /**\n * Returns a new HSVAColor object, based on the current color\n *\n * @returns {HSVAColor}\n */\n toObject() {\n return new HSVAColor(this.hue, this.saturation, this.value, this.alpha);\n }\n\n /**\n * Alias of toObject()\n *\n * @returns {HSVAColor}\n */\n toHsva() {\n return this.toObject();\n }\n\n /**\n * Returns a new HSVAColor object with the ratio values (from 0.0 to 1.0),\n * based on the current color.\n *\n * @ignore\n * @returns {HSVAColor}\n */\n toHsvaRatio() {\n return new HSVAColor(\n this.hue / 360,\n this.saturation / 100,\n this.value / 100,\n this.alpha\n );\n }\n\n /**\n * Converts the current color to its string representation,\n * using the internal format of this instance.\n *\n * @returns {String}\n */\n toString() {\n return this.string();\n }\n\n /**\n * Converts the current color to its string representation,\n * using the given format.\n *\n * @param {String|null} format Format to convert to. If empty or null, the internal format will be used.\n * @returns {String}\n */\n string(format = null) {\n format = ColorItem.sanitizeFormat(format ? format : this.format);\n\n if (!format) {\n return this._color.round().string();\n }\n\n if (this._color[format] === undefined) {\n throw new Error(`Unsupported color format: '${format}'`);\n }\n\n let str = this._color[format]();\n\n return str.round ? str.round().string() : str;\n }\n\n /**\n * Returns true if the given color values equals this one, false otherwise.\n * The format is not compared.\n * If any of the colors is invalid, the result will be false.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n *\n * @returns {boolean}\n */\n equals(color) {\n color = (color instanceof ColorItem) ? color : new ColorItem(color);\n\n if (!color.isValid() || !this.isValid()) {\n return false;\n }\n\n return (\n this.hue === color.hue &&\n this.saturation === color.saturation &&\n this.value === color.value &&\n this.alpha === color.alpha\n );\n }\n\n /**\n * Creates a copy of this instance\n *\n * @returns {ColorItem}\n */\n getClone() {\n return new ColorItem(this._color, this.format);\n }\n\n /**\n * Creates a copy of this instance, only copying the hue value,\n * and setting the others to its max value.\n *\n * @returns {ColorItem}\n */\n getCloneHueOnly() {\n return new ColorItem([this.hue, 100, 100, 1], this.format);\n }\n\n /**\n * Creates a copy of this instance setting the alpha to the max.\n *\n * @returns {ColorItem}\n */\n getCloneOpaque() {\n return new ColorItem(this._color.alpha(1), this.format);\n }\n\n /**\n * Converts the color to a RGB string\n *\n * @returns {String}\n */\n toRgbString() {\n return this.string('rgb');\n }\n\n /**\n * Converts the color to a Hexadecimal string\n *\n * @returns {String}\n */\n toHexString() {\n return this.string('hex');\n }\n\n /**\n * Converts the color to a HSL string\n *\n * @returns {String}\n */\n toHslString() {\n return this.string('hsl');\n }\n\n /**\n * Returns true if the color is dark, false otherwhise.\n * This is useful to decide a text color.\n *\n * @returns {boolean}\n */\n isDark() {\n return this._color.isDark();\n }\n\n /**\n * Returns true if the color is light, false otherwhise.\n * This is useful to decide a text color.\n *\n * @returns {boolean}\n */\n isLight() {\n return this._color.isLight();\n }\n\n /**\n * Generates a list of colors using the given hue-based formula or the given array of hue values.\n * Hue formulas can be extended using ColorItem.colorFormulas static property.\n *\n * @param {String|Number[]} formula Examples: 'complementary', 'triad', 'tetrad', 'splitcomplement', [180, 270]\n * @example let colors = color.generate('triad');\n * @example let colors = color.generate([45, 80, 112, 200]);\n * @returns {ColorItem[]}\n */\n generate(formula) {\n let hues = [];\n\n if (Array.isArray(formula)) {\n hues = formula;\n } else if (!ColorItem.colorFormulas.hasOwnProperty(formula)) {\n throw new Error(`No color formula found with the name '${formula}'.`);\n } else {\n hues = ColorItem.colorFormulas[formula];\n }\n\n let colors = [], mainColor = this._color, format = this.format;\n\n hues.forEach(function (hue) {\n let levels = [\n hue ? ((mainColor.hue() + hue) % 360) : mainColor.hue(),\n mainColor.saturationv(),\n mainColor.value(),\n mainColor.alpha()\n ];\n\n colors.push(new ColorItem(levels, format));\n });\n\n return colors;\n }\n}\n\n/**\n * List of hue-based color formulas used by ColorItem.prototype.generate()\n *\n * @static\n * @type {{complementary: number[], triad: number[], tetrad: number[], splitcomplement: number[]}}\n */\nColorItem.colorFormulas = {\n complementary: [180],\n triad: [0, 120, 240],\n tetrad: [0, 90, 180, 270],\n splitcomplement: [0, 72, 216]\n};\n\nexport default ColorItem;\n\nexport {\n HSVAColor,\n ColorItem\n};\n","'use strict';\n/**\n * @module\n */\n\n// adjust these values accordingly to the sass vars\nlet sassVars = {\n 'bar_size_short': 16,\n 'base_margin': 6,\n 'columns': 6\n};\n\nlet sliderSize = (sassVars.bar_size_short * sassVars.columns) + (sassVars.base_margin * (sassVars.columns - 1));\n\n/**\n * Colorpicker default options\n */\nexport default {\n /**\n * Custom class to be added to the `.colorpicker-element` element\n *\n * @type {String|null}\n * @default null\n */\n customClass: null,\n /**\n * Sets a initial color, ignoring the one from the element/input value or the data-color attribute.\n *\n * @type {(String|ColorItem|boolean)}\n * @default false\n */\n color: false,\n /**\n * Fallback color to use when the given color is invalid.\n * If false, the latest valid color will be used as a fallback.\n *\n * @type {String|ColorItem|boolean}\n * @default false\n */\n fallbackColor: false,\n /**\n * Forces an specific color format. If 'auto', it will be automatically detected the first time only,\n * but if null it will be always recalculated.\n *\n * Note that the ending 'a' of the format meaning \"alpha\" has currently no effect, meaning that rgb is the same as\n * rgba excepting if the alpha channel is disabled (see useAlpha).\n *\n * @type {('rgb'|'hex'|'hsl'|'auto'|null)}\n * @default 'auto'\n */\n format: 'auto',\n /**\n * Horizontal mode layout.\n *\n * If true, the hue and alpha channel bars will be rendered horizontally, above the saturation selector.\n *\n * @type {boolean}\n * @default false\n */\n horizontal: false,\n /**\n * Forces to show the colorpicker as an inline element.\n *\n * Note that if there is no container specified, the inline element\n * will be added to the body, so you may want to set the container option.\n *\n * @type {boolean}\n * @default false\n */\n inline: false,\n /**\n * Container where the colorpicker is appended to in the DOM.\n *\n * If is a string (CSS selector), the colorpicker will be placed inside this container.\n * If true, the `.colorpicker-element` element itself will be used as the container.\n * If false, the document body is used as the container, unless it is a popover (in this case it is appended to the\n * popover body instead).\n *\n * @type {String|boolean}\n * @default false\n */\n container: false,\n /**\n * Bootstrap Popover options.\n * The trigger, content and html options are always ignored.\n *\n * @type {boolean}\n * @default Object\n */\n popover: {\n animation: true,\n placement: 'bottom',\n fallbackPlacement: 'flip'\n },\n /**\n * If true, loads the 'debugger' extension automatically, which logs the events in the console\n * @type {boolean}\n * @default false\n */\n debug: false,\n /**\n * Child CSS selector for the colorpicker input.\n *\n * @type {String}\n * @default 'input'\n */\n input: 'input',\n /**\n * Child CSS selector for the colorpicker addon.\n * If it exists, the child element background will be changed on color change.\n *\n * @type {String}\n * @default '.colorpicker-trigger, .colorpicker-input-addon'\n */\n addon: '.colorpicker-input-addon',\n /**\n * If true, the input content will be replaced always with a valid color,\n * if false, the invalid color will be left in the input,\n * while the internal color object will still resolve into a valid one.\n *\n * @type {boolean}\n * @default true\n */\n autoInputFallback: true,\n /**\n * If true, valid HEX3 colors will be converted to HEX6, even with\n * autoInputFallback set to false\n * if false, HEX3 colors will not be converted to HEX6, when autoInputFallback is false\n * (this has been an issue, when using HEX6 colors with\n * autoInputFallback set to false, HEX3 colors were\n * automatically converting to HEX6)\n *\n * @type {boolean}\n * @default false\n */\n autoHexInputFallback: true,\n /**\n * If true a hash will be prepended to hexadecimal colors.\n * If false, the hash will be removed.\n * This only affects the input values in hexadecimal format.\n *\n * @type {boolean}\n * @default true\n */\n useHashPrefix: true,\n /**\n * If true, the alpha channel bar will be displayed no matter what.\n *\n * If false, it will be always hidden and alpha channel will be disabled also programmatically, meaning that\n * the selected or typed color will be always opaque.\n *\n * If null, the alpha channel will be automatically disabled/enabled depending if the initial color format supports\n * alpha or not.\n *\n * @type {boolean}\n * @default true\n */\n useAlpha: true,\n /**\n * Colorpicker widget template\n * @type {String}\n * @example\n * \n *
\n *
\n *
\n *
\n *
\n * \n *
\n *
\n */\n template: `
\n
\n
\n
\n
\n \n
\n
`,\n /**\n *\n * Associative object with the extension class name and its config.\n * Colorpicker comes with many bundled extensions: debugger, palette, preview and swatches (a superset of palette).\n *\n * @type {Object[]}\n * @example\n * extensions: [\n * {\n * name: 'swatches'\n * options: {\n * colors: {\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * },\n * namesAsValues: true\n * }\n * }\n * ]\n */\n extensions: [\n {\n name: 'preview',\n options: {\n showText: true\n }\n }\n ],\n /**\n * Vertical sliders configuration\n * @type {Object}\n */\n sliders: {\n saturation: {\n selector: '.colorpicker-saturation',\n maxLeft: sliderSize,\n maxTop: sliderSize,\n callLeft: 'setSaturationRatio',\n callTop: 'setValueRatio'\n },\n hue: {\n selector: '.colorpicker-hue',\n maxLeft: 0,\n maxTop: sliderSize,\n callLeft: false,\n callTop: 'setHueRatio'\n },\n alpha: {\n selector: '.colorpicker-alpha',\n childSelector: '.colorpicker-alpha-color',\n maxLeft: 0,\n maxTop: sliderSize,\n callLeft: false,\n callTop: 'setAlphaRatio'\n }\n },\n /**\n * Horizontal sliders configuration\n * @type {Object}\n */\n slidersHorz: {\n saturation: {\n selector: '.colorpicker-saturation',\n maxLeft: sliderSize,\n maxTop: sliderSize,\n callLeft: 'setSaturationRatio',\n callTop: 'setValueRatio'\n },\n hue: {\n selector: '.colorpicker-hue',\n maxLeft: sliderSize,\n maxTop: 0,\n callLeft: 'setHueRatio',\n callTop: false\n },\n alpha: {\n selector: '.colorpicker-alpha',\n childSelector: '.colorpicker-alpha-color',\n maxLeft: sliderSize,\n maxTop: 0,\n callLeft: 'setAlphaRatio',\n callTop: false\n }\n }\n};\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\nlet defaults = {\n /**\n * Key-value pairs defining a color alias and its CSS color representation.\n *\n * They can also be just an array of values. In that case, no special names are used, only the real colors.\n *\n * @type {Object|Array}\n * @default null\n * @example\n * {\n * 'black': '#000000',\n * 'white': '#ffffff',\n * 'red': '#FF0000',\n * 'default': '#777777',\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * }\n *\n * @example ['#f0ad4e', '#337ab7', '#5cb85c']\n */\n colors: null,\n /**\n * If true, when a color swatch is selected the name (alias) will be used as input value,\n * otherwise the swatch real color value will be used.\n *\n * @type {boolean}\n * @default true\n */\n namesAsValues: true\n};\n\n/**\n * Palette extension\n * @ignore\n */\nclass Palette extends Extension {\n\n /**\n * @returns {Object|Array}\n */\n get colors() {\n return this.options.colors;\n }\n\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {}, defaults, options));\n\n if ((!Array.isArray(this.options.colors)) && (typeof this.options.colors !== 'object')) {\n this.options.colors = null;\n }\n }\n\n /**\n * @returns {int}\n */\n getLength() {\n if (!this.options.colors) {\n return 0;\n }\n\n if (Array.isArray(this.options.colors)) {\n return this.options.colors.length;\n }\n\n if (typeof this.options.colors === 'object') {\n return Object.keys(this.options.colors).length;\n }\n\n return 0;\n }\n\n resolveColor(color, realColor = true) {\n if (this.getLength() <= 0) {\n return false;\n }\n\n // Array of colors\n if (Array.isArray(this.options.colors)) {\n if (this.options.colors.indexOf(color) >= 0) {\n return color;\n }\n if (this.options.colors.indexOf(color.toUpperCase()) >= 0) {\n return color.toUpperCase();\n }\n if (this.options.colors.indexOf(color.toLowerCase()) >= 0) {\n return color.toLowerCase();\n }\n return false;\n }\n\n if (typeof this.options.colors !== 'object') {\n return false;\n }\n\n // Map of objects\n if (!this.options.namesAsValues || realColor) {\n return this.getValue(color, false);\n }\n return this.getName(color, this.getName('#' + color));\n }\n\n /**\n * Given a color value, returns the corresponding color name or defaultValue.\n *\n * @param {String} value\n * @param {*} defaultValue\n * @returns {*}\n */\n getName(value, defaultValue = false) {\n if (!(typeof value === 'string') || !this.options.colors) {\n return defaultValue;\n }\n for (let name in this.options.colors) {\n if (!this.options.colors.hasOwnProperty(name)) {\n continue;\n }\n if (this.options.colors[name].toLowerCase() === value.toLowerCase()) {\n return name;\n }\n }\n return defaultValue;\n }\n\n /**\n * Given a color name, returns the corresponding color value or defaultValue.\n *\n * @param {String} name\n * @param {*} defaultValue\n * @returns {*}\n */\n getValue(name, defaultValue = false) {\n if (!(typeof name === 'string') || !this.options.colors) {\n return defaultValue;\n }\n if (this.options.colors.hasOwnProperty(name)) {\n return this.options.colors[name];\n }\n return defaultValue;\n }\n}\n\nexport default Palette;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","'use strict';\n\nimport Colorpicker from './Colorpicker';\nimport $ from 'jquery';\n\nlet plugin = 'colorpicker';\n\n$[plugin] = Colorpicker;\n\n// Colorpicker jQuery Plugin API\n$.fn[plugin] = function (option) {\n let fnArgs = Array.prototype.slice.call(arguments, 1),\n isSingleElement = (this.length === 1),\n returnValue = null;\n\n let $elements = this.each(function () {\n let $this = $(this),\n inst = $this.data(plugin),\n options = ((typeof option === 'object') ? option : {});\n\n // Create instance if does not exist\n if (!inst) {\n inst = new Colorpicker(this, options);\n $this.data(plugin, inst);\n }\n\n if (!isSingleElement) {\n return;\n }\n\n returnValue = $this;\n\n if (typeof option === 'string') {\n if (option === 'colorpicker') {\n // Return colorpicker instance: e.g. .colorpicker('colorpicker')\n returnValue = inst;\n } else if ($.isFunction(inst[option])) {\n // Return method call return value: e.g. .colorpicker('isEnabled')\n returnValue = inst[option].apply(inst, fnArgs);\n } else {\n // Return property value: e.g. .colorpicker('element')\n returnValue = inst[option];\n }\n }\n });\n\n return isSingleElement ? returnValue : $elements;\n};\n\n$.fn[plugin].constructor = Colorpicker;\n","'use strict';\n\nimport Extension from './Extension';\nimport defaults from './options';\nimport coreExtensions from 'extensions';\nimport $ from 'jquery';\nimport SliderHandler from './SliderHandler';\nimport PopupHandler from './PopupHandler';\nimport InputHandler from './InputHandler';\nimport ColorHandler from './ColorHandler';\nimport PickerHandler from './PickerHandler';\nimport AddonHandler from './AddonHandler';\nimport ColorItem from './ColorItem';\n\nlet colorPickerIdCounter = 0;\n\nlet root = (typeof self !== 'undefined' ? self : this); // window\n\n/**\n * Colorpicker widget class\n */\nclass Colorpicker {\n /**\n * Color class\n *\n * @static\n * @type {Color}\n */\n static get Color() {\n return ColorItem;\n }\n\n /**\n * Extension class\n *\n * @static\n * @type {Extension}\n */\n static get Extension() {\n return Extension;\n }\n\n /**\n * Internal color object\n *\n * @type {Color|null}\n */\n get color() {\n return this.colorHandler.color;\n }\n\n /**\n * Internal color format\n *\n * @type {String|null}\n */\n get format() {\n return this.colorHandler.format;\n }\n\n /**\n * Getter of the picker element\n *\n * @returns {jQuery|HTMLElement}\n */\n get picker() {\n return this.pickerHandler.picker;\n }\n\n /**\n * @fires Colorpicker#colorpickerCreate\n * @param {Object|String} element\n * @param {Object} options\n * @constructor\n */\n constructor(element, options) {\n colorPickerIdCounter += 1;\n /**\n * The colorpicker instance number\n * @type {number}\n */\n this.id = colorPickerIdCounter;\n\n /**\n * Latest colorpicker event\n *\n * @type {{name: String, e: *}}\n */\n this.lastEvent = {\n alias: null,\n e: null\n };\n\n /**\n * The element that the colorpicker is bound to\n *\n * @type {*|jQuery}\n */\n this.element = $(element)\n .addClass('colorpicker-element')\n .attr('data-colorpicker-id', this.id);\n\n /**\n * @type {defaults}\n */\n this.options = $.extend(true, {}, defaults, options, this.element.data());\n\n /**\n * @type {boolean}\n * @private\n */\n this.disabled = false;\n\n /**\n * Extensions added to this instance\n *\n * @type {Extension[]}\n */\n this.extensions = [];\n\n /**\n * The element where the\n * @type {*|jQuery}\n */\n this.container = (\n this.options.container === true ||\n (this.options.container !== true && this.options.inline === true)\n ) ? this.element : this.options.container;\n\n this.container = (this.container !== false) ? $(this.container) : false;\n\n /**\n * @type {InputHandler}\n */\n this.inputHandler = new InputHandler(this);\n /**\n * @type {ColorHandler}\n */\n this.colorHandler = new ColorHandler(this);\n /**\n * @type {SliderHandler}\n */\n this.sliderHandler = new SliderHandler(this);\n /**\n * @type {PopupHandler}\n */\n this.popupHandler = new PopupHandler(this, root);\n /**\n * @type {PickerHandler}\n */\n this.pickerHandler = new PickerHandler(this);\n /**\n * @type {AddonHandler}\n */\n this.addonHandler = new AddonHandler(this);\n\n this.init();\n\n // Emit a create event\n $($.proxy(function () {\n /**\n * (Colorpicker) When the Colorpicker instance has been created and the DOM is ready.\n *\n * @event Colorpicker#colorpickerCreate\n */\n this.trigger('colorpickerCreate');\n }, this));\n }\n\n /**\n * Initializes the plugin\n * @private\n */\n init() {\n // Init addon\n this.addonHandler.bind();\n\n // Init input\n this.inputHandler.bind();\n\n // Init extensions (before initializing the color)\n this.initExtensions();\n\n // Init color\n this.colorHandler.bind();\n\n // Init picker\n this.pickerHandler.bind();\n\n // Init sliders and popup\n this.sliderHandler.bind();\n this.popupHandler.bind();\n\n // Inject into the DOM (this may make it visible)\n this.pickerHandler.attach();\n\n // Update all components\n this.update();\n\n if (this.inputHandler.isDisabled()) {\n this.disable();\n }\n }\n\n /**\n * Initializes the plugin extensions\n * @private\n */\n initExtensions() {\n if (!Array.isArray(this.options.extensions)) {\n this.options.extensions = [];\n }\n\n if (this.options.debug) {\n this.options.extensions.push({name: 'debugger'});\n }\n\n // Register and instantiate extensions\n this.options.extensions.forEach((ext) => {\n this.registerExtension(Colorpicker.extensions[ext.name.toLowerCase()], ext.options || {});\n });\n }\n\n /**\n * Creates and registers the given extension\n *\n * @param {Extension} ExtensionClass The extension class to instantiate\n * @param {Object} [config] Extension configuration\n * @returns {Extension}\n */\n registerExtension(ExtensionClass, config = {}) {\n let ext = new ExtensionClass(this, config);\n\n this.extensions.push(ext);\n return ext;\n }\n\n /**\n * Destroys the current instance\n *\n * @fires Colorpicker#colorpickerDestroy\n */\n destroy() {\n let color = this.color;\n\n this.sliderHandler.unbind();\n this.inputHandler.unbind();\n this.popupHandler.unbind();\n this.colorHandler.unbind();\n this.addonHandler.unbind();\n this.pickerHandler.unbind();\n\n this.element\n .removeClass('colorpicker-element')\n .removeData('colorpicker')\n .removeData('color')\n .off('.colorpicker');\n\n /**\n * (Colorpicker) When the instance is destroyed with all events unbound.\n *\n * @event Colorpicker#colorpickerDestroy\n */\n this.trigger('colorpickerDestroy', color);\n }\n\n /**\n * Shows the colorpicker widget if hidden.\n * If the colorpicker is disabled this call will be ignored.\n *\n * @fires Colorpicker#colorpickerShow\n * @param {Event} [e]\n */\n show(e) {\n this.popupHandler.show(e);\n }\n\n /**\n * Hides the colorpicker widget.\n *\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n hide(e) {\n this.popupHandler.hide(e);\n }\n\n /**\n * Toggles the colorpicker between visible and hidden.\n *\n * @fires Colorpicker#colorpickerShow\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n toggle(e) {\n this.popupHandler.toggle(e);\n }\n\n /**\n * Returns the current color value as string\n *\n * @param {String|*} [defaultValue]\n * @returns {String|*}\n */\n getValue(defaultValue = null) {\n let val = this.colorHandler.color;\n\n val = (val instanceof ColorItem) ? val : defaultValue;\n\n if (val instanceof ColorItem) {\n return val.string(this.format);\n }\n\n return val;\n }\n\n /**\n * Sets the color manually\n *\n * @fires Colorpicker#colorpickerChange\n * @param {String|Color} val\n */\n setValue(val) {\n if (this.isDisabled()) {\n return;\n }\n let ch = this.colorHandler;\n\n if (\n (ch.hasColor() && !!val && ch.color.equals(val)) ||\n (!ch.hasColor() && !val)\n ) {\n // same color or still empty\n return;\n }\n\n ch.color = val ? ch.createColor(val, this.options.autoInputFallback, this.options.autoHexInputFallback) : null;\n\n /**\n * (Colorpicker) When the color is set programmatically with setValue().\n *\n * @event Colorpicker#colorpickerChange\n */\n this.trigger('colorpickerChange', ch.color, val);\n\n // force update if color has changed to empty\n this.update();\n }\n\n /**\n * Updates the UI and the input color according to the internal color.\n *\n * @fires Colorpicker#colorpickerUpdate\n */\n update() {\n if (this.colorHandler.hasColor()) {\n this.inputHandler.update();\n } else {\n this.colorHandler.assureColor();\n }\n\n this.addonHandler.update();\n this.pickerHandler.update();\n\n /**\n * (Colorpicker) Fired when the widget is updated.\n *\n * @event Colorpicker#colorpickerUpdate\n */\n this.trigger('colorpickerUpdate');\n }\n\n /**\n * Enables the widget and the input if any\n *\n * @fires Colorpicker#colorpickerEnable\n * @returns {boolean}\n */\n enable() {\n this.inputHandler.enable();\n this.disabled = false;\n this.picker.removeClass('colorpicker-disabled');\n\n /**\n * (Colorpicker) When the widget has been enabled.\n *\n * @event Colorpicker#colorpickerEnable\n */\n this.trigger('colorpickerEnable');\n return true;\n }\n\n /**\n * Disables the widget and the input if any\n *\n * @fires Colorpicker#colorpickerDisable\n * @returns {boolean}\n */\n disable() {\n this.inputHandler.disable();\n this.disabled = true;\n this.picker.addClass('colorpicker-disabled');\n\n /**\n * (Colorpicker) When the widget has been disabled.\n *\n * @event Colorpicker#colorpickerDisable\n */\n this.trigger('colorpickerDisable');\n return true;\n }\n\n /**\n * Returns true if this instance is enabled\n * @returns {boolean}\n */\n isEnabled() {\n return !this.isDisabled();\n }\n\n /**\n * Returns true if this instance is disabled\n * @returns {boolean}\n */\n isDisabled() {\n return this.disabled === true;\n }\n\n /**\n * Triggers a Colorpicker event.\n *\n * @param eventName\n * @param color\n * @param value\n */\n trigger(eventName, color = null, value = null) {\n this.element.trigger({\n type: eventName,\n colorpicker: this,\n color: color ? color : this.color,\n value: value ? value : this.getValue()\n });\n }\n}\n\n/**\n * Colorpicker extension classes, indexed by extension name\n *\n * @static\n * @type {Object} a map between the extension name and its class\n */\nColorpicker.extensions = coreExtensions;\n\nexport default Colorpicker;\n","import Debugger from './Debugger';\nimport Preview from './Preview';\nimport Swatches from './Swatches';\nimport Palette from './Palette';\n\nexport {\n Debugger, Preview, Swatches, Palette\n};\n\nexport default {\n 'debugger': Debugger,\n 'preview': Preview,\n 'swatches': Swatches,\n 'palette': Palette\n};\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\n/**\n * Debugger extension class\n * @alias DebuggerExtension\n * @ignore\n */\nclass Debugger extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, options);\n\n /**\n * @type {number}\n */\n this.eventCounter = 0;\n if (this.colorpicker.inputHandler.hasInput()) {\n this.colorpicker.inputHandler.input.on('change.colorpicker-ext', $.proxy(this.onChangeInput, this));\n }\n }\n\n /**\n * @fires DebuggerExtension#colorpickerDebug\n * @param {string} eventName\n * @param {*} args\n */\n log(eventName, ...args) {\n this.eventCounter += 1;\n\n let logMessage = `#${this.eventCounter}: Colorpicker#${this.colorpicker.id} [${eventName}]`;\n\n console.debug(logMessage, ...args);\n\n /**\n * Whenever the debugger logs an event, this other event is emitted.\n *\n * @event DebuggerExtension#colorpickerDebug\n * @type {object} The event object\n * @property {Colorpicker} colorpicker The Colorpicker instance\n * @property {ColorItem} color The color instance\n * @property {{debugger: DebuggerExtension, eventName: String, logArgs: Array, logMessage: String}} debug\n * The debug info\n */\n this.colorpicker.element.trigger({\n type: 'colorpickerDebug',\n colorpicker: this.colorpicker,\n color: this.color,\n value: null,\n debug: {\n debugger: this,\n eventName: eventName,\n logArgs: args,\n logMessage: logMessage\n }\n });\n }\n\n resolveColor(color, realColor = true) {\n this.log('resolveColor()', color, realColor);\n return false;\n }\n\n onCreate(event) {\n this.log('colorpickerCreate');\n return super.onCreate(event);\n }\n\n onDestroy(event) {\n this.log('colorpickerDestroy');\n this.eventCounter = 0;\n\n if (this.colorpicker.inputHandler.hasInput()) {\n this.colorpicker.inputHandler.input.off('.colorpicker-ext');\n }\n\n return super.onDestroy(event);\n }\n\n onUpdate(event) {\n this.log('colorpickerUpdate');\n }\n\n /**\n * @listens Colorpicker#change\n * @param {Event} event\n */\n onChangeInput(event) {\n this.log('input:change.colorpicker', event.value, event.color);\n }\n\n onChange(event) {\n this.log('colorpickerChange', event.value, event.color);\n }\n\n onInvalid(event) {\n this.log('colorpickerInvalid', event.value, event.color);\n }\n\n onHide(event) {\n this.log('colorpickerHide');\n this.eventCounter = 0;\n }\n\n onShow(event) {\n this.log('colorpickerShow');\n }\n\n onDisable(event) {\n this.log('colorpickerDisable');\n }\n\n onEnable(event) {\n this.log('colorpickerEnable');\n }\n}\n\nexport default Debugger;\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\n/**\n * Color preview extension\n * @ignore\n */\nclass Preview extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {},\n {\n template: '
',\n showText: true,\n format: colorpicker.format\n },\n options\n ));\n\n this.element = $(this.options.template);\n this.elementInner = this.element.find('div');\n }\n\n onCreate(event) {\n super.onCreate(event);\n this.colorpicker.picker.append(this.element);\n }\n\n onUpdate(event) {\n super.onUpdate(event);\n\n if (!event.color) {\n this.elementInner\n .css('backgroundColor', null)\n .css('color', null)\n .html('');\n return;\n }\n\n this.elementInner\n .css('backgroundColor', event.color.toRgbString());\n\n if (this.options.showText) {\n this.elementInner\n .html(event.color.string(this.options.format || this.colorpicker.format));\n\n if (event.color.isDark() && (event.color.alpha > 0.5)) {\n this.elementInner.css('color', 'white');\n } else {\n this.elementInner.css('color', 'black');\n }\n }\n }\n}\n\nexport default Preview;\n","'use strict';\n\nimport Palette from './Palette';\nimport $ from 'jquery';\n\nlet defaults = {\n barTemplate: `
\n
\n
`,\n swatchTemplate: ''\n};\n\n/**\n * Color swatches extension\n * @ignore\n */\nclass Swatches extends Palette {\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {}, defaults, options));\n this.element = null;\n }\n\n isEnabled() {\n return this.getLength() > 0;\n }\n\n onCreate(event) {\n super.onCreate(event);\n\n if (!this.isEnabled()) {\n return;\n }\n\n this.element = $(this.options.barTemplate);\n this.load();\n this.colorpicker.picker.append(this.element);\n }\n\n load() {\n let colorpicker = this.colorpicker,\n swatchContainer = this.element.find('.colorpicker-swatches--inner'),\n isAliased = (this.options.namesAsValues === true) && !Array.isArray(this.colors);\n\n swatchContainer.empty();\n\n $.each(this.colors, (name, value) => {\n let $swatch = $(this.options.swatchTemplate)\n .attr('data-name', name)\n .attr('data-value', value)\n .attr('title', isAliased ? `${name}: ${value}` : value)\n .on('mousedown.colorpicker touchstart.colorpicker',\n function (e) {\n let $sw = $(this);\n\n // e.preventDefault();\n\n colorpicker.setValue(isAliased ? $sw.attr('data-name') : $sw.attr('data-value'));\n }\n );\n\n $swatch.find('.colorpicker-swatch--inner')\n .css('background-color', value);\n\n swatchContainer.append($swatch);\n });\n\n swatchContainer.append($(''));\n }\n}\n\nexport default Swatches;\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Class that handles all configured sliders on mouse or touch events.\n * @ignore\n */\nclass SliderHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {*|String}\n * @private\n */\n this.currentSlider = null;\n /**\n * @type {{left: number, top: number}}\n * @private\n */\n this.mousePointer = {\n left: 0,\n top: 0\n };\n\n /**\n * @type {Function}\n */\n this.onMove = $.proxy(this.defaultOnMove, this);\n }\n\n /**\n * This function is called every time a slider guide is moved\n * The scope of \"this\" is the SliderHandler object.\n *\n * @param {int} top\n * @param {int} left\n */\n defaultOnMove(top, left) {\n if (!this.currentSlider) {\n return;\n }\n\n let slider = this.currentSlider, cp = this.colorpicker, ch = cp.colorHandler;\n\n // Create a color object\n let color = !ch.hasColor() ? ch.getFallbackColor() : ch.color.getClone();\n\n // Adjust the guide position\n slider.guideStyle.left = left + 'px';\n slider.guideStyle.top = top + 'px';\n\n // Adjust the color\n if (slider.callLeft) {\n color[slider.callLeft](left / slider.maxLeft);\n }\n if (slider.callTop) {\n color[slider.callTop](top / slider.maxTop);\n }\n\n // Set the new color\n cp.setValue(color);\n cp.popupHandler.focus();\n }\n\n /**\n * Binds the colorpicker sliders to the mouse/touch events\n */\n bind() {\n let sliders = this.colorpicker.options.horizontal ? this.colorpicker\n .options.slidersHorz : this.colorpicker.options.sliders;\n\n let sliderClasses = [];\n\n for (let sliderName in sliders) {\n if (!sliders.hasOwnProperty(sliderName)) {\n continue;\n }\n\n sliderClasses.push(sliders[sliderName].selector);\n }\n\n this.colorpicker.picker.find(sliderClasses.join(', '))\n .on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.pressed, this));\n }\n\n /**\n * Unbinds any event bound by this handler\n */\n unbind() {\n $(this.colorpicker.picker).off({\n 'mousemove.colorpicker': $.proxy(this.moved, this),\n 'touchmove.colorpicker': $.proxy(this.moved, this),\n 'mouseup.colorpicker': $.proxy(this.released, this),\n 'touchend.colorpicker': $.proxy(this.released, this)\n });\n }\n\n /**\n * Function triggered when clicking in one of the color adjustment bars\n *\n * @private\n * @fires Colorpicker#mousemove\n * @param {Event} e\n */\n pressed(e) {\n if (this.colorpicker.isDisabled()) {\n return;\n }\n this.colorpicker.lastEvent.alias = 'pressed';\n this.colorpicker.lastEvent.e = e;\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n // e.stopPropagation();\n // e.preventDefault();\n\n let target = $(e.target);\n\n // detect the slider and set the limits and callbacks\n let zone = target.closest('div');\n\n let sliders = this.colorpicker.options.horizontal ? this.colorpicker\n .options.slidersHorz : this.colorpicker.options.sliders;\n\n if (zone.is('.colorpicker')) {\n return;\n }\n\n this.currentSlider = null;\n\n for (let sliderName in sliders) {\n if (!sliders.hasOwnProperty(sliderName)) {\n continue;\n }\n\n let slider = sliders[sliderName];\n\n if (zone.is(slider.selector)) {\n this.currentSlider = $.extend({}, slider, {name: sliderName});\n break;\n } else if (slider.childSelector !== undefined && zone.is(slider.childSelector)) {\n this.currentSlider = $.extend({}, slider, {name: sliderName});\n zone = zone.parent(); // zone.parents(slider.selector).first() ?\n break;\n }\n }\n\n let guide = zone.find('.colorpicker-guide').get(0);\n\n if (this.currentSlider === null || guide === null) {\n return;\n }\n\n let offset = zone.offset();\n\n // reference to guide's style\n this.currentSlider.guideStyle = guide.style;\n this.currentSlider.left = e.pageX - offset.left;\n this.currentSlider.top = e.pageY - offset.top;\n this.mousePointer = {\n left: e.pageX,\n top: e.pageY\n };\n\n // TODO: fix moving outside the picker makes the guides to keep moving. The event needs to be bound to the window.\n /**\n * (window.document) Triggered on mousedown for the document object,\n * so the color adjustment guide is moved to the clicked position.\n *\n * @event Colorpicker#mousemove\n */\n $(this.colorpicker.picker).on({\n 'mousemove.colorpicker': $.proxy(this.moved, this),\n 'touchmove.colorpicker': $.proxy(this.moved, this),\n 'mouseup.colorpicker': $.proxy(this.released, this),\n 'touchend.colorpicker': $.proxy(this.released, this)\n }).trigger('mousemove');\n }\n\n /**\n * Function triggered when dragging a guide inside one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n */\n moved(e) {\n this.colorpicker.lastEvent.alias = 'moved';\n this.colorpicker.lastEvent.e = e;\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n\n // e.stopPropagation();\n e.preventDefault(); // prevents scrolling on mobile\n\n let left = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxLeft,\n this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)\n )\n );\n\n let top = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxTop,\n this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)\n )\n );\n\n this.onMove(top, left);\n }\n\n /**\n * Function triggered when releasing the click in one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n */\n released(e) {\n this.colorpicker.lastEvent.alias = 'released';\n this.colorpicker.lastEvent.e = e;\n\n // e.stopPropagation();\n // e.preventDefault();\n\n $(this.colorpicker.picker).off({\n 'mousemove.colorpicker': this.moved,\n 'touchmove.colorpicker': this.moved,\n 'mouseup.colorpicker': this.released,\n 'touchend.colorpicker': this.released\n });\n }\n}\n\nexport default SliderHandler;\n","'use strict';\n\nimport $ from 'jquery';\nimport _defaults from './options';\n\n/**\n * Handles everything related to the UI of the colorpicker popup: show, hide, position,...\n * @ignore\n */\nclass PopupHandler {\n /**\n * @param {Colorpicker} colorpicker\n * @param {Window} root\n */\n constructor(colorpicker, root) {\n /**\n * @type {Window}\n */\n this.root = root;\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.popoverTarget = null;\n /**\n * @type {jQuery}\n */\n this.popoverTip = null;\n\n /**\n * If true, the latest click was inside the popover\n * @type {boolean}\n */\n this.clicking = false;\n /**\n * @type {boolean}\n */\n this.hidding = false;\n /**\n * @type {boolean}\n */\n this.showing = false;\n }\n\n /**\n * @private\n * @returns {jQuery|false}\n */\n get input() {\n return this.colorpicker.inputHandler.input;\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get hasInput() {\n return this.colorpicker.inputHandler.hasInput();\n }\n\n /**\n * @private\n * @returns {jQuery|false}\n */\n get addon() {\n return this.colorpicker.addonHandler.addon;\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get hasAddon() {\n return this.colorpicker.addonHandler.hasAddon();\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get isPopover() {\n return !this.colorpicker.options.inline && !!this.popoverTip;\n }\n\n /**\n * Binds the different colorpicker elements to the focus/mouse/touch events so it reacts in order to show or\n * hide the colorpicker popup accordingly. It also adds the proper classes.\n */\n bind() {\n let cp = this.colorpicker;\n\n if (cp.options.inline) {\n cp.picker.addClass('colorpicker-inline colorpicker-visible');\n return; // no need to bind show/hide events for inline elements\n }\n\n cp.picker.addClass('colorpicker-popup colorpicker-hidden');\n\n // there is no input or addon\n if (!this.hasInput && !this.hasAddon) {\n return;\n }\n\n // create Bootstrap 4 popover\n if (cp.options.popover) {\n this.createPopover();\n }\n\n // bind addon show/hide events\n if (this.hasAddon) {\n // enable focus on addons\n if (!this.addon.attr('tabindex')) {\n this.addon.attr('tabindex', 0);\n }\n\n this.addon.on({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.toggle, this)\n });\n\n this.addon.on({\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n\n this.addon.on({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n // bind input show/hide events\n if (this.hasInput && !this.hasAddon) {\n this.input.on({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.show, this),\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n\n this.input.on({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n // reposition popup on window resize\n $(this.root).on('resize.colorpicker', $.proxy(this.reposition, this));\n }\n\n /**\n * Unbinds any event bound by this handler\n */\n unbind() {\n if (this.hasInput) {\n this.input.off({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.show, this),\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n this.input.off({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n if (this.hasAddon) {\n this.addon.off({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.toggle, this)\n });\n this.addon.off({\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n this.addon.off({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('dispose');\n }\n\n $(this.root).off('resize.colorpicker', $.proxy(this.reposition, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n }\n\n isClickingInside(e) {\n if (!e) {\n return false;\n }\n\n return (\n this.isOrIsInside(this.popoverTip, e.currentTarget) ||\n this.isOrIsInside(this.popoverTip, e.target) ||\n this.isOrIsInside(this.colorpicker.picker, e.currentTarget) ||\n this.isOrIsInside(this.colorpicker.picker, e.target)\n );\n }\n\n isOrIsInside(container, element) {\n if (!container || !element) {\n return false;\n }\n\n element = $(element);\n\n return (\n element.is(container) ||\n container.find(element).length > 0\n );\n }\n\n onClickingInside(e) {\n this.clicking = this.isClickingInside(e);\n }\n\n createPopover() {\n let cp = this.colorpicker;\n\n this.popoverTarget = this.hasAddon ? this.addon : this.input;\n\n cp.picker.addClass('colorpicker-bs-popover-content');\n\n this.popoverTarget.popover(\n $.extend(\n true,\n {},\n _defaults.popover,\n cp.options.popover,\n {trigger: 'manual', content: cp.picker, html: true}\n )\n );\n\n /* Bootstrap 5 added an official method to get the popover instance */\n /* global bootstrap */\n const useGetInstance = window.bootstrap &&\n window.bootstrap.Popover &&\n window.bootstrap.Popover.getInstance;\n\n this.popoverTip = useGetInstance ?\n $(bootstrap.Popover.getInstance(this.popoverTarget[0]).getTipElement()) :\n $(this.popoverTarget.popover('getTipElement').data('bs.popover').tip);\n\n this.popoverTip.addClass('colorpicker-bs-popover');\n\n this.popoverTarget.on('shown.bs.popover', $.proxy(this.fireShow, this));\n this.popoverTarget.on('hidden.bs.popover', $.proxy(this.fireHide, this));\n }\n\n /**\n * If the widget is not inside a container or inline, rearranges its position relative to its element offset.\n *\n * @param {Event} [e]\n * @private\n */\n reposition(e) {\n if (this.popoverTarget && this.isVisible()) {\n this.popoverTarget.popover('update');\n }\n }\n\n /**\n * Toggles the colorpicker between visible or hidden\n *\n * @fires Colorpicker#colorpickerShow\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n toggle(e) {\n if (this.isVisible()) {\n this.hide(e);\n } else {\n this.show(e);\n }\n }\n\n /**\n * Shows the colorpicker widget if hidden.\n *\n * @fires Colorpicker#colorpickerShow\n * @param {Event} [e]\n */\n show(e) {\n if (this.isVisible() || this.showing || this.hidding) {\n return;\n }\n\n this.showing = true;\n this.hidding = false;\n this.clicking = false;\n\n let cp = this.colorpicker;\n\n cp.lastEvent.alias = 'show';\n cp.lastEvent.e = e;\n\n // Prevent showing browser native HTML5 colorpicker\n if (\n (e && (!this.hasInput || this.input.attr('type') === 'color')) &&\n (e && e.preventDefault)\n ) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n // If it's a popover, add event to the document to hide the picker when clicking outside of it\n if (this.isPopover) {\n $(this.root).on('resize.colorpicker', $.proxy(this.reposition, this));\n }\n\n // add visible class before popover is shown\n cp.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('show');\n } else {\n this.fireShow();\n }\n }\n\n fireShow() {\n this.hidding = false;\n this.showing = false;\n\n if (this.isPopover) {\n // Add event to hide on outside click\n $(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n }\n\n /**\n * (Colorpicker) When show() is called and the widget can be shown.\n *\n * @event Colorpicker#colorpickerShow\n */\n this.colorpicker.trigger('colorpickerShow');\n }\n\n /**\n * Hides the colorpicker widget.\n * Hide is prevented when it is triggered by an event whose target element has been clicked/touched.\n *\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n hide(e) {\n if (this.isHidden() || this.showing || this.hidding) {\n return;\n }\n\n let cp = this.colorpicker, clicking = (this.clicking || this.isClickingInside(e));\n\n this.hidding = true;\n this.showing = false;\n this.clicking = false;\n\n cp.lastEvent.alias = 'hide';\n cp.lastEvent.e = e;\n\n // TODO: fix having to click twice outside when losing focus and last 2 clicks where inside the colorpicker\n\n // Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched\n if (clicking) {\n this.hidding = false;\n return;\n }\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('hide');\n } else {\n this.fireHide();\n }\n }\n\n fireHide() {\n this.hidding = false;\n this.showing = false;\n\n let cp = this.colorpicker;\n\n // add hidden class after popover is hidden\n cp.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');\n\n // Unbind window and document events, since there is no need to keep them while the popup is hidden\n $(this.root).off('resize.colorpicker', $.proxy(this.reposition, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n\n /**\n * (Colorpicker) When hide() is called and the widget can be hidden.\n *\n * @event Colorpicker#colorpickerHide\n */\n cp.trigger('colorpickerHide');\n }\n\n focus() {\n if (this.hasAddon) {\n return this.addon.focus();\n }\n if (this.hasInput) {\n return this.input.focus();\n }\n return false;\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-visible class and not the colorpicker-hidden one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isVisible() {\n return this.colorpicker.picker.hasClass('colorpicker-visible') &&\n !this.colorpicker.picker.hasClass('colorpicker-hidden');\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-hidden class and not the colorpicker-visible one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isHidden() {\n return this.colorpicker.picker.hasClass('colorpicker-hidden') &&\n !this.colorpicker.picker.hasClass('colorpicker-visible');\n }\n}\n\nexport default PopupHandler;\n","'use strict';\n\nimport $ from 'jquery';\nimport ColorItem from './ColorItem';\n\n/**\n * Handles everything related to the colorpicker input\n * @ignore\n */\nclass InputHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery|false}\n */\n this.input = this.colorpicker.element.is('input') ? this.colorpicker.element : (this.colorpicker.options.input ?\n this.colorpicker.element.find(this.colorpicker.options.input) : false);\n\n if (this.input && (this.input.length === 0)) {\n this.input = false;\n }\n\n this._initValue();\n }\n\n bind() {\n if (!this.hasInput()) {\n return;\n }\n this.input.on({\n 'keyup.colorpicker': $.proxy(this.onkeyup, this)\n });\n this.input.on({\n 'change.colorpicker': $.proxy(this.onchange, this)\n });\n }\n\n unbind() {\n if (!this.hasInput()) {\n return;\n }\n this.input.off('.colorpicker');\n }\n\n _initValue() {\n if (!this.hasInput()) {\n return;\n }\n\n let val = '';\n\n [\n // candidates:\n this.input.val(),\n this.input.data('color'),\n this.input.attr('data-color')\n ].map((item) => {\n if (item && (val === '')) {\n val = item;\n }\n });\n\n if (val instanceof ColorItem) {\n val = this.getFormattedColor(val.string(this.colorpicker.format));\n } else if (!(typeof val === 'string' || val instanceof String)) {\n val = '';\n }\n\n this.input.prop('value', val);\n }\n\n /**\n * Returns the color string from the input value.\n * If there is no input the return value is false.\n *\n * @returns {String|boolean}\n */\n getValue() {\n if (!this.hasInput()) {\n return false;\n }\n\n return this.input.val();\n }\n\n /**\n * If the input element is present, it updates the value with the current color object color string.\n * If the value is changed, this method fires a \"change\" event on the input element.\n *\n * @param {String} val\n *\n * @fires Colorpicker#change\n */\n setValue(val) {\n if (!this.hasInput()) {\n return;\n }\n\n let inputVal = this.input.prop('value');\n\n val = val ? val : '';\n\n if (val === (inputVal ? inputVal : '')) {\n // No need to set value or trigger any event if nothing changed\n return;\n }\n\n this.input.prop('value', val);\n\n /**\n * (Input) Triggered on the input element when a new color is selected.\n *\n * @event Colorpicker#change\n */\n this.input.trigger({\n type: 'change',\n colorpicker: this.colorpicker,\n color: this.colorpicker.color,\n value: val\n });\n }\n\n /**\n * Returns the formatted color string, with the formatting options applied\n * (e.g. useHashPrefix)\n *\n * @param {String|null} val\n *\n * @returns {String}\n */\n getFormattedColor(val = null) {\n val = val ? val : this.colorpicker.colorHandler.getColorString();\n\n if (!val) {\n return '';\n }\n\n val = this.colorpicker.colorHandler.resolveColorDelegate(val, false);\n\n if (this.colorpicker.options.useHashPrefix === false) {\n val = val.replace(/^#/g, '');\n }\n\n return val;\n }\n\n /**\n * Returns true if the widget has an associated input element, false otherwise\n * @returns {boolean}\n */\n hasInput() {\n return (this.input !== false);\n }\n\n /**\n * Returns true if the input exists and is disabled\n * @returns {boolean}\n */\n isEnabled() {\n return this.hasInput() && !this.isDisabled();\n }\n\n /**\n * Returns true if the input exists and is disabled\n * @returns {boolean}\n */\n isDisabled() {\n return this.hasInput() && (this.input.prop('disabled') === true);\n }\n\n /**\n * Disables the input if any\n *\n * @fires Colorpicker#colorpickerDisable\n * @returns {boolean}\n */\n disable() {\n if (this.hasInput()) {\n this.input.prop('disabled', true);\n }\n }\n\n /**\n * Enables the input if any\n *\n * @fires Colorpicker#colorpickerEnable\n * @returns {boolean}\n */\n enable() {\n if (this.hasInput()) {\n this.input.prop('disabled', false);\n }\n }\n\n /**\n * Calls setValue with the current internal color value\n *\n * @fires Colorpicker#change\n */\n update() {\n if (!this.hasInput()) {\n return;\n }\n\n if (\n (this.colorpicker.options.autoInputFallback === false) &&\n this.colorpicker.colorHandler.isInvalidColor()\n ) {\n // prevent update if color is invalid, autoInputFallback is disabled and the last event is keyup.\n return;\n }\n\n this.setValue(this.getFormattedColor());\n }\n\n /**\n * Function triggered when the input has changed, so the colorpicker gets updated.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n onchange(e) {\n this.colorpicker.lastEvent.alias = 'input.change';\n this.colorpicker.lastEvent.e = e;\n\n let val = this.getValue();\n\n if (val !== e.value) {\n this.colorpicker.setValue(val);\n }\n }\n\n /**\n * Function triggered after a keyboard key has been released.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n onkeyup(e) {\n this.colorpicker.lastEvent.alias = 'input.keyup';\n this.colorpicker.lastEvent.e = e;\n\n let val = this.getValue();\n\n if (val !== e.value) {\n this.colorpicker.setValue(val);\n }\n }\n}\n\nexport default InputHandler;\n","'use strict';\n\nvar colorString = require('color-string');\nvar convert = require('color-convert');\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (obj == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d*\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d*[\\.]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","'use strict';\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && obj.splice instanceof Function);\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict';\n\nimport $ from 'jquery';\nimport ColorItem from './ColorItem';\n\n/**\n * Handles everything related to the colorpicker color\n * @ignore\n */\nclass ColorHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n }\n\n /**\n * @returns {*|String|ColorItem}\n */\n get fallback() {\n return this.colorpicker.options.fallbackColor ?\n this.colorpicker.options.fallbackColor : (this.hasColor() ? this.color : null);\n }\n\n /**\n * @returns {String|null}\n */\n get format() {\n if (this.colorpicker.options.format) {\n return this.colorpicker.options.format;\n }\n\n if (this.hasColor() && this.color.hasTransparency() && this.color.format.match(/^hex/)) {\n return this.isAlphaEnabled() ? 'rgba' : 'hex';\n }\n\n if (this.hasColor()) {\n return this.color.format;\n }\n\n return 'rgb';\n }\n\n /**\n * Internal color getter\n *\n * @type {ColorItem|null}\n */\n get color() {\n return this.colorpicker.element.data('color');\n }\n\n /**\n * Internal color setter\n *\n * @ignore\n * @param {ColorItem|null} value\n */\n set color(value) {\n this.colorpicker.element.data('color', value);\n\n if ((value instanceof ColorItem) && (this.colorpicker.options.format === 'auto')) {\n // If format is 'auto', use the first parsed one from now on\n this.colorpicker.options.format = this.color.format;\n }\n }\n\n bind() {\n // if the color option is set\n if (this.colorpicker.options.color) {\n this.color = this.createColor(this.colorpicker.options.color);\n return;\n }\n\n // if element[color] is empty and the input has a value\n if (!this.color && !!this.colorpicker.inputHandler.getValue()) {\n this.color = this.createColor(\n this.colorpicker.inputHandler.getValue(), this.colorpicker.options.autoInputFallback\n );\n }\n }\n\n unbind() {\n this.colorpicker.element.removeData('color');\n }\n\n /**\n * Returns the color string from the input value or the 'data-color' attribute of the input or element.\n * If empty, it returns the defaultValue parameter.\n *\n * @returns {String|*}\n */\n getColorString() {\n if (!this.hasColor()) {\n return '';\n }\n\n return this.color.string(this.format);\n }\n\n /**\n * Sets the color value\n *\n * @param {String|ColorItem} val\n */\n setColorString(val) {\n let color = val ? this.createColor(val) : null;\n\n this.color = color ? color : null;\n }\n\n /**\n * Creates a new color using the widget instance options (fallbackColor, format).\n *\n * @fires Colorpicker#colorpickerInvalid\n * @param {*} val\n * @param {boolean} fallbackOnInvalid\n * @param {boolean} autoHexInputFallback\n * @returns {ColorItem}\n */\n createColor(val, fallbackOnInvalid = true, autoHexInputFallback = false) {\n let disableHexInputFallback = !fallbackOnInvalid && !autoHexInputFallback;\n\n let color = new ColorItem(this.resolveColorDelegate(val), this.format, disableHexInputFallback);\n\n if (!color.isValid()) {\n if (fallbackOnInvalid) {\n color = this.getFallbackColor();\n }\n\n /**\n * (Colorpicker) Fired when the color is invalid and the fallback color is going to be used.\n *\n * @event Colorpicker#colorpickerInvalid\n */\n this.colorpicker.trigger('colorpickerInvalid', color, val);\n }\n\n if (!this.isAlphaEnabled()) {\n // Alpha is disabled\n color.alpha = 1;\n }\n\n return color;\n }\n\n getFallbackColor() {\n if (this.fallback && (this.fallback === this.color)) {\n return this.color;\n }\n\n let fallback = this.resolveColorDelegate(this.fallback);\n\n let color = new ColorItem(fallback, this.format);\n\n if (!color.isValid()) {\n console.warn('The fallback color is invalid. Falling back to the previous color or black if any.');\n return this.color ? this.color : new ColorItem('#000000', this.format);\n }\n\n return color;\n }\n\n /**\n * @returns {ColorItem}\n */\n assureColor() {\n if (!this.hasColor()) {\n this.color = this.getFallbackColor();\n }\n\n return this.color;\n }\n\n /**\n * Delegates the color resolution to the colorpicker extensions.\n *\n * @param {String|*} color\n * @param {boolean} realColor if true, the color should resolve into a real (not named) color code\n * @returns {ColorItem|String|*|null}\n */\n resolveColorDelegate(color, realColor = true) {\n let extResolvedColor = false;\n\n $.each(this.colorpicker.extensions, function (name, ext) {\n if (extResolvedColor !== false) {\n // skip if resolved\n return;\n }\n extResolvedColor = ext.resolveColor(color, realColor);\n });\n\n return extResolvedColor ? extResolvedColor : color;\n }\n\n /**\n * Checks if there is a color object, that it is valid and it is not a fallback\n * @returns {boolean}\n */\n isInvalidColor() {\n return !this.hasColor() || !this.color.isValid();\n }\n\n /**\n * Returns true if the useAlpha option is exactly true, false otherwise\n * @returns {boolean}\n */\n isAlphaEnabled() {\n return (this.colorpicker.options.useAlpha !== false);\n }\n\n /**\n * Returns true if the current color object is an instance of Color, false otherwise.\n * @returns {boolean}\n */\n hasColor() {\n return this.color instanceof ColorItem;\n }\n}\n\nexport default ColorHandler;\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Handles everything related to the colorpicker UI\n * @ignore\n */\nclass PickerHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.picker = null;\n }\n\n get options() {\n return this.colorpicker.options;\n }\n\n get color() {\n return this.colorpicker.colorHandler.color;\n }\n\n bind() {\n /**\n * @type {jQuery|HTMLElement}\n */\n let picker = this.picker = $(this.options.template);\n\n if (this.options.customClass) {\n picker.addClass(this.options.customClass);\n }\n\n if (this.options.horizontal) {\n picker.addClass('colorpicker-horizontal');\n }\n\n if (this._supportsAlphaBar()) {\n this.options.useAlpha = true;\n picker.addClass('colorpicker-with-alpha');\n } else {\n this.options.useAlpha = false;\n }\n }\n\n attach() {\n // Inject the colorpicker element into the DOM\n let pickerParent = this.colorpicker.container ? this.colorpicker.container : null;\n\n if (pickerParent) {\n this.picker.appendTo(pickerParent);\n }\n }\n\n unbind() {\n this.picker.remove();\n }\n\n _supportsAlphaBar() {\n return (\n (this.options.useAlpha || (this.colorpicker.colorHandler.hasColor() && this.color.hasTransparency())) &&\n (this.options.useAlpha !== false) &&\n (!this.options.format || (this.options.format && !this.options.format.match(/^hex([36])?$/i)))\n );\n }\n\n /**\n * Changes the color adjustment bars using the current color object information.\n */\n update() {\n if (!this.colorpicker.colorHandler.hasColor()) {\n return;\n }\n\n let vertical = (this.options.horizontal !== true),\n slider = vertical ? this.options.sliders : this.options.slidersHorz;\n\n let saturationGuide = this.picker.find('.colorpicker-saturation .colorpicker-guide'),\n hueGuide = this.picker.find('.colorpicker-hue .colorpicker-guide'),\n alphaGuide = this.picker.find('.colorpicker-alpha .colorpicker-guide');\n\n let hsva = this.color.toHsvaRatio();\n\n // Set guides position\n if (hueGuide.length) {\n hueGuide.css(vertical ? 'top' : 'left', (vertical ? slider.hue.maxTop : slider.hue.maxLeft) * (1 - hsva.h));\n }\n if (alphaGuide.length) {\n alphaGuide.css(vertical ? 'top' : 'left', (vertical ? slider.alpha.maxTop : slider.alpha.maxLeft) * (1 - hsva.a));\n }\n if (saturationGuide.length) {\n saturationGuide.css({\n 'top': slider.saturation.maxTop - hsva.v * slider.saturation.maxTop,\n 'left': hsva.s * slider.saturation.maxLeft\n });\n }\n\n // Set saturation hue background\n this.picker.find('.colorpicker-saturation')\n .css('backgroundColor', this.color.getCloneHueOnly().toHexString()); // we only need hue\n\n // Set alpha color gradient\n let hexColor = this.color.toHexString();\n\n let alphaBg = '';\n\n if (this.options.horizontal) {\n alphaBg = `linear-gradient(to right, ${hexColor} 0%, transparent 100%)`;\n } else {\n alphaBg = `linear-gradient(to bottom, ${hexColor} 0%, transparent 100%)`;\n }\n\n this.picker.find('.colorpicker-alpha-color').css('background', alphaBg);\n }\n}\n\nexport default PickerHandler;\n","'use strict';\n\n/**\n * Handles everything related to the colorpicker addon\n * @ignore\n */\nclass AddonHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.addon = null;\n }\n\n hasAddon() {\n return !!this.addon;\n }\n\n bind() {\n /**\n * @type {*|jQuery}\n */\n this.addon = this.colorpicker.options.addon ?\n this.colorpicker.element.find(this.colorpicker.options.addon) : null;\n\n if (this.addon && (this.addon.length === 0)) {\n // not found\n this.addon = null;\n }\n }\n\n unbind() {\n if (this.hasAddon()) {\n this.addon.off('.colorpicker');\n }\n }\n\n /**\n * If the addon element is present, its background color is updated\n */\n update() {\n if (!this.colorpicker.colorHandler.hasColor() || !this.hasAddon()) {\n return;\n }\n\n let colorStr = this.colorpicker.colorHandler.getColorString();\n\n let styles = {'background': colorStr};\n\n let icn = this.addon.find('i').eq(0);\n\n if (icn.length > 0) {\n icn.css(styles);\n } else {\n this.addon.css(styles);\n }\n }\n}\n\nexport default AddonHandler;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.min.js.map b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.min.js.map deleted file mode 100644 index 2a01121..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/js/bootstrap-colorpicker.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://bootstrap-colorpicker/webpack/universalModuleDefinition","webpack://bootstrap-colorpicker/webpack/bootstrap","webpack://bootstrap-colorpicker/external {\"root\":\"jQuery\",\"commonjs2\":\"jquery\",\"commonjs\":\"jquery\",\"amd\":\"jquery\"}","webpack://bootstrap-colorpicker/./src/js/Extension.js","webpack://bootstrap-colorpicker/./src/js/ColorItem.js","webpack://bootstrap-colorpicker/./src/js/options.js","webpack://bootstrap-colorpicker/./src/js/extensions/Palette.js","webpack://bootstrap-colorpicker/./node_modules/color-name/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/conversions.js","webpack://bootstrap-colorpicker/./src/js/plugin.js","webpack://bootstrap-colorpicker/./src/js/Colorpicker.js","webpack://bootstrap-colorpicker/./src/js/extensions/index.js","webpack://bootstrap-colorpicker/./src/js/extensions/Debugger.js","webpack://bootstrap-colorpicker/./src/js/extensions/Preview.js","webpack://bootstrap-colorpicker/./src/js/extensions/Swatches.js","webpack://bootstrap-colorpicker/./src/js/SliderHandler.js","webpack://bootstrap-colorpicker/./src/js/PopupHandler.js","webpack://bootstrap-colorpicker/./src/js/InputHandler.js","webpack://bootstrap-colorpicker/./node_modules/color/index.js","webpack://bootstrap-colorpicker/./node_modules/color-string/index.js","webpack://bootstrap-colorpicker/./node_modules/simple-swizzle/index.js","webpack://bootstrap-colorpicker/./node_modules/is-arrayish/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/index.js","webpack://bootstrap-colorpicker/./node_modules/color-convert/route.js","webpack://bootstrap-colorpicker/./src/js/ColorHandler.js","webpack://bootstrap-colorpicker/./src/js/PickerHandler.js","webpack://bootstrap-colorpicker/./src/js/AddonHandler.js"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","_jquery","Extension","colorpicker","options","arguments","length","undefined","_classCallCheck","this","element","Error","on","$","proxy","onCreate","onDestroy","onUpdate","onChange","onInvalid","onShow","onHide","onEnable","onDisable","color","realColor","event","off","_color","HSVAColor","h","v","a","isNaN","ColorItem","fn","_len","args","Array","_key","result","apply","QixColor","format","_original","disableHexInputFallback","replace","sanitizeFormat","valid","parse","_color2","default","_format","isHex","model","hue","saturation","alpha","hasAlpha","toObject","string","round","str","isValid","isDark","isLight","formula","hues","isArray","colorFormulas","colors","mainColor","forEach","levels","saturationv","push","Math","sanitizeString","e","String","match","toLowerCase","complementary","triad","tetrad","splitcomplement","sassVars","bar_size_short","base_margin","columns","sliderSize","customClass","fallbackColor","horizontal","inline","container","popover","animation","placement","fallbackPlacement","debug","input","addon","autoInputFallback","autoHexInputFallback","useHashPrefix","useAlpha","template","extensions","showText","sliders","selector","maxLeft","maxTop","callLeft","callTop","childSelector","slidersHorz","_Extension2","defaults","namesAsValues","Palette","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","extend","_typeof","keys","getLength","indexOf","toUpperCase","getValue","getName","defaultValue","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","cssKeywords","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","g","b","min","max","delta","rdif","gdif","bdif","diff","diffc","w","y","k","comparativeDistance","x","pow","reversed","currentClosestDistance","Infinity","currentClosestKeyword","distance","z","t1","t2","t3","val","smin","lmin","sv","hi","floor","f","q","vmin","sl","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","ansi","mult","rem","integer","toString","substring","colorString","split","map","char","join","parseInt","chroma","grayscale","pure","mg","_Colorpicker","plugin","Colorpicker","option","fnArgs","slice","isSingleElement","returnValue","$elements","each","$this","_jquery2","inst","data","isFunction","constructor","_Extension","_options","_extensions","_SliderHandler","_PopupHandler","_InputHandler","_ColorHandler","_PickerHandler","_AddonHandler","_ColorItem","colorPickerIdCounter","self","colorHandler","pickerHandler","picker","id","lastEvent","alias","addClass","attr","disabled","inputHandler","InputHandler","ColorHandler","sliderHandler","SliderHandler","popupHandler","PopupHandler","PickerHandler","addonHandler","AddonHandler","init","trigger","initExtensions","attach","update","isDisabled","disable","ext","registerExtension","ExtensionClass","config","unbind","removeClass","removeData","show","hide","toggle","ch","hasColor","equals","createColor","assureColor","enable","eventName","type","coreExtensions","_Debugger","_Preview","_Swatches","_Palette","Debugger","Preview","Swatches","debugger","preview","swatches","palette","eventCounter","hasInput","onChangeInput","_console","logMessage","console","concat","logArgs","log","_get","elementInner","find","append","css","html","toRgbString","_Palette2","barTemplate","swatchTemplate","isEnabled","load","_this2","swatchContainer","isAliased","empty","$swatch","$sw","setValue","currentSlider","mousePointer","left","top","onMove","defaultOnMove","slider","cp","getFallbackColor","getClone","guideStyle","focus","sliderClasses","sliderName","pressed","mousemove.colorpicker","moved","touchmove.colorpicker","mouseup.colorpicker","released","touchend.colorpicker","pageX","pageY","originalEvent","touches","target","zone","closest","is","parent","guide","offset","style","preventDefault","popoverTarget","popoverTip","clicking","hidding","showing","hasAddon","createPopover","mousedown.colorpicker touchstart.colorpicker","focus.colorpicker","focusout.colorpicker","reposition","document","onClickingInside","isOrIsInside","currentTarget","isClickingInside","_defaults","content","useGetInstance","bootstrap","Popover","getInstance","getTipElement","tip","fireShow","fireHide","isVisible","stopPropagation","isPopover","isHidden","hasClass","_initValue","keyup.colorpicker","onkeyup","change.colorpicker","onchange","item","getFormattedColor","prop","inputVal","getColorString","resolveColorDelegate","isInvalidColor","_slice","skippedModels","hashedModelKeys","sort","limiters","Color","obj","valpha","newArr","zeroArray","splice","hashedKeys","JSON","stringify","limit","freeze","toJSON","places","to","percentString","percent","array","unitArray","unitObject","roundToPlace","getset","maxfn","saturationl","lightness","wblack","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","yiq","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","newAlpha","assertArray","raw","roundTo","num","Number","toFixed","channel","modifier","arr","colorNames","swizzle","reverseNames","cs","prefix","abbr","rgba","per","hexAlpha","i2","parseFloat","clamp","hexDouble","hsla","hwba","isArrayish","results","len","arg","wrap","Function","conversions","route","models","wrapRaw","wrappedFn","conversion","wrapRounded","fromModel","routes","routeModels","toModel","buildGraph","graph","deriveBFS","queue","current","pop","adjacents","adjacent","node","unshift","link","from","wrapConversion","path","cur","fallbackOnInvalid","isAlphaEnabled","fallback","warn","extResolvedColor","resolveColor","hasTransparency","_supportsAlphaBar","pickerParent","appendTo","remove","vertical","saturationGuide","hueGuide","alphaGuide","hsva","toHsvaRatio","getCloneHueOnly","toHexString","hexColor","alphaBg","colorStr","styles","background","icn","eq"],"mappings":"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","file":"bootstrap-colorpicker.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"bootstrap-colorpicker\", [\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"bootstrap-colorpicker\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"bootstrap-colorpicker\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Colorpicker extension class.\n */\nclass Extension {\n /**\n * @param {Colorpicker} colorpicker\n * @param {Object} options\n */\n constructor(colorpicker, options = {}) {\n /**\n * The colorpicker instance\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * Extension options\n *\n * @type {Object}\n */\n this.options = options;\n\n if (!(this.colorpicker.element && this.colorpicker.element.length)) {\n throw new Error('Extension: this.colorpicker.element is not valid');\n }\n\n this.colorpicker.element.on('colorpickerCreate.colorpicker-ext', $.proxy(this.onCreate, this));\n this.colorpicker.element.on('colorpickerDestroy.colorpicker-ext', $.proxy(this.onDestroy, this));\n this.colorpicker.element.on('colorpickerUpdate.colorpicker-ext', $.proxy(this.onUpdate, this));\n this.colorpicker.element.on('colorpickerChange.colorpicker-ext', $.proxy(this.onChange, this));\n this.colorpicker.element.on('colorpickerInvalid.colorpicker-ext', $.proxy(this.onInvalid, this));\n this.colorpicker.element.on('colorpickerShow.colorpicker-ext', $.proxy(this.onShow, this));\n this.colorpicker.element.on('colorpickerHide.colorpicker-ext', $.proxy(this.onHide, this));\n this.colorpicker.element.on('colorpickerEnable.colorpicker-ext', $.proxy(this.onEnable, this));\n this.colorpicker.element.on('colorpickerDisable.colorpicker-ext', $.proxy(this.onDisable, this));\n }\n\n /**\n * Function called every time a new color needs to be created.\n * Return false to skip this resolver and continue with other extensions' ones\n * or return anything else to consider the color resolved.\n *\n * @param {ColorItem|String|*} color\n * @param {boolean} realColor if true, the color should resolve into a real (not named) color code\n * @return {ColorItem|String|*}\n */\n resolveColor(color, realColor = true) {\n return false;\n }\n\n /**\n * Method called after the colorpicker is created\n *\n * @listens Colorpicker#colorpickerCreate\n * @param {Event} event\n */\n onCreate(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is destroyed\n *\n * @listens Colorpicker#colorpickerDestroy\n * @param {Event} event\n */\n onDestroy(event) {\n this.colorpicker.element.off('.colorpicker-ext');\n }\n\n /**\n * Method called after the colorpicker is updated\n *\n * @listens Colorpicker#colorpickerUpdate\n * @param {Event} event\n */\n onUpdate(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker color is changed\n *\n * @listens Colorpicker#colorpickerChange\n * @param {Event} event\n */\n onChange(event) {\n // to be extended\n }\n\n /**\n * Method called when the colorpicker color is invalid\n *\n * @listens Colorpicker#colorpickerInvalid\n * @param {Event} event\n */\n onInvalid(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is hidden\n *\n * @listens Colorpicker#colorpickerHide\n * @param {Event} event\n */\n onHide(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is shown\n *\n * @listens Colorpicker#colorpickerShow\n * @param {Event} event\n */\n onShow(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is disabled\n *\n * @listens Colorpicker#colorpickerDisable\n * @param {Event} event\n */\n onDisable(event) {\n // to be extended\n }\n\n /**\n * Method called after the colorpicker is enabled\n *\n * @listens Colorpicker#colorpickerEnable\n * @param {Event} event\n */\n onEnable(event) {\n // to be extended\n }\n}\n\nexport default Extension;\n","/**\n * Color manipulation class, specific for Bootstrap Colorpicker\n */\nimport QixColor from 'color';\n\n/**\n * HSVA color data class, containing the hue, saturation, value and alpha\n * information.\n */\nclass HSVAColor {\n /**\n * @param {number|int} h\n * @param {number|int} s\n * @param {number|int} v\n * @param {number|int} a\n */\n constructor(h, s, v, a) {\n this.h = isNaN(h) ? 0 : h;\n this.s = isNaN(s) ? 0 : s;\n this.v = isNaN(v) ? 0 : v;\n this.a = isNaN(h) ? 1 : a;\n }\n\n toString() {\n return `${this.h}, ${this.s}%, ${this.v}%, ${this.a}`;\n }\n}\n\n/**\n * HSVA color manipulation\n */\nclass ColorItem {\n\n /**\n * Returns the HSVAColor class\n *\n * @static\n * @example let colorData = new ColorItem.HSVAColor(360, 100, 100, 1);\n * @returns {HSVAColor}\n */\n static get HSVAColor() {\n return HSVAColor;\n }\n\n /**\n * Applies a method of the QixColor API and returns a new Color object or\n * the return value of the method call.\n *\n * If no argument is provided, the internal QixColor object is returned.\n *\n * @param {String} fn QixColor function name\n * @param args QixColor function arguments\n * @example let darkerColor = color.api('darken', 0.25);\n * @example let luminosity = color.api('luminosity');\n * @example color = color.api('negate');\n * @example let qColor = color.api().negate();\n * @returns {ColorItem|QixColor|*}\n */\n api(fn, ...args) {\n if (arguments.length === 0) {\n return this._color;\n }\n\n let result = this._color[fn].apply(this._color, args);\n\n if (!(result instanceof QixColor)) {\n // return result of the method call\n return result;\n }\n\n return new ColorItem(result, this.format);\n }\n\n /**\n * Returns the original ColorItem constructor data,\n * plus a 'valid' flag to know if it's valid or not.\n *\n * @returns {{color: *, format: String, valid: boolean}}\n */\n get original() {\n return this._original;\n }\n\n /**\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'.\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n */\n constructor(color = null, format = null, disableHexInputFallback = false) {\n this.replace(color, format, disableHexInputFallback);\n }\n\n /**\n * Replaces the internal QixColor object with a new one.\n * This also replaces the internal original color data.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data to be parsed (if needed)\n * @param {String|null} format Color model to convert to by default. Supported: 'rgb', 'hsl', 'hex'.\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n * @example color.replace('rgb(255,0,0)', 'hsl');\n * @example color.replace(hsvaColorData);\n */\n replace(color, format = null, disableHexInputFallback = false) {\n format = ColorItem.sanitizeFormat(format);\n\n /**\n * @type {{color: *, format: String}}\n * @private\n */\n this._original = {\n color: color,\n format: format,\n valid: true\n };\n /**\n * @type {QixColor}\n * @private\n */\n this._color = ColorItem.parse(color, disableHexInputFallback);\n\n if (this._color === null) {\n this._color = QixColor();\n this._original.valid = false;\n return;\n }\n\n /**\n * @type {*|string}\n * @private\n */\n this._format = format ? format :\n (ColorItem.isHex(color) ? 'hex' : this._color.model);\n }\n\n /**\n * Parses the color returning a Qix Color object or null if cannot be\n * parsed.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n * @param {boolean} disableHexInputFallback Disable fixing hex3 format\n * @example let qColor = ColorItem.parse('rgb(255,0,0)');\n * @static\n * @returns {QixColor|null}\n */\n static parse(color, disableHexInputFallback = false) {\n if (color instanceof QixColor) {\n return color;\n }\n\n if (color instanceof ColorItem) {\n return color._color;\n }\n\n let format = null;\n\n if (color instanceof HSVAColor) {\n color = [color.h, color.s, color.v, isNaN(color.a) ? 1 : color.a];\n } else {\n color = ColorItem.sanitizeString(color);\n }\n\n if (color === null) {\n return null;\n }\n\n if (Array.isArray(color)) {\n format = 'hsv';\n }\n\n if (ColorItem.isHex(color) && (color.length !== 6 && color.length !== 7) && disableHexInputFallback) {\n return null;\n }\n\n try {\n return QixColor(color, format);\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Sanitizes a color string, adding missing hash to hexadecimal colors\n * and converting 'transparent' to a color code.\n *\n * @param {String|*} str Color string\n * @example let colorStr = ColorItem.sanitizeString('ffaa00');\n * @static\n * @returns {String|*}\n */\n static sanitizeString(str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n return str;\n }\n\n if (str.match(/^[0-9a-f]{2,}$/i)) {\n return `#${str}`;\n }\n\n if (str.toLowerCase() === 'transparent') {\n return '#FFFFFF00';\n }\n\n return str;\n }\n\n /**\n * Detects if a value is a string and a color in hexadecimal format (in any variant).\n *\n * @param {String} str\n * @example ColorItem.isHex('rgba(0,0,0)'); // false\n * @example ColorItem.isHex('ffaa00'); // true\n * @example ColorItem.isHex('#ffaa00'); // true\n * @static\n * @returns {boolean}\n */\n static isHex(str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n return false;\n }\n\n return !!str.match(/^#?[0-9a-f]{2,}$/i);\n }\n\n /**\n * Sanitizes a color format to one supported by web browsers.\n * Returns an empty string of the format can't be recognised.\n *\n * @param {String|*} format\n * @example ColorItem.sanitizeFormat('rgba'); // 'rgb'\n * @example ColorItem.isHex('hex8'); // 'hex'\n * @example ColorItem.isHex('invalid'); // ''\n * @static\n * @returns {String} 'rgb', 'hsl', 'hex' or ''.\n */\n static sanitizeFormat(format) {\n switch (format) {\n case 'hex':\n case 'hex3':\n case 'hex4':\n case 'hex6':\n case 'hex8':\n return 'hex';\n case 'rgb':\n case 'rgba':\n case 'keyword':\n case 'name':\n return 'rgb';\n case 'hsl':\n case 'hsla':\n case 'hsv':\n case 'hsva':\n case 'hwb': // HWB this is supported by Qix Color, but not by browsers\n case 'hwba':\n return 'hsl';\n default :\n return '';\n }\n }\n\n /**\n * Returns true if the color is valid, false if not.\n *\n * @returns {boolean}\n */\n isValid() {\n return this._original.valid === true;\n }\n\n /**\n * Hue value from 0 to 360\n *\n * @returns {int}\n */\n get hue() {\n return this._color.hue();\n }\n\n /**\n * Saturation value from 0 to 100\n *\n * @returns {int}\n */\n get saturation() {\n return this._color.saturationv();\n }\n\n /**\n * Value channel value from 0 to 100\n *\n * @returns {int}\n */\n get value() {\n return this._color.value();\n }\n\n /**\n * Alpha value from 0.0 to 1.0\n *\n * @returns {number}\n */\n get alpha() {\n let a = this._color.alpha();\n\n return isNaN(a) ? 1 : a;\n }\n\n /**\n * Default color format to convert to when calling toString() or string()\n *\n * @returns {String} 'rgb', 'hsl', 'hex' or ''\n */\n get format() {\n return this._format ? this._format : this._color.model;\n }\n\n /**\n * Sets the hue value\n *\n * @param {int} value Integer from 0 to 360\n */\n set hue(value) {\n this._color = this._color.hue(value);\n }\n\n /**\n * Sets the hue ratio, where 1.0 is 0, 0.5 is 180 and 0.0 is 360.\n *\n * @ignore\n * @param {number} h Ratio from 1.0 to 0.0\n */\n setHueRatio(h) {\n this.hue = ((1 - h) * 360);\n }\n\n /**\n * Sets the saturation value\n *\n * @param {int} value Integer from 0 to 100\n */\n set saturation(value) {\n this._color = this._color.saturationv(value);\n }\n\n /**\n * Sets the saturation ratio, where 1.0 is 100 and 0.0 is 0.\n *\n * @ignore\n * @param {number} s Ratio from 0.0 to 1.0\n */\n setSaturationRatio(s) {\n this.saturation = (s * 100);\n }\n\n /**\n * Sets the 'value' channel value\n *\n * @param {int} value Integer from 0 to 100\n */\n set value(value) {\n this._color = this._color.value(value);\n }\n\n /**\n * Sets the value ratio, where 1.0 is 0 and 0.0 is 100.\n *\n * @ignore\n * @param {number} v Ratio from 1.0 to 0.0\n */\n setValueRatio(v) {\n this.value = ((1 - v) * 100);\n }\n\n /**\n * Sets the alpha value. It will be rounded to 2 decimals.\n *\n * @param {int} value Float from 0.0 to 1.0\n */\n set alpha(value) {\n // 2 decimals max\n this._color = this._color.alpha(Math.round(value * 100) / 100);\n }\n\n /**\n * Sets the alpha ratio, where 1.0 is 0.0 and 0.0 is 1.0.\n *\n * @ignore\n * @param {number} a Ratio from 1.0 to 0.0\n */\n setAlphaRatio(a) {\n this.alpha = 1 - a;\n }\n\n /**\n * Sets the default color format\n *\n * @param {String} value Supported: 'rgb', 'hsl', 'hex'\n */\n set format(value) {\n this._format = ColorItem.sanitizeFormat(value);\n }\n\n /**\n * Returns true if the saturation value is zero, false otherwise\n *\n * @returns {boolean}\n */\n isDesaturated() {\n return this.saturation === 0;\n }\n\n /**\n * Returns true if the alpha value is zero, false otherwise\n *\n * @returns {boolean}\n */\n isTransparent() {\n return this.alpha === 0;\n }\n\n /**\n * Returns true if the alpha value is numeric and less than 1, false otherwise\n *\n * @returns {boolean}\n */\n hasTransparency() {\n return this.hasAlpha() && (this.alpha < 1);\n }\n\n /**\n * Returns true if the alpha value is numeric, false otherwise\n *\n * @returns {boolean}\n */\n hasAlpha() {\n return !isNaN(this.alpha);\n }\n\n /**\n * Returns a new HSVAColor object, based on the current color\n *\n * @returns {HSVAColor}\n */\n toObject() {\n return new HSVAColor(this.hue, this.saturation, this.value, this.alpha);\n }\n\n /**\n * Alias of toObject()\n *\n * @returns {HSVAColor}\n */\n toHsva() {\n return this.toObject();\n }\n\n /**\n * Returns a new HSVAColor object with the ratio values (from 0.0 to 1.0),\n * based on the current color.\n *\n * @ignore\n * @returns {HSVAColor}\n */\n toHsvaRatio() {\n return new HSVAColor(\n this.hue / 360,\n this.saturation / 100,\n this.value / 100,\n this.alpha\n );\n }\n\n /**\n * Converts the current color to its string representation,\n * using the internal format of this instance.\n *\n * @returns {String}\n */\n toString() {\n return this.string();\n }\n\n /**\n * Converts the current color to its string representation,\n * using the given format.\n *\n * @param {String|null} format Format to convert to. If empty or null, the internal format will be used.\n * @returns {String}\n */\n string(format = null) {\n format = ColorItem.sanitizeFormat(format ? format : this.format);\n\n if (!format) {\n return this._color.round().string();\n }\n\n if (this._color[format] === undefined) {\n throw new Error(`Unsupported color format: '${format}'`);\n }\n\n let str = this._color[format]();\n\n return str.round ? str.round().string() : str;\n }\n\n /**\n * Returns true if the given color values equals this one, false otherwise.\n * The format is not compared.\n * If any of the colors is invalid, the result will be false.\n *\n * @param {ColorItem|HSVAColor|QixColor|String|*|null} color Color data\n *\n * @returns {boolean}\n */\n equals(color) {\n color = (color instanceof ColorItem) ? color : new ColorItem(color);\n\n if (!color.isValid() || !this.isValid()) {\n return false;\n }\n\n return (\n this.hue === color.hue &&\n this.saturation === color.saturation &&\n this.value === color.value &&\n this.alpha === color.alpha\n );\n }\n\n /**\n * Creates a copy of this instance\n *\n * @returns {ColorItem}\n */\n getClone() {\n return new ColorItem(this._color, this.format);\n }\n\n /**\n * Creates a copy of this instance, only copying the hue value,\n * and setting the others to its max value.\n *\n * @returns {ColorItem}\n */\n getCloneHueOnly() {\n return new ColorItem([this.hue, 100, 100, 1], this.format);\n }\n\n /**\n * Creates a copy of this instance setting the alpha to the max.\n *\n * @returns {ColorItem}\n */\n getCloneOpaque() {\n return new ColorItem(this._color.alpha(1), this.format);\n }\n\n /**\n * Converts the color to a RGB string\n *\n * @returns {String}\n */\n toRgbString() {\n return this.string('rgb');\n }\n\n /**\n * Converts the color to a Hexadecimal string\n *\n * @returns {String}\n */\n toHexString() {\n return this.string('hex');\n }\n\n /**\n * Converts the color to a HSL string\n *\n * @returns {String}\n */\n toHslString() {\n return this.string('hsl');\n }\n\n /**\n * Returns true if the color is dark, false otherwhise.\n * This is useful to decide a text color.\n *\n * @returns {boolean}\n */\n isDark() {\n return this._color.isDark();\n }\n\n /**\n * Returns true if the color is light, false otherwhise.\n * This is useful to decide a text color.\n *\n * @returns {boolean}\n */\n isLight() {\n return this._color.isLight();\n }\n\n /**\n * Generates a list of colors using the given hue-based formula or the given array of hue values.\n * Hue formulas can be extended using ColorItem.colorFormulas static property.\n *\n * @param {String|Number[]} formula Examples: 'complementary', 'triad', 'tetrad', 'splitcomplement', [180, 270]\n * @example let colors = color.generate('triad');\n * @example let colors = color.generate([45, 80, 112, 200]);\n * @returns {ColorItem[]}\n */\n generate(formula) {\n let hues = [];\n\n if (Array.isArray(formula)) {\n hues = formula;\n } else if (!ColorItem.colorFormulas.hasOwnProperty(formula)) {\n throw new Error(`No color formula found with the name '${formula}'.`);\n } else {\n hues = ColorItem.colorFormulas[formula];\n }\n\n let colors = [], mainColor = this._color, format = this.format;\n\n hues.forEach(function (hue) {\n let levels = [\n hue ? ((mainColor.hue() + hue) % 360) : mainColor.hue(),\n mainColor.saturationv(),\n mainColor.value(),\n mainColor.alpha()\n ];\n\n colors.push(new ColorItem(levels, format));\n });\n\n return colors;\n }\n}\n\n/**\n * List of hue-based color formulas used by ColorItem.prototype.generate()\n *\n * @static\n * @type {{complementary: number[], triad: number[], tetrad: number[], splitcomplement: number[]}}\n */\nColorItem.colorFormulas = {\n complementary: [180],\n triad: [0, 120, 240],\n tetrad: [0, 90, 180, 270],\n splitcomplement: [0, 72, 216]\n};\n\nexport default ColorItem;\n\nexport {\n HSVAColor,\n ColorItem\n};\n","'use strict';\n/**\n * @module\n */\n\n// adjust these values accordingly to the sass vars\nlet sassVars = {\n 'bar_size_short': 16,\n 'base_margin': 6,\n 'columns': 6\n};\n\nlet sliderSize = (sassVars.bar_size_short * sassVars.columns) + (sassVars.base_margin * (sassVars.columns - 1));\n\n/**\n * Colorpicker default options\n */\nexport default {\n /**\n * Custom class to be added to the `.colorpicker-element` element\n *\n * @type {String|null}\n * @default null\n */\n customClass: null,\n /**\n * Sets a initial color, ignoring the one from the element/input value or the data-color attribute.\n *\n * @type {(String|ColorItem|boolean)}\n * @default false\n */\n color: false,\n /**\n * Fallback color to use when the given color is invalid.\n * If false, the latest valid color will be used as a fallback.\n *\n * @type {String|ColorItem|boolean}\n * @default false\n */\n fallbackColor: false,\n /**\n * Forces an specific color format. If 'auto', it will be automatically detected the first time only,\n * but if null it will be always recalculated.\n *\n * Note that the ending 'a' of the format meaning \"alpha\" has currently no effect, meaning that rgb is the same as\n * rgba excepting if the alpha channel is disabled (see useAlpha).\n *\n * @type {('rgb'|'hex'|'hsl'|'auto'|null)}\n * @default 'auto'\n */\n format: 'auto',\n /**\n * Horizontal mode layout.\n *\n * If true, the hue and alpha channel bars will be rendered horizontally, above the saturation selector.\n *\n * @type {boolean}\n * @default false\n */\n horizontal: false,\n /**\n * Forces to show the colorpicker as an inline element.\n *\n * Note that if there is no container specified, the inline element\n * will be added to the body, so you may want to set the container option.\n *\n * @type {boolean}\n * @default false\n */\n inline: false,\n /**\n * Container where the colorpicker is appended to in the DOM.\n *\n * If is a string (CSS selector), the colorpicker will be placed inside this container.\n * If true, the `.colorpicker-element` element itself will be used as the container.\n * If false, the document body is used as the container, unless it is a popover (in this case it is appended to the\n * popover body instead).\n *\n * @type {String|boolean}\n * @default false\n */\n container: false,\n /**\n * Bootstrap Popover options.\n * The trigger, content and html options are always ignored.\n *\n * @type {boolean}\n * @default Object\n */\n popover: {\n animation: true,\n placement: 'bottom',\n fallbackPlacement: 'flip'\n },\n /**\n * If true, loads the 'debugger' extension automatically, which logs the events in the console\n * @type {boolean}\n * @default false\n */\n debug: false,\n /**\n * Child CSS selector for the colorpicker input.\n *\n * @type {String}\n * @default 'input'\n */\n input: 'input',\n /**\n * Child CSS selector for the colorpicker addon.\n * If it exists, the child element background will be changed on color change.\n *\n * @type {String}\n * @default '.colorpicker-trigger, .colorpicker-input-addon'\n */\n addon: '.colorpicker-input-addon',\n /**\n * If true, the input content will be replaced always with a valid color,\n * if false, the invalid color will be left in the input,\n * while the internal color object will still resolve into a valid one.\n *\n * @type {boolean}\n * @default true\n */\n autoInputFallback: true,\n /**\n * If true, valid HEX3 colors will be converted to HEX6, even with\n * autoInputFallback set to false\n * if false, HEX3 colors will not be converted to HEX6, when autoInputFallback is false\n * (this has been an issue, when using HEX6 colors with\n * autoInputFallback set to false, HEX3 colors were\n * automatically converting to HEX6)\n *\n * @type {boolean}\n * @default false\n */\n autoHexInputFallback: true,\n /**\n * If true a hash will be prepended to hexadecimal colors.\n * If false, the hash will be removed.\n * This only affects the input values in hexadecimal format.\n *\n * @type {boolean}\n * @default true\n */\n useHashPrefix: true,\n /**\n * If true, the alpha channel bar will be displayed no matter what.\n *\n * If false, it will be always hidden and alpha channel will be disabled also programmatically, meaning that\n * the selected or typed color will be always opaque.\n *\n * If null, the alpha channel will be automatically disabled/enabled depending if the initial color format supports\n * alpha or not.\n *\n * @type {boolean}\n * @default true\n */\n useAlpha: true,\n /**\n * Colorpicker widget template\n * @type {String}\n * @example\n * \n *
\n *
\n *
\n *
\n *
\n * \n *
\n *
\n */\n template: `
\n
\n
\n
\n
\n \n
\n
`,\n /**\n *\n * Associative object with the extension class name and its config.\n * Colorpicker comes with many bundled extensions: debugger, palette, preview and swatches (a superset of palette).\n *\n * @type {Object[]}\n * @example\n * extensions: [\n * {\n * name: 'swatches'\n * options: {\n * colors: {\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * },\n * namesAsValues: true\n * }\n * }\n * ]\n */\n extensions: [\n {\n name: 'preview',\n options: {\n showText: true\n }\n }\n ],\n /**\n * Vertical sliders configuration\n * @type {Object}\n */\n sliders: {\n saturation: {\n selector: '.colorpicker-saturation',\n maxLeft: sliderSize,\n maxTop: sliderSize,\n callLeft: 'setSaturationRatio',\n callTop: 'setValueRatio'\n },\n hue: {\n selector: '.colorpicker-hue',\n maxLeft: 0,\n maxTop: sliderSize,\n callLeft: false,\n callTop: 'setHueRatio'\n },\n alpha: {\n selector: '.colorpicker-alpha',\n childSelector: '.colorpicker-alpha-color',\n maxLeft: 0,\n maxTop: sliderSize,\n callLeft: false,\n callTop: 'setAlphaRatio'\n }\n },\n /**\n * Horizontal sliders configuration\n * @type {Object}\n */\n slidersHorz: {\n saturation: {\n selector: '.colorpicker-saturation',\n maxLeft: sliderSize,\n maxTop: sliderSize,\n callLeft: 'setSaturationRatio',\n callTop: 'setValueRatio'\n },\n hue: {\n selector: '.colorpicker-hue',\n maxLeft: sliderSize,\n maxTop: 0,\n callLeft: 'setHueRatio',\n callTop: false\n },\n alpha: {\n selector: '.colorpicker-alpha',\n childSelector: '.colorpicker-alpha-color',\n maxLeft: sliderSize,\n maxTop: 0,\n callLeft: 'setAlphaRatio',\n callTop: false\n }\n }\n};\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\nlet defaults = {\n /**\n * Key-value pairs defining a color alias and its CSS color representation.\n *\n * They can also be just an array of values. In that case, no special names are used, only the real colors.\n *\n * @type {Object|Array}\n * @default null\n * @example\n * {\n * 'black': '#000000',\n * 'white': '#ffffff',\n * 'red': '#FF0000',\n * 'default': '#777777',\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * }\n *\n * @example ['#f0ad4e', '#337ab7', '#5cb85c']\n */\n colors: null,\n /**\n * If true, when a color swatch is selected the name (alias) will be used as input value,\n * otherwise the swatch real color value will be used.\n *\n * @type {boolean}\n * @default true\n */\n namesAsValues: true\n};\n\n/**\n * Palette extension\n * @ignore\n */\nclass Palette extends Extension {\n\n /**\n * @returns {Object|Array}\n */\n get colors() {\n return this.options.colors;\n }\n\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {}, defaults, options));\n\n if ((!Array.isArray(this.options.colors)) && (typeof this.options.colors !== 'object')) {\n this.options.colors = null;\n }\n }\n\n /**\n * @returns {int}\n */\n getLength() {\n if (!this.options.colors) {\n return 0;\n }\n\n if (Array.isArray(this.options.colors)) {\n return this.options.colors.length;\n }\n\n if (typeof this.options.colors === 'object') {\n return Object.keys(this.options.colors).length;\n }\n\n return 0;\n }\n\n resolveColor(color, realColor = true) {\n if (this.getLength() <= 0) {\n return false;\n }\n\n // Array of colors\n if (Array.isArray(this.options.colors)) {\n if (this.options.colors.indexOf(color) >= 0) {\n return color;\n }\n if (this.options.colors.indexOf(color.toUpperCase()) >= 0) {\n return color.toUpperCase();\n }\n if (this.options.colors.indexOf(color.toLowerCase()) >= 0) {\n return color.toLowerCase();\n }\n return false;\n }\n\n if (typeof this.options.colors !== 'object') {\n return false;\n }\n\n // Map of objects\n if (!this.options.namesAsValues || realColor) {\n return this.getValue(color, false);\n }\n return this.getName(color, this.getName('#' + color));\n }\n\n /**\n * Given a color value, returns the corresponding color name or defaultValue.\n *\n * @param {String} value\n * @param {*} defaultValue\n * @returns {*}\n */\n getName(value, defaultValue = false) {\n if (!(typeof value === 'string') || !this.options.colors) {\n return defaultValue;\n }\n for (let name in this.options.colors) {\n if (!this.options.colors.hasOwnProperty(name)) {\n continue;\n }\n if (this.options.colors[name].toLowerCase() === value.toLowerCase()) {\n return name;\n }\n }\n return defaultValue;\n }\n\n /**\n * Given a color name, returns the corresponding color value or defaultValue.\n *\n * @param {String} name\n * @param {*} defaultValue\n * @returns {*}\n */\n getValue(name, defaultValue = false) {\n if (!(typeof name === 'string') || !this.options.colors) {\n return defaultValue;\n }\n if (this.options.colors.hasOwnProperty(name)) {\n return this.options.colors[name];\n }\n return defaultValue;\n }\n}\n\nexport default Palette;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","'use strict';\n\nimport Colorpicker from './Colorpicker';\nimport $ from 'jquery';\n\nlet plugin = 'colorpicker';\n\n$[plugin] = Colorpicker;\n\n// Colorpicker jQuery Plugin API\n$.fn[plugin] = function (option) {\n let fnArgs = Array.prototype.slice.call(arguments, 1),\n isSingleElement = (this.length === 1),\n returnValue = null;\n\n let $elements = this.each(function () {\n let $this = $(this),\n inst = $this.data(plugin),\n options = ((typeof option === 'object') ? option : {});\n\n // Create instance if does not exist\n if (!inst) {\n inst = new Colorpicker(this, options);\n $this.data(plugin, inst);\n }\n\n if (!isSingleElement) {\n return;\n }\n\n returnValue = $this;\n\n if (typeof option === 'string') {\n if (option === 'colorpicker') {\n // Return colorpicker instance: e.g. .colorpicker('colorpicker')\n returnValue = inst;\n } else if ($.isFunction(inst[option])) {\n // Return method call return value: e.g. .colorpicker('isEnabled')\n returnValue = inst[option].apply(inst, fnArgs);\n } else {\n // Return property value: e.g. .colorpicker('element')\n returnValue = inst[option];\n }\n }\n });\n\n return isSingleElement ? returnValue : $elements;\n};\n\n$.fn[plugin].constructor = Colorpicker;\n","'use strict';\n\nimport Extension from './Extension';\nimport defaults from './options';\nimport coreExtensions from 'extensions';\nimport $ from 'jquery';\nimport SliderHandler from './SliderHandler';\nimport PopupHandler from './PopupHandler';\nimport InputHandler from './InputHandler';\nimport ColorHandler from './ColorHandler';\nimport PickerHandler from './PickerHandler';\nimport AddonHandler from './AddonHandler';\nimport ColorItem from './ColorItem';\n\nlet colorPickerIdCounter = 0;\n\nlet root = (typeof self !== 'undefined' ? self : this); // window\n\n/**\n * Colorpicker widget class\n */\nclass Colorpicker {\n /**\n * Color class\n *\n * @static\n * @type {Color}\n */\n static get Color() {\n return ColorItem;\n }\n\n /**\n * Extension class\n *\n * @static\n * @type {Extension}\n */\n static get Extension() {\n return Extension;\n }\n\n /**\n * Internal color object\n *\n * @type {Color|null}\n */\n get color() {\n return this.colorHandler.color;\n }\n\n /**\n * Internal color format\n *\n * @type {String|null}\n */\n get format() {\n return this.colorHandler.format;\n }\n\n /**\n * Getter of the picker element\n *\n * @returns {jQuery|HTMLElement}\n */\n get picker() {\n return this.pickerHandler.picker;\n }\n\n /**\n * @fires Colorpicker#colorpickerCreate\n * @param {Object|String} element\n * @param {Object} options\n * @constructor\n */\n constructor(element, options) {\n colorPickerIdCounter += 1;\n /**\n * The colorpicker instance number\n * @type {number}\n */\n this.id = colorPickerIdCounter;\n\n /**\n * Latest colorpicker event\n *\n * @type {{name: String, e: *}}\n */\n this.lastEvent = {\n alias: null,\n e: null\n };\n\n /**\n * The element that the colorpicker is bound to\n *\n * @type {*|jQuery}\n */\n this.element = $(element)\n .addClass('colorpicker-element')\n .attr('data-colorpicker-id', this.id);\n\n /**\n * @type {defaults}\n */\n this.options = $.extend(true, {}, defaults, options, this.element.data());\n\n /**\n * @type {boolean}\n * @private\n */\n this.disabled = false;\n\n /**\n * Extensions added to this instance\n *\n * @type {Extension[]}\n */\n this.extensions = [];\n\n /**\n * The element where the\n * @type {*|jQuery}\n */\n this.container = (\n this.options.container === true ||\n (this.options.container !== true && this.options.inline === true)\n ) ? this.element : this.options.container;\n\n this.container = (this.container !== false) ? $(this.container) : false;\n\n /**\n * @type {InputHandler}\n */\n this.inputHandler = new InputHandler(this);\n /**\n * @type {ColorHandler}\n */\n this.colorHandler = new ColorHandler(this);\n /**\n * @type {SliderHandler}\n */\n this.sliderHandler = new SliderHandler(this);\n /**\n * @type {PopupHandler}\n */\n this.popupHandler = new PopupHandler(this, root);\n /**\n * @type {PickerHandler}\n */\n this.pickerHandler = new PickerHandler(this);\n /**\n * @type {AddonHandler}\n */\n this.addonHandler = new AddonHandler(this);\n\n this.init();\n\n // Emit a create event\n $($.proxy(function () {\n /**\n * (Colorpicker) When the Colorpicker instance has been created and the DOM is ready.\n *\n * @event Colorpicker#colorpickerCreate\n */\n this.trigger('colorpickerCreate');\n }, this));\n }\n\n /**\n * Initializes the plugin\n * @private\n */\n init() {\n // Init addon\n this.addonHandler.bind();\n\n // Init input\n this.inputHandler.bind();\n\n // Init extensions (before initializing the color)\n this.initExtensions();\n\n // Init color\n this.colorHandler.bind();\n\n // Init picker\n this.pickerHandler.bind();\n\n // Init sliders and popup\n this.sliderHandler.bind();\n this.popupHandler.bind();\n\n // Inject into the DOM (this may make it visible)\n this.pickerHandler.attach();\n\n // Update all components\n this.update();\n\n if (this.inputHandler.isDisabled()) {\n this.disable();\n }\n }\n\n /**\n * Initializes the plugin extensions\n * @private\n */\n initExtensions() {\n if (!Array.isArray(this.options.extensions)) {\n this.options.extensions = [];\n }\n\n if (this.options.debug) {\n this.options.extensions.push({name: 'debugger'});\n }\n\n // Register and instantiate extensions\n this.options.extensions.forEach((ext) => {\n this.registerExtension(Colorpicker.extensions[ext.name.toLowerCase()], ext.options || {});\n });\n }\n\n /**\n * Creates and registers the given extension\n *\n * @param {Extension} ExtensionClass The extension class to instantiate\n * @param {Object} [config] Extension configuration\n * @returns {Extension}\n */\n registerExtension(ExtensionClass, config = {}) {\n let ext = new ExtensionClass(this, config);\n\n this.extensions.push(ext);\n return ext;\n }\n\n /**\n * Destroys the current instance\n *\n * @fires Colorpicker#colorpickerDestroy\n */\n destroy() {\n let color = this.color;\n\n this.sliderHandler.unbind();\n this.inputHandler.unbind();\n this.popupHandler.unbind();\n this.colorHandler.unbind();\n this.addonHandler.unbind();\n this.pickerHandler.unbind();\n\n this.element\n .removeClass('colorpicker-element')\n .removeData('colorpicker')\n .removeData('color')\n .off('.colorpicker');\n\n /**\n * (Colorpicker) When the instance is destroyed with all events unbound.\n *\n * @event Colorpicker#colorpickerDestroy\n */\n this.trigger('colorpickerDestroy', color);\n }\n\n /**\n * Shows the colorpicker widget if hidden.\n * If the colorpicker is disabled this call will be ignored.\n *\n * @fires Colorpicker#colorpickerShow\n * @param {Event} [e]\n */\n show(e) {\n this.popupHandler.show(e);\n }\n\n /**\n * Hides the colorpicker widget.\n *\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n hide(e) {\n this.popupHandler.hide(e);\n }\n\n /**\n * Toggles the colorpicker between visible and hidden.\n *\n * @fires Colorpicker#colorpickerShow\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n toggle(e) {\n this.popupHandler.toggle(e);\n }\n\n /**\n * Returns the current color value as string\n *\n * @param {String|*} [defaultValue]\n * @returns {String|*}\n */\n getValue(defaultValue = null) {\n let val = this.colorHandler.color;\n\n val = (val instanceof ColorItem) ? val : defaultValue;\n\n if (val instanceof ColorItem) {\n return val.string(this.format);\n }\n\n return val;\n }\n\n /**\n * Sets the color manually\n *\n * @fires Colorpicker#colorpickerChange\n * @param {String|Color} val\n */\n setValue(val) {\n if (this.isDisabled()) {\n return;\n }\n let ch = this.colorHandler;\n\n if (\n (ch.hasColor() && !!val && ch.color.equals(val)) ||\n (!ch.hasColor() && !val)\n ) {\n // same color or still empty\n return;\n }\n\n ch.color = val ? ch.createColor(val, this.options.autoInputFallback, this.options.autoHexInputFallback) : null;\n\n /**\n * (Colorpicker) When the color is set programmatically with setValue().\n *\n * @event Colorpicker#colorpickerChange\n */\n this.trigger('colorpickerChange', ch.color, val);\n\n // force update if color has changed to empty\n this.update();\n }\n\n /**\n * Updates the UI and the input color according to the internal color.\n *\n * @fires Colorpicker#colorpickerUpdate\n */\n update() {\n if (this.colorHandler.hasColor()) {\n this.inputHandler.update();\n } else {\n this.colorHandler.assureColor();\n }\n\n this.addonHandler.update();\n this.pickerHandler.update();\n\n /**\n * (Colorpicker) Fired when the widget is updated.\n *\n * @event Colorpicker#colorpickerUpdate\n */\n this.trigger('colorpickerUpdate');\n }\n\n /**\n * Enables the widget and the input if any\n *\n * @fires Colorpicker#colorpickerEnable\n * @returns {boolean}\n */\n enable() {\n this.inputHandler.enable();\n this.disabled = false;\n this.picker.removeClass('colorpicker-disabled');\n\n /**\n * (Colorpicker) When the widget has been enabled.\n *\n * @event Colorpicker#colorpickerEnable\n */\n this.trigger('colorpickerEnable');\n return true;\n }\n\n /**\n * Disables the widget and the input if any\n *\n * @fires Colorpicker#colorpickerDisable\n * @returns {boolean}\n */\n disable() {\n this.inputHandler.disable();\n this.disabled = true;\n this.picker.addClass('colorpicker-disabled');\n\n /**\n * (Colorpicker) When the widget has been disabled.\n *\n * @event Colorpicker#colorpickerDisable\n */\n this.trigger('colorpickerDisable');\n return true;\n }\n\n /**\n * Returns true if this instance is enabled\n * @returns {boolean}\n */\n isEnabled() {\n return !this.isDisabled();\n }\n\n /**\n * Returns true if this instance is disabled\n * @returns {boolean}\n */\n isDisabled() {\n return this.disabled === true;\n }\n\n /**\n * Triggers a Colorpicker event.\n *\n * @param eventName\n * @param color\n * @param value\n */\n trigger(eventName, color = null, value = null) {\n this.element.trigger({\n type: eventName,\n colorpicker: this,\n color: color ? color : this.color,\n value: value ? value : this.getValue()\n });\n }\n}\n\n/**\n * Colorpicker extension classes, indexed by extension name\n *\n * @static\n * @type {Object} a map between the extension name and its class\n */\nColorpicker.extensions = coreExtensions;\n\nexport default Colorpicker;\n","import Debugger from './Debugger';\nimport Preview from './Preview';\nimport Swatches from './Swatches';\nimport Palette from './Palette';\n\nexport {\n Debugger, Preview, Swatches, Palette\n};\n\nexport default {\n 'debugger': Debugger,\n 'preview': Preview,\n 'swatches': Swatches,\n 'palette': Palette\n};\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\n/**\n * Debugger extension class\n * @alias DebuggerExtension\n * @ignore\n */\nclass Debugger extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, options);\n\n /**\n * @type {number}\n */\n this.eventCounter = 0;\n if (this.colorpicker.inputHandler.hasInput()) {\n this.colorpicker.inputHandler.input.on('change.colorpicker-ext', $.proxy(this.onChangeInput, this));\n }\n }\n\n /**\n * @fires DebuggerExtension#colorpickerDebug\n * @param {string} eventName\n * @param {*} args\n */\n log(eventName, ...args) {\n this.eventCounter += 1;\n\n let logMessage = `#${this.eventCounter}: Colorpicker#${this.colorpicker.id} [${eventName}]`;\n\n console.debug(logMessage, ...args);\n\n /**\n * Whenever the debugger logs an event, this other event is emitted.\n *\n * @event DebuggerExtension#colorpickerDebug\n * @type {object} The event object\n * @property {Colorpicker} colorpicker The Colorpicker instance\n * @property {ColorItem} color The color instance\n * @property {{debugger: DebuggerExtension, eventName: String, logArgs: Array, logMessage: String}} debug\n * The debug info\n */\n this.colorpicker.element.trigger({\n type: 'colorpickerDebug',\n colorpicker: this.colorpicker,\n color: this.color,\n value: null,\n debug: {\n debugger: this,\n eventName: eventName,\n logArgs: args,\n logMessage: logMessage\n }\n });\n }\n\n resolveColor(color, realColor = true) {\n this.log('resolveColor()', color, realColor);\n return false;\n }\n\n onCreate(event) {\n this.log('colorpickerCreate');\n return super.onCreate(event);\n }\n\n onDestroy(event) {\n this.log('colorpickerDestroy');\n this.eventCounter = 0;\n\n if (this.colorpicker.inputHandler.hasInput()) {\n this.colorpicker.inputHandler.input.off('.colorpicker-ext');\n }\n\n return super.onDestroy(event);\n }\n\n onUpdate(event) {\n this.log('colorpickerUpdate');\n }\n\n /**\n * @listens Colorpicker#change\n * @param {Event} event\n */\n onChangeInput(event) {\n this.log('input:change.colorpicker', event.value, event.color);\n }\n\n onChange(event) {\n this.log('colorpickerChange', event.value, event.color);\n }\n\n onInvalid(event) {\n this.log('colorpickerInvalid', event.value, event.color);\n }\n\n onHide(event) {\n this.log('colorpickerHide');\n this.eventCounter = 0;\n }\n\n onShow(event) {\n this.log('colorpickerShow');\n }\n\n onDisable(event) {\n this.log('colorpickerDisable');\n }\n\n onEnable(event) {\n this.log('colorpickerEnable');\n }\n}\n\nexport default Debugger;\n","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\n/**\n * Color preview extension\n * @ignore\n */\nclass Preview extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {},\n {\n template: '
',\n showText: true,\n format: colorpicker.format\n },\n options\n ));\n\n this.element = $(this.options.template);\n this.elementInner = this.element.find('div');\n }\n\n onCreate(event) {\n super.onCreate(event);\n this.colorpicker.picker.append(this.element);\n }\n\n onUpdate(event) {\n super.onUpdate(event);\n\n if (!event.color) {\n this.elementInner\n .css('backgroundColor', null)\n .css('color', null)\n .html('');\n return;\n }\n\n this.elementInner\n .css('backgroundColor', event.color.toRgbString());\n\n if (this.options.showText) {\n this.elementInner\n .html(event.color.string(this.options.format || this.colorpicker.format));\n\n if (event.color.isDark() && (event.color.alpha > 0.5)) {\n this.elementInner.css('color', 'white');\n } else {\n this.elementInner.css('color', 'black');\n }\n }\n }\n}\n\nexport default Preview;\n","'use strict';\n\nimport Palette from './Palette';\nimport $ from 'jquery';\n\nlet defaults = {\n barTemplate: `
\n
\n
`,\n swatchTemplate: ''\n};\n\n/**\n * Color swatches extension\n * @ignore\n */\nclass Swatches extends Palette {\n constructor(colorpicker, options = {}) {\n super(colorpicker, $.extend(true, {}, defaults, options));\n this.element = null;\n }\n\n isEnabled() {\n return this.getLength() > 0;\n }\n\n onCreate(event) {\n super.onCreate(event);\n\n if (!this.isEnabled()) {\n return;\n }\n\n this.element = $(this.options.barTemplate);\n this.load();\n this.colorpicker.picker.append(this.element);\n }\n\n load() {\n let colorpicker = this.colorpicker,\n swatchContainer = this.element.find('.colorpicker-swatches--inner'),\n isAliased = (this.options.namesAsValues === true) && !Array.isArray(this.colors);\n\n swatchContainer.empty();\n\n $.each(this.colors, (name, value) => {\n let $swatch = $(this.options.swatchTemplate)\n .attr('data-name', name)\n .attr('data-value', value)\n .attr('title', isAliased ? `${name}: ${value}` : value)\n .on('mousedown.colorpicker touchstart.colorpicker',\n function (e) {\n let $sw = $(this);\n\n // e.preventDefault();\n\n colorpicker.setValue(isAliased ? $sw.attr('data-name') : $sw.attr('data-value'));\n }\n );\n\n $swatch.find('.colorpicker-swatch--inner')\n .css('background-color', value);\n\n swatchContainer.append($swatch);\n });\n\n swatchContainer.append($(''));\n }\n}\n\nexport default Swatches;\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Class that handles all configured sliders on mouse or touch events.\n * @ignore\n */\nclass SliderHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {*|String}\n * @private\n */\n this.currentSlider = null;\n /**\n * @type {{left: number, top: number}}\n * @private\n */\n this.mousePointer = {\n left: 0,\n top: 0\n };\n\n /**\n * @type {Function}\n */\n this.onMove = $.proxy(this.defaultOnMove, this);\n }\n\n /**\n * This function is called every time a slider guide is moved\n * The scope of \"this\" is the SliderHandler object.\n *\n * @param {int} top\n * @param {int} left\n */\n defaultOnMove(top, left) {\n if (!this.currentSlider) {\n return;\n }\n\n let slider = this.currentSlider, cp = this.colorpicker, ch = cp.colorHandler;\n\n // Create a color object\n let color = !ch.hasColor() ? ch.getFallbackColor() : ch.color.getClone();\n\n // Adjust the guide position\n slider.guideStyle.left = left + 'px';\n slider.guideStyle.top = top + 'px';\n\n // Adjust the color\n if (slider.callLeft) {\n color[slider.callLeft](left / slider.maxLeft);\n }\n if (slider.callTop) {\n color[slider.callTop](top / slider.maxTop);\n }\n\n // Set the new color\n cp.setValue(color);\n cp.popupHandler.focus();\n }\n\n /**\n * Binds the colorpicker sliders to the mouse/touch events\n */\n bind() {\n let sliders = this.colorpicker.options.horizontal ? this.colorpicker\n .options.slidersHorz : this.colorpicker.options.sliders;\n\n let sliderClasses = [];\n\n for (let sliderName in sliders) {\n if (!sliders.hasOwnProperty(sliderName)) {\n continue;\n }\n\n sliderClasses.push(sliders[sliderName].selector);\n }\n\n this.colorpicker.picker.find(sliderClasses.join(', '))\n .on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.pressed, this));\n }\n\n /**\n * Unbinds any event bound by this handler\n */\n unbind() {\n $(this.colorpicker.picker).off({\n 'mousemove.colorpicker': $.proxy(this.moved, this),\n 'touchmove.colorpicker': $.proxy(this.moved, this),\n 'mouseup.colorpicker': $.proxy(this.released, this),\n 'touchend.colorpicker': $.proxy(this.released, this)\n });\n }\n\n /**\n * Function triggered when clicking in one of the color adjustment bars\n *\n * @private\n * @fires Colorpicker#mousemove\n * @param {Event} e\n */\n pressed(e) {\n if (this.colorpicker.isDisabled()) {\n return;\n }\n this.colorpicker.lastEvent.alias = 'pressed';\n this.colorpicker.lastEvent.e = e;\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n // e.stopPropagation();\n // e.preventDefault();\n\n let target = $(e.target);\n\n // detect the slider and set the limits and callbacks\n let zone = target.closest('div');\n\n let sliders = this.colorpicker.options.horizontal ? this.colorpicker\n .options.slidersHorz : this.colorpicker.options.sliders;\n\n if (zone.is('.colorpicker')) {\n return;\n }\n\n this.currentSlider = null;\n\n for (let sliderName in sliders) {\n if (!sliders.hasOwnProperty(sliderName)) {\n continue;\n }\n\n let slider = sliders[sliderName];\n\n if (zone.is(slider.selector)) {\n this.currentSlider = $.extend({}, slider, {name: sliderName});\n break;\n } else if (slider.childSelector !== undefined && zone.is(slider.childSelector)) {\n this.currentSlider = $.extend({}, slider, {name: sliderName});\n zone = zone.parent(); // zone.parents(slider.selector).first() ?\n break;\n }\n }\n\n let guide = zone.find('.colorpicker-guide').get(0);\n\n if (this.currentSlider === null || guide === null) {\n return;\n }\n\n let offset = zone.offset();\n\n // reference to guide's style\n this.currentSlider.guideStyle = guide.style;\n this.currentSlider.left = e.pageX - offset.left;\n this.currentSlider.top = e.pageY - offset.top;\n this.mousePointer = {\n left: e.pageX,\n top: e.pageY\n };\n\n // TODO: fix moving outside the picker makes the guides to keep moving. The event needs to be bound to the window.\n /**\n * (window.document) Triggered on mousedown for the document object,\n * so the color adjustment guide is moved to the clicked position.\n *\n * @event Colorpicker#mousemove\n */\n $(this.colorpicker.picker).on({\n 'mousemove.colorpicker': $.proxy(this.moved, this),\n 'touchmove.colorpicker': $.proxy(this.moved, this),\n 'mouseup.colorpicker': $.proxy(this.released, this),\n 'touchend.colorpicker': $.proxy(this.released, this)\n }).trigger('mousemove');\n }\n\n /**\n * Function triggered when dragging a guide inside one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n */\n moved(e) {\n this.colorpicker.lastEvent.alias = 'moved';\n this.colorpicker.lastEvent.e = e;\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n\n // e.stopPropagation();\n e.preventDefault(); // prevents scrolling on mobile\n\n let left = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxLeft,\n this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)\n )\n );\n\n let top = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxTop,\n this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)\n )\n );\n\n this.onMove(top, left);\n }\n\n /**\n * Function triggered when releasing the click in one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n */\n released(e) {\n this.colorpicker.lastEvent.alias = 'released';\n this.colorpicker.lastEvent.e = e;\n\n // e.stopPropagation();\n // e.preventDefault();\n\n $(this.colorpicker.picker).off({\n 'mousemove.colorpicker': this.moved,\n 'touchmove.colorpicker': this.moved,\n 'mouseup.colorpicker': this.released,\n 'touchend.colorpicker': this.released\n });\n }\n}\n\nexport default SliderHandler;\n","'use strict';\n\nimport $ from 'jquery';\nimport _defaults from './options';\n\n/**\n * Handles everything related to the UI of the colorpicker popup: show, hide, position,...\n * @ignore\n */\nclass PopupHandler {\n /**\n * @param {Colorpicker} colorpicker\n * @param {Window} root\n */\n constructor(colorpicker, root) {\n /**\n * @type {Window}\n */\n this.root = root;\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.popoverTarget = null;\n /**\n * @type {jQuery}\n */\n this.popoverTip = null;\n\n /**\n * If true, the latest click was inside the popover\n * @type {boolean}\n */\n this.clicking = false;\n /**\n * @type {boolean}\n */\n this.hidding = false;\n /**\n * @type {boolean}\n */\n this.showing = false;\n }\n\n /**\n * @private\n * @returns {jQuery|false}\n */\n get input() {\n return this.colorpicker.inputHandler.input;\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get hasInput() {\n return this.colorpicker.inputHandler.hasInput();\n }\n\n /**\n * @private\n * @returns {jQuery|false}\n */\n get addon() {\n return this.colorpicker.addonHandler.addon;\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get hasAddon() {\n return this.colorpicker.addonHandler.hasAddon();\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n get isPopover() {\n return !this.colorpicker.options.inline && !!this.popoverTip;\n }\n\n /**\n * Binds the different colorpicker elements to the focus/mouse/touch events so it reacts in order to show or\n * hide the colorpicker popup accordingly. It also adds the proper classes.\n */\n bind() {\n let cp = this.colorpicker;\n\n if (cp.options.inline) {\n cp.picker.addClass('colorpicker-inline colorpicker-visible');\n return; // no need to bind show/hide events for inline elements\n }\n\n cp.picker.addClass('colorpicker-popup colorpicker-hidden');\n\n // there is no input or addon\n if (!this.hasInput && !this.hasAddon) {\n return;\n }\n\n // create Bootstrap 4 popover\n if (cp.options.popover) {\n this.createPopover();\n }\n\n // bind addon show/hide events\n if (this.hasAddon) {\n // enable focus on addons\n if (!this.addon.attr('tabindex')) {\n this.addon.attr('tabindex', 0);\n }\n\n this.addon.on({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.toggle, this)\n });\n\n this.addon.on({\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n\n this.addon.on({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n // bind input show/hide events\n if (this.hasInput && !this.hasAddon) {\n this.input.on({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.show, this),\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n\n this.input.on({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n // reposition popup on window resize\n $(this.root).on('resize.colorpicker', $.proxy(this.reposition, this));\n }\n\n /**\n * Unbinds any event bound by this handler\n */\n unbind() {\n if (this.hasInput) {\n this.input.off({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.show, this),\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n this.input.off({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n if (this.hasAddon) {\n this.addon.off({\n 'mousedown.colorpicker touchstart.colorpicker': $.proxy(this.toggle, this)\n });\n this.addon.off({\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n this.addon.off({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('dispose');\n }\n\n $(this.root).off('resize.colorpicker', $.proxy(this.reposition, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n }\n\n isClickingInside(e) {\n if (!e) {\n return false;\n }\n\n return (\n this.isOrIsInside(this.popoverTip, e.currentTarget) ||\n this.isOrIsInside(this.popoverTip, e.target) ||\n this.isOrIsInside(this.colorpicker.picker, e.currentTarget) ||\n this.isOrIsInside(this.colorpicker.picker, e.target)\n );\n }\n\n isOrIsInside(container, element) {\n if (!container || !element) {\n return false;\n }\n\n element = $(element);\n\n return (\n element.is(container) ||\n container.find(element).length > 0\n );\n }\n\n onClickingInside(e) {\n this.clicking = this.isClickingInside(e);\n }\n\n createPopover() {\n let cp = this.colorpicker;\n\n this.popoverTarget = this.hasAddon ? this.addon : this.input;\n\n cp.picker.addClass('colorpicker-bs-popover-content');\n\n this.popoverTarget.popover(\n $.extend(\n true,\n {},\n _defaults.popover,\n cp.options.popover,\n {trigger: 'manual', content: cp.picker, html: true}\n )\n );\n\n /* Bootstrap 5 added an official method to get the popover instance */\n /* global bootstrap */\n const useGetInstance = window.bootstrap &&\n window.bootstrap.Popover &&\n window.bootstrap.Popover.getInstance;\n\n this.popoverTip = useGetInstance ?\n $(bootstrap.Popover.getInstance(this.popoverTarget[0]).getTipElement()) :\n $(this.popoverTarget.popover('getTipElement').data('bs.popover').tip);\n\n this.popoverTip.addClass('colorpicker-bs-popover');\n\n this.popoverTarget.on('shown.bs.popover', $.proxy(this.fireShow, this));\n this.popoverTarget.on('hidden.bs.popover', $.proxy(this.fireHide, this));\n }\n\n /**\n * If the widget is not inside a container or inline, rearranges its position relative to its element offset.\n *\n * @param {Event} [e]\n * @private\n */\n reposition(e) {\n if (this.popoverTarget && this.isVisible()) {\n this.popoverTarget.popover('update');\n }\n }\n\n /**\n * Toggles the colorpicker between visible or hidden\n *\n * @fires Colorpicker#colorpickerShow\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n toggle(e) {\n if (this.isVisible()) {\n this.hide(e);\n } else {\n this.show(e);\n }\n }\n\n /**\n * Shows the colorpicker widget if hidden.\n *\n * @fires Colorpicker#colorpickerShow\n * @param {Event} [e]\n */\n show(e) {\n if (this.isVisible() || this.showing || this.hidding) {\n return;\n }\n\n this.showing = true;\n this.hidding = false;\n this.clicking = false;\n\n let cp = this.colorpicker;\n\n cp.lastEvent.alias = 'show';\n cp.lastEvent.e = e;\n\n // Prevent showing browser native HTML5 colorpicker\n if (\n (e && (!this.hasInput || this.input.attr('type') === 'color')) &&\n (e && e.preventDefault)\n ) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n // If it's a popover, add event to the document to hide the picker when clicking outside of it\n if (this.isPopover) {\n $(this.root).on('resize.colorpicker', $.proxy(this.reposition, this));\n }\n\n // add visible class before popover is shown\n cp.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('show');\n } else {\n this.fireShow();\n }\n }\n\n fireShow() {\n this.hidding = false;\n this.showing = false;\n\n if (this.isPopover) {\n // Add event to hide on outside click\n $(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n }\n\n /**\n * (Colorpicker) When show() is called and the widget can be shown.\n *\n * @event Colorpicker#colorpickerShow\n */\n this.colorpicker.trigger('colorpickerShow');\n }\n\n /**\n * Hides the colorpicker widget.\n * Hide is prevented when it is triggered by an event whose target element has been clicked/touched.\n *\n * @fires Colorpicker#colorpickerHide\n * @param {Event} [e]\n */\n hide(e) {\n if (this.isHidden() || this.showing || this.hidding) {\n return;\n }\n\n let cp = this.colorpicker, clicking = (this.clicking || this.isClickingInside(e));\n\n this.hidding = true;\n this.showing = false;\n this.clicking = false;\n\n cp.lastEvent.alias = 'hide';\n cp.lastEvent.e = e;\n\n // TODO: fix having to click twice outside when losing focus and last 2 clicks where inside the colorpicker\n\n // Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched\n if (clicking) {\n this.hidding = false;\n return;\n }\n\n if (this.popoverTarget) {\n this.popoverTarget.popover('hide');\n } else {\n this.fireHide();\n }\n }\n\n fireHide() {\n this.hidding = false;\n this.showing = false;\n\n let cp = this.colorpicker;\n\n // add hidden class after popover is hidden\n cp.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');\n\n // Unbind window and document events, since there is no need to keep them while the popup is hidden\n $(this.root).off('resize.colorpicker', $.proxy(this.reposition, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.hide, this));\n $(this.root.document).off('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.onClickingInside, this));\n\n /**\n * (Colorpicker) When hide() is called and the widget can be hidden.\n *\n * @event Colorpicker#colorpickerHide\n */\n cp.trigger('colorpickerHide');\n }\n\n focus() {\n if (this.hasAddon) {\n return this.addon.focus();\n }\n if (this.hasInput) {\n return this.input.focus();\n }\n return false;\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-visible class and not the colorpicker-hidden one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isVisible() {\n return this.colorpicker.picker.hasClass('colorpicker-visible') &&\n !this.colorpicker.picker.hasClass('colorpicker-hidden');\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-hidden class and not the colorpicker-visible one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isHidden() {\n return this.colorpicker.picker.hasClass('colorpicker-hidden') &&\n !this.colorpicker.picker.hasClass('colorpicker-visible');\n }\n}\n\nexport default PopupHandler;\n","'use strict';\n\nimport $ from 'jquery';\nimport ColorItem from './ColorItem';\n\n/**\n * Handles everything related to the colorpicker input\n * @ignore\n */\nclass InputHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery|false}\n */\n this.input = this.colorpicker.element.is('input') ? this.colorpicker.element : (this.colorpicker.options.input ?\n this.colorpicker.element.find(this.colorpicker.options.input) : false);\n\n if (this.input && (this.input.length === 0)) {\n this.input = false;\n }\n\n this._initValue();\n }\n\n bind() {\n if (!this.hasInput()) {\n return;\n }\n this.input.on({\n 'keyup.colorpicker': $.proxy(this.onkeyup, this)\n });\n this.input.on({\n 'change.colorpicker': $.proxy(this.onchange, this)\n });\n }\n\n unbind() {\n if (!this.hasInput()) {\n return;\n }\n this.input.off('.colorpicker');\n }\n\n _initValue() {\n if (!this.hasInput()) {\n return;\n }\n\n let val = '';\n\n [\n // candidates:\n this.input.val(),\n this.input.data('color'),\n this.input.attr('data-color')\n ].map((item) => {\n if (item && (val === '')) {\n val = item;\n }\n });\n\n if (val instanceof ColorItem) {\n val = this.getFormattedColor(val.string(this.colorpicker.format));\n } else if (!(typeof val === 'string' || val instanceof String)) {\n val = '';\n }\n\n this.input.prop('value', val);\n }\n\n /**\n * Returns the color string from the input value.\n * If there is no input the return value is false.\n *\n * @returns {String|boolean}\n */\n getValue() {\n if (!this.hasInput()) {\n return false;\n }\n\n return this.input.val();\n }\n\n /**\n * If the input element is present, it updates the value with the current color object color string.\n * If the value is changed, this method fires a \"change\" event on the input element.\n *\n * @param {String} val\n *\n * @fires Colorpicker#change\n */\n setValue(val) {\n if (!this.hasInput()) {\n return;\n }\n\n let inputVal = this.input.prop('value');\n\n val = val ? val : '';\n\n if (val === (inputVal ? inputVal : '')) {\n // No need to set value or trigger any event if nothing changed\n return;\n }\n\n this.input.prop('value', val);\n\n /**\n * (Input) Triggered on the input element when a new color is selected.\n *\n * @event Colorpicker#change\n */\n this.input.trigger({\n type: 'change',\n colorpicker: this.colorpicker,\n color: this.colorpicker.color,\n value: val\n });\n }\n\n /**\n * Returns the formatted color string, with the formatting options applied\n * (e.g. useHashPrefix)\n *\n * @param {String|null} val\n *\n * @returns {String}\n */\n getFormattedColor(val = null) {\n val = val ? val : this.colorpicker.colorHandler.getColorString();\n\n if (!val) {\n return '';\n }\n\n val = this.colorpicker.colorHandler.resolveColorDelegate(val, false);\n\n if (this.colorpicker.options.useHashPrefix === false) {\n val = val.replace(/^#/g, '');\n }\n\n return val;\n }\n\n /**\n * Returns true if the widget has an associated input element, false otherwise\n * @returns {boolean}\n */\n hasInput() {\n return (this.input !== false);\n }\n\n /**\n * Returns true if the input exists and is disabled\n * @returns {boolean}\n */\n isEnabled() {\n return this.hasInput() && !this.isDisabled();\n }\n\n /**\n * Returns true if the input exists and is disabled\n * @returns {boolean}\n */\n isDisabled() {\n return this.hasInput() && (this.input.prop('disabled') === true);\n }\n\n /**\n * Disables the input if any\n *\n * @fires Colorpicker#colorpickerDisable\n * @returns {boolean}\n */\n disable() {\n if (this.hasInput()) {\n this.input.prop('disabled', true);\n }\n }\n\n /**\n * Enables the input if any\n *\n * @fires Colorpicker#colorpickerEnable\n * @returns {boolean}\n */\n enable() {\n if (this.hasInput()) {\n this.input.prop('disabled', false);\n }\n }\n\n /**\n * Calls setValue with the current internal color value\n *\n * @fires Colorpicker#change\n */\n update() {\n if (!this.hasInput()) {\n return;\n }\n\n if (\n (this.colorpicker.options.autoInputFallback === false) &&\n this.colorpicker.colorHandler.isInvalidColor()\n ) {\n // prevent update if color is invalid, autoInputFallback is disabled and the last event is keyup.\n return;\n }\n\n this.setValue(this.getFormattedColor());\n }\n\n /**\n * Function triggered when the input has changed, so the colorpicker gets updated.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n onchange(e) {\n this.colorpicker.lastEvent.alias = 'input.change';\n this.colorpicker.lastEvent.e = e;\n\n let val = this.getValue();\n\n if (val !== e.value) {\n this.colorpicker.setValue(val);\n }\n }\n\n /**\n * Function triggered after a keyboard key has been released.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n onkeyup(e) {\n this.colorpicker.lastEvent.alias = 'input.keyup';\n this.colorpicker.lastEvent.e = e;\n\n let val = this.getValue();\n\n if (val !== e.value) {\n this.colorpicker.setValue(val);\n }\n }\n}\n\nexport default InputHandler;\n","'use strict';\n\nvar colorString = require('color-string');\nvar convert = require('color-convert');\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (obj == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d*\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d*[\\.]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","'use strict';\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && obj.splice instanceof Function);\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict';\n\nimport $ from 'jquery';\nimport ColorItem from './ColorItem';\n\n/**\n * Handles everything related to the colorpicker color\n * @ignore\n */\nclass ColorHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n }\n\n /**\n * @returns {*|String|ColorItem}\n */\n get fallback() {\n return this.colorpicker.options.fallbackColor ?\n this.colorpicker.options.fallbackColor : (this.hasColor() ? this.color : null);\n }\n\n /**\n * @returns {String|null}\n */\n get format() {\n if (this.colorpicker.options.format) {\n return this.colorpicker.options.format;\n }\n\n if (this.hasColor() && this.color.hasTransparency() && this.color.format.match(/^hex/)) {\n return this.isAlphaEnabled() ? 'rgba' : 'hex';\n }\n\n if (this.hasColor()) {\n return this.color.format;\n }\n\n return 'rgb';\n }\n\n /**\n * Internal color getter\n *\n * @type {ColorItem|null}\n */\n get color() {\n return this.colorpicker.element.data('color');\n }\n\n /**\n * Internal color setter\n *\n * @ignore\n * @param {ColorItem|null} value\n */\n set color(value) {\n this.colorpicker.element.data('color', value);\n\n if ((value instanceof ColorItem) && (this.colorpicker.options.format === 'auto')) {\n // If format is 'auto', use the first parsed one from now on\n this.colorpicker.options.format = this.color.format;\n }\n }\n\n bind() {\n // if the color option is set\n if (this.colorpicker.options.color) {\n this.color = this.createColor(this.colorpicker.options.color);\n return;\n }\n\n // if element[color] is empty and the input has a value\n if (!this.color && !!this.colorpicker.inputHandler.getValue()) {\n this.color = this.createColor(\n this.colorpicker.inputHandler.getValue(), this.colorpicker.options.autoInputFallback\n );\n }\n }\n\n unbind() {\n this.colorpicker.element.removeData('color');\n }\n\n /**\n * Returns the color string from the input value or the 'data-color' attribute of the input or element.\n * If empty, it returns the defaultValue parameter.\n *\n * @returns {String|*}\n */\n getColorString() {\n if (!this.hasColor()) {\n return '';\n }\n\n return this.color.string(this.format);\n }\n\n /**\n * Sets the color value\n *\n * @param {String|ColorItem} val\n */\n setColorString(val) {\n let color = val ? this.createColor(val) : null;\n\n this.color = color ? color : null;\n }\n\n /**\n * Creates a new color using the widget instance options (fallbackColor, format).\n *\n * @fires Colorpicker#colorpickerInvalid\n * @param {*} val\n * @param {boolean} fallbackOnInvalid\n * @param {boolean} autoHexInputFallback\n * @returns {ColorItem}\n */\n createColor(val, fallbackOnInvalid = true, autoHexInputFallback = false) {\n let disableHexInputFallback = !fallbackOnInvalid && !autoHexInputFallback;\n\n let color = new ColorItem(this.resolveColorDelegate(val), this.format, disableHexInputFallback);\n\n if (!color.isValid()) {\n if (fallbackOnInvalid) {\n color = this.getFallbackColor();\n }\n\n /**\n * (Colorpicker) Fired when the color is invalid and the fallback color is going to be used.\n *\n * @event Colorpicker#colorpickerInvalid\n */\n this.colorpicker.trigger('colorpickerInvalid', color, val);\n }\n\n if (!this.isAlphaEnabled()) {\n // Alpha is disabled\n color.alpha = 1;\n }\n\n return color;\n }\n\n getFallbackColor() {\n if (this.fallback && (this.fallback === this.color)) {\n return this.color;\n }\n\n let fallback = this.resolveColorDelegate(this.fallback);\n\n let color = new ColorItem(fallback, this.format);\n\n if (!color.isValid()) {\n console.warn('The fallback color is invalid. Falling back to the previous color or black if any.');\n return this.color ? this.color : new ColorItem('#000000', this.format);\n }\n\n return color;\n }\n\n /**\n * @returns {ColorItem}\n */\n assureColor() {\n if (!this.hasColor()) {\n this.color = this.getFallbackColor();\n }\n\n return this.color;\n }\n\n /**\n * Delegates the color resolution to the colorpicker extensions.\n *\n * @param {String|*} color\n * @param {boolean} realColor if true, the color should resolve into a real (not named) color code\n * @returns {ColorItem|String|*|null}\n */\n resolveColorDelegate(color, realColor = true) {\n let extResolvedColor = false;\n\n $.each(this.colorpicker.extensions, function (name, ext) {\n if (extResolvedColor !== false) {\n // skip if resolved\n return;\n }\n extResolvedColor = ext.resolveColor(color, realColor);\n });\n\n return extResolvedColor ? extResolvedColor : color;\n }\n\n /**\n * Checks if there is a color object, that it is valid and it is not a fallback\n * @returns {boolean}\n */\n isInvalidColor() {\n return !this.hasColor() || !this.color.isValid();\n }\n\n /**\n * Returns true if the useAlpha option is exactly true, false otherwise\n * @returns {boolean}\n */\n isAlphaEnabled() {\n return (this.colorpicker.options.useAlpha !== false);\n }\n\n /**\n * Returns true if the current color object is an instance of Color, false otherwise.\n * @returns {boolean}\n */\n hasColor() {\n return this.color instanceof ColorItem;\n }\n}\n\nexport default ColorHandler;\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Handles everything related to the colorpicker UI\n * @ignore\n */\nclass PickerHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.picker = null;\n }\n\n get options() {\n return this.colorpicker.options;\n }\n\n get color() {\n return this.colorpicker.colorHandler.color;\n }\n\n bind() {\n /**\n * @type {jQuery|HTMLElement}\n */\n let picker = this.picker = $(this.options.template);\n\n if (this.options.customClass) {\n picker.addClass(this.options.customClass);\n }\n\n if (this.options.horizontal) {\n picker.addClass('colorpicker-horizontal');\n }\n\n if (this._supportsAlphaBar()) {\n this.options.useAlpha = true;\n picker.addClass('colorpicker-with-alpha');\n } else {\n this.options.useAlpha = false;\n }\n }\n\n attach() {\n // Inject the colorpicker element into the DOM\n let pickerParent = this.colorpicker.container ? this.colorpicker.container : null;\n\n if (pickerParent) {\n this.picker.appendTo(pickerParent);\n }\n }\n\n unbind() {\n this.picker.remove();\n }\n\n _supportsAlphaBar() {\n return (\n (this.options.useAlpha || (this.colorpicker.colorHandler.hasColor() && this.color.hasTransparency())) &&\n (this.options.useAlpha !== false) &&\n (!this.options.format || (this.options.format && !this.options.format.match(/^hex([36])?$/i)))\n );\n }\n\n /**\n * Changes the color adjustment bars using the current color object information.\n */\n update() {\n if (!this.colorpicker.colorHandler.hasColor()) {\n return;\n }\n\n let vertical = (this.options.horizontal !== true),\n slider = vertical ? this.options.sliders : this.options.slidersHorz;\n\n let saturationGuide = this.picker.find('.colorpicker-saturation .colorpicker-guide'),\n hueGuide = this.picker.find('.colorpicker-hue .colorpicker-guide'),\n alphaGuide = this.picker.find('.colorpicker-alpha .colorpicker-guide');\n\n let hsva = this.color.toHsvaRatio();\n\n // Set guides position\n if (hueGuide.length) {\n hueGuide.css(vertical ? 'top' : 'left', (vertical ? slider.hue.maxTop : slider.hue.maxLeft) * (1 - hsva.h));\n }\n if (alphaGuide.length) {\n alphaGuide.css(vertical ? 'top' : 'left', (vertical ? slider.alpha.maxTop : slider.alpha.maxLeft) * (1 - hsva.a));\n }\n if (saturationGuide.length) {\n saturationGuide.css({\n 'top': slider.saturation.maxTop - hsva.v * slider.saturation.maxTop,\n 'left': hsva.s * slider.saturation.maxLeft\n });\n }\n\n // Set saturation hue background\n this.picker.find('.colorpicker-saturation')\n .css('backgroundColor', this.color.getCloneHueOnly().toHexString()); // we only need hue\n\n // Set alpha color gradient\n let hexColor = this.color.toHexString();\n\n let alphaBg = '';\n\n if (this.options.horizontal) {\n alphaBg = `linear-gradient(to right, ${hexColor} 0%, transparent 100%)`;\n } else {\n alphaBg = `linear-gradient(to bottom, ${hexColor} 0%, transparent 100%)`;\n }\n\n this.picker.find('.colorpicker-alpha-color').css('background', alphaBg);\n }\n}\n\nexport default PickerHandler;\n","'use strict';\n\n/**\n * Handles everything related to the colorpicker addon\n * @ignore\n */\nclass AddonHandler {\n /**\n * @param {Colorpicker} colorpicker\n */\n constructor(colorpicker) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {jQuery}\n */\n this.addon = null;\n }\n\n hasAddon() {\n return !!this.addon;\n }\n\n bind() {\n /**\n * @type {*|jQuery}\n */\n this.addon = this.colorpicker.options.addon ?\n this.colorpicker.element.find(this.colorpicker.options.addon) : null;\n\n if (this.addon && (this.addon.length === 0)) {\n // not found\n this.addon = null;\n }\n }\n\n unbind() {\n if (this.hasAddon()) {\n this.addon.off('.colorpicker');\n }\n }\n\n /**\n * If the addon element is present, its background color is updated\n */\n update() {\n if (!this.colorpicker.colorHandler.hasColor() || !this.hasAddon()) {\n return;\n }\n\n let colorStr = this.colorpicker.colorHandler.getColorString();\n\n let styles = {'background': colorStr};\n\n let icn = this.addon.find('i').eq(0);\n\n if (icn.length > 0) {\n icn.css(styles);\n } else {\n this.addon.css(styles);\n }\n }\n}\n\nexport default AddonHandler;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/package.json b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/package.json deleted file mode 100644 index 96000b6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs-colorpicker/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "bootstrap-colorpicker", - "version": "3.4.0", - "description": "Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4.", - "main": "./dist/js/bootstrap-colorpicker.js", - "homepage": "https://itsjavi.com/bootstrap-colorpicker/", - "repository": { - "type": "git", - "url": "https://github.com/itsjavi/bootstrap-colorpicker.git" - }, - "bugs": { - "url": "https://github.com/itsjavi/bootstrap-colorpicker/issues" - }, - "keywords": ["bootstrap", "colorpicker"], - "author": "Javi Aguilar", - "license": "MIT", - "dependencies": { - "bootstrap": ">=4.0", - "jquery": ">=2.2", - "popper.js": ">=1.10" - }, - "scripts": { - "test": "npm run lint && ava --color --verbose", - "start": "node_modules/.bin/http-server ./build/docs", - "lint": "node_modules/.bin/eslint ./src/js ./*.js ./tests", - "lint-fix": "node_modules/.bin/eslint --fix ./src/js ./*.js ./tests", - "build": "gulp clean && gulp dist && gulp docs && gulp docs:add-v2-docs", - "build-dist": "gulp dist", - "build-docs": "gulp dist && gulp docs && gulp docs:add-v2-docs", - "build-npm": "npm run build && gulp npm-prepublish", - "publish-docs": "gh-pages -d build/docs" - }, - "ava": { - "files": "tests/**/*test.js", - "source": "src/js/**/*.{js,jsx}", - "concurrency": 5, - "failFast": true, - "failWithoutAssertions": false, - "tap": false, - "powerAssert": false, - "require": "babel-register", - "babel": "inherit" - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/CHANGELOG.md b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/CHANGELOG.md deleted file mode 100644 index 928c8d8..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/CHANGELOG.md +++ /dev/null @@ -1,215 +0,0 @@ -# Changelog - -## 3.4.0 - -* Bootstrap rubygem now depends on SassC instead of Sass. -* Compass no longer supported. - -## 3.3.7 - -* Allows jQuery 3.x in bower.json. [#1048](https://github.com/twbs/bootstrap-sass/issues/1048) -* Adds the `style` and `sass` fields to package.json. [#1045](https://github.com/twbs/bootstrap-sass/issues/1045) -* Adds Eyeglass support. [#1007](https://github.com/twbs/bootstrap-sass/pull/1007) - -## 3.3.6 - -* Bumps Sass dependency to 3.3.4+ to avoid compatibility issues with @at-root. -* Bumps node-sass dependency to ~3.4.2 for Node.js v5 compatibility. [#986](https://github.com/twbs/bootstrap-sass/issues/986) -* Fixes breadcrumb content issues on libsass. [#919](https://github.com/twbs/bootstrap-sass/issues/919) -* Fixes a Rails 5 compatibility issue. [#965](https://github.com/twbs/bootstrap-sass/pull/965) - -Framework version: Bootstrap **v3.3.6** - -## 3.3.5 - -Fix for standalone Compass extension compatibility. [#914](https://github.com/twbs/bootstrap-sass/issues/914) - -Framework version: Bootstrap **v3.3.5** - -## 3.3.4 - -No Sass-specific changes. - -Framework version: Bootstrap **v3.3.4** - -## 3.3.3 - -This is a re-packaged release of 3.3.2.1 (v3.3.2+1). - -Versions are now strictly semver. -The PATCH version may be ahead of the upstream. - -Framework version: Bootstrap **v3.3.2**. - -## 3.3.2.1 - -* Fix glyphicons regression (revert 443d5b49eac84aec1cb2f8ea173554327bfc8c14) - -## 3.3.2.0 - -* Autoprefixer is now required, and `autoprefixer-rails` is now a dependency for the ruby gem. [#824](https://github.com/twbs/bootstrap-sass/issues/824) -* Minimum precision reduced from 10 to 8 [#821](https://github.com/twbs/bootstrap-sass/issues/821) -* Requiring bootstrap JS from npm now works [#812](https://github.com/twbs/bootstrap-sass/issues/812) -* Fix Sass 3.4.x + IE10 compatibility issue [#803](https://github.com/twbs/bootstrap-sass/issues/803) -* Provide minified JS bundle [#777](https://github.com/twbs/bootstrap-sass/issues/777) -* Bower package is now at bootstrap-sass [#813](https://github.com/twbs/bootstrap-sass/issues/813) - - -## 3.3.1.0 - -* Variables override template at templates/project/_bootstrap-variables.sass -* Readme: Bower + Rails configuration - -## 3.3.0.1 - -* Fix loading issue with the ruby gem version - -## 3.3.0 - -* Improve libsass compatibility -* Support using Bower package with Rails - -## 3.2.0.2 - -Main bootstrap file is now a partial (_bootstrap.scss), for compatibility with Compass 1+. - -Fixed a number of bugs. [Issues closed in v3.2.0.2](https://github.com/twbs/bootstrap-sass/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av3.2.0.2). - -## 3.2.0.1 - -Fixed a number of bugs: [Issues closed in v3.2.0.1](https://github.com/twbs/bootstrap-sass/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av3.2.0.1). - -## 3.2.0.0 - -- Assets (Sass, JS, fonts) moved from `vendor/assets` to `assets`. `bootstrap.js` now contains concatenated JS. -- Compass generator now copies JS and fonts, and provides a better default `styles.sass`. -- Compass, Sprockets, and Mincer asset path helpers are now provided in pure Sass: `bootstrap-compass`, `bootstrap-sprockets`, and `bootstrap-mincer`. -Asset path helpers must be imported before `bootstrap`, more in Readme. -- Sprockets / Mincer JS manifest has been moved to `bootstrap-sprockets.js`. -It can be required without adding Bootstrap JS directory to load path, as it now uses relative paths. -- Sprockets: `depend_on_asset` (`glyphicons.scss`) has been changed to `depend_on` to work around an issue with `depend_on_asset`. -[More information](https://github.com/twbs/bootstrap-sass/issues/592#issuecomment-46570286). - -## 3.1.1.0 - -- Updated Bower docs - -## 3.1.0.2 - -- #523: Rails 3.2 compatibility -- Bugfixes from upstream up to 7eb532262fbd1112215b5a547b9285794b5360ab. - -## 3.1.0.1 - -- #518: `scale` mixin Sass compatibility issue - -## 3.1.0.0 - -* compiles with libsass master - -## 3.0.2.1 - -* fix vendor paths for compass - -## 3.0.0.0 - -* Fully automated (lots of string juggling) LESS -> Sass conversion. - *Gleb Mazovetskiy* -* Ported rake task from vwall/compass-twitter-bootstrap to convert Bootstrap upstream - *Peter Gumeson* -* Moved javascripts to us `bootstrap-component.js` to `bootstrap/component.js` - *Peter Gumeson* - -## 2.3.2.2 - -* Allow sass-rails `>= 3.2` - *Thomas McDonald* - -## 2.3.2.1 - -## 2.3.2.0 - -* Update to Bootstrap 2.3.2 - *Dan Allen* - -## 2.3.1.3 - -* Find the correct Sprockets context for the `image_path` function - *Tristan Harward, Gleb Mazovetskiy* - -## 2.3.1.2 - -* Fix changes to image url - *Gleb Mazovetskiy* -* Copy _variables into project on Compass install - *Phil Thompson* -* Add `bootstrap-affix` to the Compass template file - *brief* - -## 2.3.1.1 (yanked) - -* Change how image_url is handled internally - *Tristan Harward* -* Fix some font variables not having `!default` - *Thomas McDonald* - -## 2.3.0.0 -* [#290] Update to Bootstrap 2.3.0 - *Tristan Harward* -* Fix `rake:debug` with new file locations - *Thomas McDonald* -* Add draft contributing document - *Thomas McDonald* -* [#260] Add our load path to the global Sass load path - *Tristan Harward* -* [#275] Use GitHub notation in Sass head testing gemfile - *Timo Schilling* -* [#279, #283] Readme improvements - *theverything, Philip Arndt* - -## 2.2.2.0 -* [#270] Update to Bootstrap 2.2.2 - *Tristan Harward* -* [#266] Add license to gemspec - *Peter Marsh* - -## 2.2.1.1 -* [#258] Use `bootstrap` prefix for `@import`ing files in `bootstrap/bootstrap.scss` - *Umair Siddique* - -## 2.2.1.0 -* [#246] Update to Bootstrap 2.2.1 - *Tristan Harward* -* [#246] Pull Bootstrap updates from jlong/sass-twitter-bootstrap - *Tristan Harward* - -## 2.1.1.0 -* Update to Bootstrap 2.1.1 -* [#222] Remove 100% multiplier in vertical-three-colours -* [#227] Fix IE component animation collapse -* [#228] Fix variables documentation link -* [#231] Made .input-block-level a class as well as mixin - -## 2.1.0.1 -* [#219] Fix expected a color. Got: transparent. -* [#207] Add missing warning style for table row highlighting -* [#208] Use grid-input-span for input spans - -## 2.1.0.0 -* Updated to Bootstrap 2.1 -* Changed some mixin names to be more consistent. Nested mixins in Less are separated by a `-` when they are flattened in Sass. - -## 2.0.4.1 -* Fix `.row-fluid > spanX` nesting -* Small Javascript fixes for those staying on the 2.0.4 release -* Add `!default` to z-index variables. - -## 2.0.4.0 -* Updated to Bootstrap 2.0.4 -* Switched to Bootstrap 2.0.3+'s method of separating responsive files -* [#149, #150] Fix off by one error introduced with manual revert of media query breakpoints -* `rake debug` and `rake test` both compile bootstrap & bootstrap-responsive - -## 2.0.3.1 -* [#145, #146] Fix button alignment in collapsing navbar as a result of an incorrect variable - -## 2.0.3 -* Updated to Bootstrap 2.0.3 -* [#106] Support for Rails < 3.1 through Compass -* [#132] Add CI testing -* [#106] Support Rails w/Compass -* [#134] Fix support for Rails w/Compass - -## 2.0.2 -* [#86] Updated to Bootstrap 2.0.2 -Things of note: static navbars now have full width. (to be fixed in 2.0.3) `.navbar-inner > .container { width:940px; }` seems to work in the meanwhile -* [#62] Fixed asset compilation taking a *very* long time. -* [#69, #79, #80] \(Hopefully) clarified README. Now with less cat humour. -* [#91] Removed doubled up Sass extensions for Rails. -* [#63, #73] Allow for overriding of image-path -* [[SO](http://stackoverflow.com/a/9909626/241212)] Added makeFluidColumn mixin for defining fluid columns. Fluid rows must use `@extend .row-fluid`, and any column inside it can use `@include makeFluidColumn(num)`, where `num` is the number of columns. Unfortunately, there is a rather major limitation to this: margins on first-child elements must be overriden. See the attached Stack Overflow answer for more information. - -## 2.0.1 -* Updated to Bootstrap 2.0.1 -* Modified `@mixin opacity()` to take an argument `0...1` rather than `0...100` to be consistent with Compass. - -## 2.0.0 -* Updated to Bootstrap 2.0.0 diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/LICENSE b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/LICENSE deleted file mode 100644 index a3827b5..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2011-2016 Twitter, Inc -Copyright (c) 2011-2016 The Bootstrap Authors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/README.md b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/README.md deleted file mode 100644 index 288f103..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/README.md +++ /dev/null @@ -1,358 +0,0 @@ -# Bootstrap 3 for Sass -[![Gem Version](https://badge.fury.io/rb/bootstrap-sass.svg)](http://badge.fury.io/rb/bootstrap-sass) -[![npm version](https://img.shields.io/npm/v/bootstrap-sass.svg?style=flat)](https://www.npmjs.com/package/bootstrap-sass) -[![Bower Version](https://badge.fury.io/bo/bootstrap-sass.svg)](http://badge.fury.io/bo/bootstrap-sass) -[![Build Status](https://img.shields.io/travis/twbs/bootstrap-sass.svg)](https://travis-ci.org/twbs/bootstrap-sass) - -`bootstrap-sass` is a Sass-powered version of [Bootstrap](https://github.com/twbs/bootstrap) 3, ready to drop right into your Sass powered applications. - -This is Bootstrap **3**. For Bootstrap **4** use the [Bootstrap rubygem](https://github.com/twbs/bootstrap-rubygem) if you use Ruby, and the [main repo](https://github.com/twbs/bootstrap) otherwise. - -## Installation - -Please see the appropriate guide for your environment of choice: - -* [Ruby on Rails](#a-ruby-on-rails). -* [Bower](#b-bower). -* [npm / Node.js](#c-npm--nodejs). - -### a. Ruby on Rails - -`bootstrap-sass` is easy to drop into Rails with the asset pipeline. - -In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default. - -```ruby -gem 'bootstrap-sass', '~> 3.4.1' -gem 'sassc-rails', '>= 2.1.0' -``` - -`bundle install` and restart your server to make the files available through the pipeline. - -Import Bootstrap styles in `app/assets/stylesheets/application.scss`: - -```scss -// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables" -@import "bootstrap-sprockets"; -@import "bootstrap"; -``` - -`bootstrap-sprockets` must be imported before `bootstrap` for the icon fonts to work. - -Make sure the file has `.scss` extension (or `.sass` for Sass syntax). If you have just generated a new Rails app, -it may come with a `.css` file instead. If this file exists, it will be served instead of Sass, so rename it: - -```console -$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss -``` - -Then, remove all the `*= require_self` and `*= require_tree .` statements from the sass file. Instead, use `@import` to import Sass files. - -Do not use `*= require` in Sass or your other stylesheets will not be [able to access][antirequire] the Bootstrap mixins or variables. - -Bootstrap JavaScript depends on jQuery. -If you're using Rails 5.1+, add the `jquery-rails` gem to your Gemfile: - -```ruby -gem 'jquery-rails' -``` - -```console -$ bundle install -``` - -Require Bootstrap Javascripts in `app/assets/javascripts/application.js`: - -```js -//= require jquery -//= require bootstrap-sprockets -``` - -`bootstrap-sprockets` and `bootstrap` [should not both be included](https://github.com/twbs/bootstrap-sass/issues/829#issuecomment-75153827) in `application.js`. - -`bootstrap-sprockets` provides individual Bootstrap Javascript files (`alert.js` or `dropdown.js`, for example), while -`bootstrap` provides a concatenated file containing all Bootstrap Javascripts. - -#### Bower with Rails - -When using [bootstrap-sass Bower package](#c-bower) instead of the gem in Rails, configure assets in `config/application.rb`: - -```ruby -# Bower asset paths -root.join('vendor', 'assets', 'bower_components').to_s.tap do |bower_path| - config.sass.load_paths << bower_path - config.assets.paths << bower_path -end -# Precompile Bootstrap fonts -config.assets.precompile << %r(bootstrap-sass/assets/fonts/bootstrap/[\w-]+\.(?:eot|svg|ttf|woff2?)$) -# Minimum Sass number precision required by bootstrap-sass -::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max -``` - -Replace Bootstrap `@import` statements in `application.scss` with: - -```scss -$icon-font-path: "bootstrap-sass/assets/fonts/bootstrap/"; -@import "bootstrap-sass/assets/stylesheets/bootstrap-sprockets"; -@import "bootstrap-sass/assets/stylesheets/bootstrap"; -``` - -Replace Bootstrap `require` directive in `application.js` with: - -```js -//= require bootstrap-sass/assets/javascripts/bootstrap-sprockets -``` - -#### Rails 4.x - -Please make sure `sprockets-rails` is at least v2.1.4. - -#### Rails 3.2.x - -bootstrap-sass is no longer compatible with Rails 3. The latest version of bootstrap-sass compatible with Rails 3.2 is v3.1.1.0. - -### b. Bower - -bootstrap-sass Bower package is compatible with node-sass 3.2.0+. You can install it with: - -```console -$ bower install bootstrap-sass -``` - -Sass, JS, and all other assets are located at [assets](/assets). - -By default, `bower.json` main field list only the main `_bootstrap.scss` and all the static assets (fonts and JS). -This is compatible by default with asset managers such as [wiredep](https://github.com/taptapship/wiredep). - -#### Node.js Mincer - -If you use [mincer][mincer] with node-sass, import Bootstrap like so: - -In `application.css.ejs.scss` (NB **.css.ejs.scss**): - -```scss -// Import mincer asset paths helper integration -@import "bootstrap-mincer"; -@import "bootstrap"; -``` - -In `application.js`: - -```js -//= require bootstrap-sprockets -``` - -See also this [example manifest.js](/test/dummy_node_mincer/manifest.js) for mincer. - -### c. npm / Node.js -```console -$ npm install bootstrap-sass -``` - - -## Configuration - -### Sass - -By default all of Bootstrap is imported. - -You can also import components explicitly. To start with a full list of modules copy -[`_bootstrap.scss`](assets/stylesheets/_bootstrap.scss) file into your assets as `_bootstrap-custom.scss`. -Then comment out components you do not want from `_bootstrap-custom`. -In the application Sass file, replace `@import 'bootstrap'` with: - -```scss -@import 'bootstrap-custom'; -``` - -### Sass: Number Precision - -bootstrap-sass [requires](https://github.com/twbs/bootstrap-sass/issues/409) minimum [Sass number precision][sass-precision] of 8 (default is 5). - -Precision is set for Ruby automatically when using the `sassc-rails` gem. -When using the npm or Bower version with Ruby, you can set it with: - -```ruby -::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max -``` - -### Sass: Autoprefixer - -Bootstrap requires the use of [Autoprefixer][autoprefixer]. -[Autoprefixer][autoprefixer] adds vendor prefixes to CSS rules using values from [Can I Use](https://caniuse.com/). - -To match [upstream Bootstrap's level of browser compatibility](https://getbootstrap.com/getting-started/#support), set Autoprefixer's `browsers` option to: -```json -[ - "Android 2.3", - "Android >= 4", - "Chrome >= 20", - "Firefox >= 24", - "Explorer >= 8", - "iOS >= 6", - "Opera >= 12", - "Safari >= 6" -] -``` - -### JavaScript - -[`assets/javascripts/bootstrap.js`](/assets/javascripts/bootstrap.js) contains all of Bootstrap's JavaScript, -concatenated in the [correct order](/assets/javascripts/bootstrap-sprockets.js). - - -#### JavaScript with Sprockets or Mincer - -If you use Sprockets or Mincer, you can require `bootstrap-sprockets` instead to load the individual modules: - -```js -// Load all Bootstrap JavaScript -//= require bootstrap-sprockets -``` - -You can also load individual modules, provided you also require any dependencies. -You can check dependencies in the [Bootstrap JS documentation][jsdocs]. - -```js -//= require bootstrap/scrollspy -//= require bootstrap/modal -//= require bootstrap/dropdown -``` - -### Fonts - -The fonts are referenced as: - -```scss -"#{$icon-font-path}#{$icon-font-name}.eot" -``` - -`$icon-font-path` defaults to `bootstrap/` if asset path helpers are used, and `../fonts/bootstrap/` otherwise. - -When using bootstrap-sass with Compass, Sprockets, or Mincer, you **must** import the relevant path helpers before Bootstrap itself, for example: - -```scss -@import "bootstrap-compass"; -@import "bootstrap"; -``` - -## Usage - -### Sass - -Import Bootstrap into a Sass file (for example, `application.scss`) to get all of Bootstrap's styles, mixins and variables! - -```scss -@import "bootstrap"; -``` - -You can also include optional Bootstrap theme: - -```scss -@import "bootstrap/theme"; -``` - -The full list of Bootstrap variables can be found [here](https://getbootstrap.com/customize/#less-variables). You can override these by simply redefining the variable before the `@import` directive, e.g.: - -```scss -$navbar-default-bg: #312312; -$light-orange: #ff8c00; -$navbar-default-color: $light-orange; - -@import "bootstrap"; -``` - -### Eyeglass - -Bootstrap is available as an [Eyeglass](https://github.com/sass-eyeglass/eyeglass) module. After installing Bootstrap via NPM you can import the Bootstrap library via: - -```scss -@import "bootstrap-sass/bootstrap" -``` - -or import only the parts of Bootstrap you need: - -```scss -@import "bootstrap-sass/bootstrap/variables"; -@import "bootstrap-sass/bootstrap/mixins"; -@import "bootstrap-sass/bootstrap/carousel"; -``` - -## Version - -Bootstrap for Sass version may differ from the upstream version in the last number, known as -[PATCH](https://semver.org/spec/v2.0.0.html). The patch version may be ahead of the corresponding upstream minor. -This happens when we need to release Sass-specific changes. - -Before v3.3.2, Bootstrap for Sass version used to reflect the upstream version, with an additional number for -Sass-specific changes. This was changed due to Bower and npm compatibility issues. - -The upstream versions vs the Bootstrap for Sass versions are: - -| Upstream | Sass | -|---------:|--------:| -| 3.3.4+ | same | -| 3.3.2 | 3.3.3 | -| <= 3.3.1 | 3.3.1.x | - -Always refer to [CHANGELOG.md](/CHANGELOG.md) when upgrading. - ---- - -## Development and Contributing - -If you'd like to help with the development of bootstrap-sass itself, read this section. - -### Upstream Converter - -Keeping bootstrap-sass in sync with upstream changes from Bootstrap used to be an error prone and time consuming manual process. With Bootstrap 3 we have introduced a converter that automates this. - -**Note: if you're just looking to *use* Bootstrap 3, see the [installation](#installation) section above.** - -Upstream changes to the Bootstrap project can now be pulled in using the `convert` rake task. - -Here's an example run that would pull down the master branch from the main [twbs/bootstrap](https://github.com/twbs/bootstrap) repo: - - rake convert - -This will convert the latest LESS to Sass and update to the latest JS. -To convert a specific branch or version, pass the branch name or the commit hash as the first task argument: - - rake convert[e8a1df5f060bf7e6631554648e0abde150aedbe4] - -The latest converter script is located [here][converter] and does the following: - -* Converts upstream Bootstrap LESS files to its matching SCSS file. -* Copies all upstream JavaScript into `assets/javascripts/bootstrap`, a Sprockets manifest at `assets/javascripts/bootstrap-sprockets.js`, and a concatenation at `assets/javascripts/bootstrap.js`. -* Copies all upstream font files into `assets/fonts/bootstrap`. -* Sets `Bootstrap::BOOTSTRAP_SHA` in [version.rb][version] to the branch sha. - -This converter fully converts original LESS to SCSS. Conversion is automatic but requires instructions for certain transformations (see converter output). -Please submit GitHub issues tagged with `conversion`. - -## Credits - -bootstrap-sass has a number of major contributors: - - -* [Thomas McDonald](https://twitter.com/thomasmcdonald_) -* [Tristan Harward](http://www.trisweb.com) -* Peter Gumeson -* [Gleb Mazovetskiy](https://github.com/glebm) - -and a [significant number of other contributors][contrib]. - -## You're in good company -bootstrap-sass is used to build some awesome projects all over the web, including -[Diaspora](https://diasporafoundation.org/), [rails_admin](https://github.com/sferik/rails_admin), -Michael Hartl's [Rails Tutorial](https://www.railstutorial.org/), [gitlabhq](http://gitlabhq.com/) and -[kandan](http://getkandan.com/). - -[converter]: https://github.com/twbs/bootstrap-sass/blob/master/tasks/converter/less_conversion.rb -[version]: https://github.com/twbs/bootstrap-sass/blob/master/lib/bootstrap-sass/version.rb -[contrib]: https://github.com/twbs/bootstrap-sass/graphs/contributors -[antirequire]: https://github.com/twbs/bootstrap-sass/issues/79#issuecomment-4428595 -[jsdocs]: https://getbootstrap.com/javascript/#transitions -[sass-precision]: http://sass-lang.com/documentation/Sass/Script/Value/Number.html#precision%3D-class_method -[mincer]: https://github.com/nodeca/mincer -[autoprefixer]: https://github.com/postcss/autoprefixer diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.eot b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a495..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.svg b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb549..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc6..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff deleted file mode 100644 index 9e61285..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b5..0000000 Binary files a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 and /dev/null differ diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap-sprockets.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap-sprockets.js deleted file mode 100644 index 37468b3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap-sprockets.js +++ /dev/null @@ -1,12 +0,0 @@ -//= require ./bootstrap/affix -//= require ./bootstrap/alert -//= require ./bootstrap/button -//= require ./bootstrap/carousel -//= require ./bootstrap/collapse -//= require ./bootstrap/dropdown -//= require ./bootstrap/modal -//= require ./bootstrap/scrollspy -//= require ./bootstrap/tab -//= require ./bootstrap/transition -//= require ./bootstrap/tooltip -//= require ./bootstrap/popover diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.js deleted file mode 100644 index 170bd60..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.js +++ /dev/null @@ -1,2580 +0,0 @@ -/*! - * Bootstrap v3.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 Twitter, Inc. - * Licensed under the MIT license - */ - -if (typeof jQuery === 'undefined') { - throw new Error('Bootstrap\'s JavaScript requires jQuery') -} - -+function ($) { - 'use strict'; - var version = $.fn.jquery.split(' ')[0].split('.') - if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { - throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') - } -}(jQuery); - -/* ======================================================================== - * Bootstrap: transition.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#transitions - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // https://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: alert.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#alerts - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.VERSION = '3.4.1' - - Alert.TRANSITION_DURATION = 150 - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - selector = selector === '#' ? [] : selector - var $parent = $(document).find(selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.closest('.alert') - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: button.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#buttons - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.4.1' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state += 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d).prop(d, true) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d).prop(d, false) - } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked')) changed = false - $parent.find('.active').removeClass('active') - this.$element.addClass('active') - } else if ($input.prop('type') == 'checkbox') { - if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false - this.$element.toggleClass('active') - } - $input.prop('checked', this.$element.hasClass('active')) - if (changed) $input.trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - this.$element.toggleClass('active') - } - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - var old = $.fn.button - - $.fn.button = Plugin - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target).closest('.btn') - Plugin.call($btn, 'toggle') - if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { - // Prevent double click on radios, and the double selections (so cancellation) on checkboxes - e.preventDefault() - // The target component still receive the focus - if ($btn.is('input,button')) $btn.trigger('focus') - else $btn.find('input:visible,button:visible').first().trigger('focus') - } - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: carousel.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#carousel - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CAROUSEL CLASS DEFINITION - // ========================= - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = null - this.sliding = null - this.interval = null - this.$active = null - this.$items = null - - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) - - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } - - Carousel.VERSION = '3.4.1' - - Carousel.TRANSITION_DURATION = 600 - - Carousel.DEFAULTS = { - interval: 5000, - pause: 'hover', - wrap: true, - keyboard: true - } - - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return - } - - e.preventDefault() - } - - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) - - this.interval && clearInterval(this.interval) - - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - - return this - } - - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } - - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } - - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this - - if ($next.hasClass('active')) return (this.sliding = false) - - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return - - this.sliding = true - - isCycling && this.pause() - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } - - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - if (typeof $next === 'object' && $next.length) { - $next[0].offsetWidth // force reflow - } - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - var old = $.fn.carousel - - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - var clickHandler = function (e) { - var $this = $(this) - var href = $this.attr('href') - if (href) { - href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - } - - var target = $this.attr('data-target') || href - var $target = $(document).find(target) - - if (!$target.hasClass('carousel')) return - - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - Plugin.call($target, options) - - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - } - - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: collapse.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#collapse - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -/* jshint latedef: false */ - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + - '[data-toggle="collapse"][data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.4.1' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(document).find(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(document).find(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - - Plugin.call($target, option) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.4.1' - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector !== '#' ? $(document).find(selector) : null - - return $parent && $parent.length ? $parent : $this.parent() - } - - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) - }) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $(document.createElement('div')) - .addClass('dropdown-backdrop') - .insertAfter($(this)) - .on('click', clearMenus) - } - - var relatedTarget = { relatedTarget: this } - $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this - .trigger('focus') - .attr('aria-expanded', 'true') - - $parent - .toggleClass('open') - .trigger($.Event('shown.bs.dropdown', relatedTarget)) - } - - return false - } - - Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return - - var $this = $(this) - - e.preventDefault() - e.stopPropagation() - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - if (!isActive && e.which != 27 || isActive && e.which == 27) { - if (e.which == 27) $parent.find(toggle).trigger('focus') - return $this.trigger('click') - } - - var desc = ' li:not(.disabled):visible a' - var $items = $parent.find('.dropdown-menu' + desc) - - if (!$items.length) return - - var index = $items.index(e.target) - - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 - - $items.eq(index).trigger('focus') - } - - - // DROPDOWN PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.dropdown') - - if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.dropdown - - $.fn.dropdown = Plugin - $.fn.dropdown.Constructor = Dropdown - - - // DROPDOWN NO CONFLICT - // ==================== - - $.fn.dropdown.noConflict = function () { - $.fn.dropdown = old - return this - } - - - // APPLY TO STANDARD DROPDOWN ELEMENTS - // =================================== - - $(document) - .on('click.bs.dropdown.data-api', clearMenus) - .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) - .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: modal.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#modals - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // MODAL CLASS DEFINITION - // ====================== - - var Modal = function (element, options) { - this.options = options - this.$body = $(document.body) - this.$element = $(element) - this.$dialog = this.$element.find('.modal-dialog') - this.$backdrop = null - this.isShown = null - this.originalBodyPad = null - this.scrollbarWidth = 0 - this.ignoreBackdropClick = false - this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom' - - if (this.options.remote) { - this.$element - .find('.modal-content') - .load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) - } - } - - Modal.VERSION = '3.4.1' - - Modal.TRANSITION_DURATION = 300 - Modal.BACKDROP_TRANSITION_DURATION = 150 - - Modal.DEFAULTS = { - backdrop: true, - keyboard: true, - show: true - } - - Modal.prototype.toggle = function (_relatedTarget) { - return this.isShown ? this.hide() : this.show(_relatedTarget) - } - - Modal.prototype.show = function (_relatedTarget) { - var that = this - var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) - - this.$element.trigger(e) - - if (this.isShown || e.isDefaultPrevented()) return - - this.isShown = true - - this.checkScrollbar() - this.setScrollbar() - this.$body.addClass('modal-open') - - this.escape() - this.resize() - - this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) - - this.$dialog.on('mousedown.dismiss.bs.modal', function () { - that.$element.one('mouseup.dismiss.bs.modal', function (e) { - if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true - }) - }) - - this.backdrop(function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - if (!that.$element.parent().length) { - that.$element.appendTo(that.$body) // don't move modals dom position - } - - that.$element - .show() - .scrollTop(0) - - that.adjustDialog() - - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - that.enforceFocus() - - var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) - - transition ? - that.$dialog // wait for modal to slide in - .one('bsTransitionEnd', function () { - that.$element.trigger('focus').trigger(e) - }) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - that.$element.trigger('focus').trigger(e) - }) - } - - Modal.prototype.hide = function (e) { - if (e) e.preventDefault() - - e = $.Event('hide.bs.modal') - - this.$element.trigger(e) - - if (!this.isShown || e.isDefaultPrevented()) return - - this.isShown = false - - this.escape() - this.resize() - - $(document).off('focusin.bs.modal') - - this.$element - .removeClass('in') - .off('click.dismiss.bs.modal') - .off('mouseup.dismiss.bs.modal') - - this.$dialog.off('mousedown.dismiss.bs.modal') - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - this.hideModal() - } - - Modal.prototype.enforceFocus = function () { - $(document) - .off('focusin.bs.modal') // guard against infinite focus loop - .on('focusin.bs.modal', $.proxy(function (e) { - if (document !== e.target && - this.$element[0] !== e.target && - !this.$element.has(e.target).length) { - this.$element.trigger('focus') - } - }, this)) - } - - Modal.prototype.escape = function () { - if (this.isShown && this.options.keyboard) { - this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { - e.which == 27 && this.hide() - }, this)) - } else if (!this.isShown) { - this.$element.off('keydown.dismiss.bs.modal') - } - } - - Modal.prototype.resize = function () { - if (this.isShown) { - $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) - } else { - $(window).off('resize.bs.modal') - } - } - - Modal.prototype.hideModal = function () { - var that = this - this.$element.hide() - this.backdrop(function () { - that.$body.removeClass('modal-open') - that.resetAdjustments() - that.resetScrollbar() - that.$element.trigger('hidden.bs.modal') - }) - } - - Modal.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove() - this.$backdrop = null - } - - Modal.prototype.backdrop = function (callback) { - var that = this - var animate = this.$element.hasClass('fade') ? 'fade' : '' - - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate - - this.$backdrop = $(document.createElement('div')) - .addClass('modal-backdrop ' + animate) - .appendTo(this.$body) - - this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { - if (this.ignoreBackdropClick) { - this.ignoreBackdropClick = false - return - } - if (e.target !== e.currentTarget) return - this.options.backdrop == 'static' - ? this.$element[0].focus() - : this.hide() - }, this)) - - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - - this.$backdrop.addClass('in') - - if (!callback) return - - doAnimate ? - this.$backdrop - .one('bsTransitionEnd', callback) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callback() - - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') - - var callbackRemove = function () { - that.removeBackdrop() - callback && callback() - } - $.support.transition && this.$element.hasClass('fade') ? - this.$backdrop - .one('bsTransitionEnd', callbackRemove) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callbackRemove() - - } else if (callback) { - callback() - } - } - - // these following methods are used to handle overflowing modals - - Modal.prototype.handleUpdate = function () { - this.adjustDialog() - } - - Modal.prototype.adjustDialog = function () { - var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight - - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', - paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' - }) - } - - Modal.prototype.resetAdjustments = function () { - this.$element.css({ - paddingLeft: '', - paddingRight: '' - }) - } - - Modal.prototype.checkScrollbar = function () { - var fullWindowWidth = window.innerWidth - if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 - var documentElementRect = document.documentElement.getBoundingClientRect() - fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) - } - this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth - this.scrollbarWidth = this.measureScrollbar() - } - - Modal.prototype.setScrollbar = function () { - var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) - this.originalBodyPad = document.body.style.paddingRight || '' - var scrollbarWidth = this.scrollbarWidth - if (this.bodyIsOverflowing) { - this.$body.css('padding-right', bodyPad + scrollbarWidth) - $(this.fixedContent).each(function (index, element) { - var actualPadding = element.style.paddingRight - var calculatedPadding = $(element).css('padding-right') - $(element) - .data('padding-right', actualPadding) - .css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px') - }) - } - } - - Modal.prototype.resetScrollbar = function () { - this.$body.css('padding-right', this.originalBodyPad) - $(this.fixedContent).each(function (index, element) { - var padding = $(element).data('padding-right') - $(element).removeData('padding-right') - element.style.paddingRight = padding ? padding : '' - }) - } - - Modal.prototype.measureScrollbar = function () { // thx walsh - var scrollDiv = document.createElement('div') - scrollDiv.className = 'modal-scrollbar-measure' - this.$body.append(scrollDiv) - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth - this.$body[0].removeChild(scrollDiv) - return scrollbarWidth - } - - - // MODAL PLUGIN DEFINITION - // ======================= - - function Plugin(option, _relatedTarget) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.modal') - var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data) $this.data('bs.modal', (data = new Modal(this, options))) - if (typeof option == 'string') data[option](_relatedTarget) - else if (options.show) data.show(_relatedTarget) - }) - } - - var old = $.fn.modal - - $.fn.modal = Plugin - $.fn.modal.Constructor = Modal - - - // MODAL NO CONFLICT - // ================= - - $.fn.modal.noConflict = function () { - $.fn.modal = old - return this - } - - - // MODAL DATA-API - // ============== - - $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { - var $this = $(this) - var href = $this.attr('href') - var target = $this.attr('data-target') || - (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - - var $target = $(document).find(target) - var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - if ($this.is('a')) e.preventDefault() - - $target.one('show.bs.modal', function (showEvent) { - if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown - $target.one('hidden.bs.modal', function () { - $this.is(':visible') && $this.trigger('focus') - }) - }) - Plugin.call($target, option, this) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tooltip.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#tooltip - * Inspired by the original jQuery.tipsy by Jason Frame - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -+function ($) { - 'use strict'; - - var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'] - - var uriAttrs = [ - 'background', - 'cite', - 'href', - 'itemtype', - 'longdesc', - 'poster', - 'src', - 'xlink:href' - ] - - var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i - - var DefaultWhitelist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - } - - /** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi - - /** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i - - function allowedAttribute(attr, allowedAttributeList) { - var attrName = attr.nodeName.toLowerCase() - - if ($.inArray(attrName, allowedAttributeList) !== -1) { - if ($.inArray(attrName, uriAttrs) !== -1) { - return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)) - } - - return true - } - - var regExp = $(allowedAttributeList).filter(function (index, value) { - return value instanceof RegExp - }) - - // Check if a regular expression validates the attribute. - for (var i = 0, l = regExp.length; i < l; i++) { - if (attrName.match(regExp[i])) { - return true - } - } - - return false - } - - function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { - if (unsafeHtml.length === 0) { - return unsafeHtml - } - - if (sanitizeFn && typeof sanitizeFn === 'function') { - return sanitizeFn(unsafeHtml) - } - - // IE 8 and below don't support createHTMLDocument - if (!document.implementation || !document.implementation.createHTMLDocument) { - return unsafeHtml - } - - var createdDocument = document.implementation.createHTMLDocument('sanitization') - createdDocument.body.innerHTML = unsafeHtml - - var whitelistKeys = $.map(whiteList, function (el, i) { return i }) - var elements = $(createdDocument.body).find('*') - - for (var i = 0, len = elements.length; i < len; i++) { - var el = elements[i] - var elName = el.nodeName.toLowerCase() - - if ($.inArray(elName, whitelistKeys) === -1) { - el.parentNode.removeChild(el) - - continue - } - - var attributeList = $.map(el.attributes, function (el) { return el }) - var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []) - - for (var j = 0, len2 = attributeList.length; j < len2; j++) { - if (!allowedAttribute(attributeList[j], whitelistedAttributes)) { - el.removeAttribute(attributeList[j].nodeName) - } - } - } - - return createdDocument.body.innerHTML - } - - // TOOLTIP PUBLIC CLASS DEFINITION - // =============================== - - var Tooltip = function (element, options) { - this.type = null - this.options = null - this.enabled = null - this.timeout = null - this.hoverState = null - this.$element = null - this.inState = null - - this.init('tooltip', element, options) - } - - Tooltip.VERSION = '3.4.1' - - Tooltip.TRANSITION_DURATION = 150 - - Tooltip.DEFAULTS = { - animation: true, - placement: 'top', - selector: false, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - container: false, - viewport: { - selector: 'body', - padding: 0 - }, - sanitize : true, - sanitizeFn : null, - whiteList : DefaultWhitelist - } - - Tooltip.prototype.init = function (type, element, options) { - this.enabled = true - this.type = type - this.$element = $(element) - this.options = this.getOptions(options) - this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) - this.inState = { click: false, hover: false, focus: false } - - if (this.$element[0] instanceof document.constructor && !this.options.selector) { - throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') - } - - var triggers = this.options.trigger.split(' ') - - for (var i = triggers.length; i--;) { - var trigger = triggers[i] - - if (trigger == 'click') { - this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) - } else if (trigger != 'manual') { - var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' - var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' - - this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) - this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) - } - } - - this.options.selector ? - (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : - this.fixTitle() - } - - Tooltip.prototype.getDefaults = function () { - return Tooltip.DEFAULTS - } - - Tooltip.prototype.getOptions = function (options) { - var dataAttributes = this.$element.data() - - for (var dataAttr in dataAttributes) { - if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) { - delete dataAttributes[dataAttr] - } - } - - options = $.extend({}, this.getDefaults(), dataAttributes, options) - - if (options.delay && typeof options.delay == 'number') { - options.delay = { - show: options.delay, - hide: options.delay - } - } - - if (options.sanitize) { - options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn) - } - - return options - } - - Tooltip.prototype.getDelegateOptions = function () { - var options = {} - var defaults = this.getDefaults() - - this._options && $.each(this._options, function (key, value) { - if (defaults[key] != value) options[key] = value - }) - - return options - } - - Tooltip.prototype.enter = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true - } - - if (self.tip().hasClass('in') || self.hoverState == 'in') { - self.hoverState = 'in' - return - } - - clearTimeout(self.timeout) - - self.hoverState = 'in' - - if (!self.options.delay || !self.options.delay.show) return self.show() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'in') self.show() - }, self.options.delay.show) - } - - Tooltip.prototype.isInStateTrue = function () { - for (var key in this.inState) { - if (this.inState[key]) return true - } - - return false - } - - Tooltip.prototype.leave = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false - } - - if (self.isInStateTrue()) return - - clearTimeout(self.timeout) - - self.hoverState = 'out' - - if (!self.options.delay || !self.options.delay.hide) return self.hide() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'out') self.hide() - }, self.options.delay.hide) - } - - Tooltip.prototype.show = function () { - var e = $.Event('show.bs.' + this.type) - - if (this.hasContent() && this.enabled) { - this.$element.trigger(e) - - var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) - if (e.isDefaultPrevented() || !inDom) return - var that = this - - var $tip = this.tip() - - var tipId = this.getUID(this.type) - - this.setContent() - $tip.attr('id', tipId) - this.$element.attr('aria-describedby', tipId) - - if (this.options.animation) $tip.addClass('fade') - - var placement = typeof this.options.placement == 'function' ? - this.options.placement.call(this, $tip[0], this.$element[0]) : - this.options.placement - - var autoToken = /\s?auto?\s?/i - var autoPlace = autoToken.test(placement) - if (autoPlace) placement = placement.replace(autoToken, '') || 'top' - - $tip - .detach() - .css({ top: 0, left: 0, display: 'block' }) - .addClass(placement) - .data('bs.' + this.type, this) - - this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element) - this.$element.trigger('inserted.bs.' + this.type) - - var pos = this.getPosition() - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (autoPlace) { - var orgPlacement = placement - var viewportDim = this.getPosition(this.$viewport) - - placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : - placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : - placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : - placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : - placement - - $tip - .removeClass(orgPlacement) - .addClass(placement) - } - - var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) - - this.applyPlacement(calculatedOffset, placement) - - var complete = function () { - var prevHoverState = that.hoverState - that.$element.trigger('shown.bs.' + that.type) - that.hoverState = null - - if (prevHoverState == 'out') that.leave(that) - } - - $.support.transition && this.$tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - } - } - - Tooltip.prototype.applyPlacement = function (offset, placement) { - var $tip = this.tip() - var width = $tip[0].offsetWidth - var height = $tip[0].offsetHeight - - // manually read margins because getBoundingClientRect includes difference - var marginTop = parseInt($tip.css('margin-top'), 10) - var marginLeft = parseInt($tip.css('margin-left'), 10) - - // we must check for NaN for ie 8/9 - if (isNaN(marginTop)) marginTop = 0 - if (isNaN(marginLeft)) marginLeft = 0 - - offset.top += marginTop - offset.left += marginLeft - - // $.fn.offset doesn't round pixel values - // so we use setOffset directly with our own function B-0 - $.offset.setOffset($tip[0], $.extend({ - using: function (props) { - $tip.css({ - top: Math.round(props.top), - left: Math.round(props.left) - }) - } - }, offset), 0) - - $tip.addClass('in') - - // check to see if placing tip in new offset caused the tip to resize itself - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (placement == 'top' && actualHeight != height) { - offset.top = offset.top + height - actualHeight - } - - var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) - - if (delta.left) offset.left += delta.left - else offset.top += delta.top - - var isVertical = /top|bottom/.test(placement) - var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight - var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' - - $tip.offset(offset) - this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) - } - - Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { - this.arrow() - .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') - .css(isVertical ? 'top' : 'left', '') - } - - Tooltip.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - - if (this.options.html) { - if (this.options.sanitize) { - title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn) - } - - $tip.find('.tooltip-inner').html(title) - } else { - $tip.find('.tooltip-inner').text(title) - } - - $tip.removeClass('fade in top bottom left right') - } - - Tooltip.prototype.hide = function (callback) { - var that = this - var $tip = $(this.$tip) - var e = $.Event('hide.bs.' + this.type) - - function complete() { - if (that.hoverState != 'in') $tip.detach() - if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. - that.$element - .removeAttr('aria-describedby') - .trigger('hidden.bs.' + that.type) - } - callback && callback() - } - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - $tip.removeClass('in') - - $.support.transition && $tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - - this.hoverState = null - - return this - } - - Tooltip.prototype.fixTitle = function () { - var $e = this.$element - if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { - $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') - } - } - - Tooltip.prototype.hasContent = function () { - return this.getTitle() - } - - Tooltip.prototype.getPosition = function ($element) { - $element = $element || this.$element - - var el = $element[0] - var isBody = el.tagName == 'BODY' - - var elRect = el.getBoundingClientRect() - if (elRect.width == null) { - // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 - elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) - } - var isSvg = window.SVGElement && el instanceof window.SVGElement - // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. - // See https://github.com/twbs/bootstrap/issues/20280 - var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) - var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } - var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null - - return $.extend({}, elRect, scroll, outerDims, elOffset) - } - - Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { - return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : - /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } - - } - - Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { - var delta = { top: 0, left: 0 } - if (!this.$viewport) return delta - - var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 - var viewportDimensions = this.getPosition(this.$viewport) - - if (/right|left/.test(placement)) { - var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll - var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight - if (topEdgeOffset < viewportDimensions.top) { // top overflow - delta.top = viewportDimensions.top - topEdgeOffset - } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow - delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset - } - } else { - var leftEdgeOffset = pos.left - viewportPadding - var rightEdgeOffset = pos.left + viewportPadding + actualWidth - if (leftEdgeOffset < viewportDimensions.left) { // left overflow - delta.left = viewportDimensions.left - leftEdgeOffset - } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow - delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset - } - } - - return delta - } - - Tooltip.prototype.getTitle = function () { - var title - var $e = this.$element - var o = this.options - - title = $e.attr('data-original-title') - || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) - - return title - } - - Tooltip.prototype.getUID = function (prefix) { - do prefix += ~~(Math.random() * 1000000) - while (document.getElementById(prefix)) - return prefix - } - - Tooltip.prototype.tip = function () { - if (!this.$tip) { - this.$tip = $(this.options.template) - if (this.$tip.length != 1) { - throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') - } - } - return this.$tip - } - - Tooltip.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) - } - - Tooltip.prototype.enable = function () { - this.enabled = true - } - - Tooltip.prototype.disable = function () { - this.enabled = false - } - - Tooltip.prototype.toggleEnabled = function () { - this.enabled = !this.enabled - } - - Tooltip.prototype.toggle = function (e) { - var self = this - if (e) { - self = $(e.currentTarget).data('bs.' + this.type) - if (!self) { - self = new this.constructor(e.currentTarget, this.getDelegateOptions()) - $(e.currentTarget).data('bs.' + this.type, self) - } - } - - if (e) { - self.inState.click = !self.inState.click - if (self.isInStateTrue()) self.enter(self) - else self.leave(self) - } else { - self.tip().hasClass('in') ? self.leave(self) : self.enter(self) - } - } - - Tooltip.prototype.destroy = function () { - var that = this - clearTimeout(this.timeout) - this.hide(function () { - that.$element.off('.' + that.type).removeData('bs.' + that.type) - if (that.$tip) { - that.$tip.detach() - } - that.$tip = null - that.$arrow = null - that.$viewport = null - that.$element = null - }) - } - - Tooltip.prototype.sanitizeHtml = function (unsafeHtml) { - return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn) - } - - // TOOLTIP PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tooltip') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tooltip - - $.fn.tooltip = Plugin - $.fn.tooltip.Constructor = Tooltip - - - // TOOLTIP NO CONFLICT - // =================== - - $.fn.tooltip.noConflict = function () { - $.fn.tooltip = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: popover.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#popovers - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // POPOVER PUBLIC CLASS DEFINITION - // =============================== - - var Popover = function (element, options) { - this.init('popover', element, options) - } - - if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') - - Popover.VERSION = '3.4.1' - - Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }) - - - // NOTE: POPOVER EXTENDS tooltip.js - // ================================ - - Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) - - Popover.prototype.constructor = Popover - - Popover.prototype.getDefaults = function () { - return Popover.DEFAULTS - } - - Popover.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - var content = this.getContent() - - if (this.options.html) { - var typeContent = typeof content - - if (this.options.sanitize) { - title = this.sanitizeHtml(title) - - if (typeContent === 'string') { - content = this.sanitizeHtml(content) - } - } - - $tip.find('.popover-title').html(title) - $tip.find('.popover-content').children().detach().end()[ - typeContent === 'string' ? 'html' : 'append' - ](content) - } else { - $tip.find('.popover-title').text(title) - $tip.find('.popover-content').children().detach().end().text(content) - } - - $tip.removeClass('fade top bottom left right in') - - // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do - // this manually by checking the contents. - if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() - } - - Popover.prototype.hasContent = function () { - return this.getTitle() || this.getContent() - } - - Popover.prototype.getContent = function () { - var $e = this.$element - var o = this.options - - return $e.attr('data-content') - || (typeof o.content == 'function' ? - o.content.call($e[0]) : - o.content) - } - - Popover.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.arrow')) - } - - - // POPOVER PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.popover') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.popover', (data = new Popover(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.popover - - $.fn.popover = Plugin - $.fn.popover.Constructor = Popover - - - // POPOVER NO CONFLICT - // =================== - - $.fn.popover.noConflict = function () { - $.fn.popover = old - return this - } - -}(jQuery); - -/* ======================================================================== - * Bootstrap: scrollspy.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#scrollspy - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // SCROLLSPY CLASS DEFINITION - // ========================== - - function ScrollSpy(element, options) { - this.$body = $(document.body) - this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) - this.options = $.extend({}, ScrollSpy.DEFAULTS, options) - this.selector = (this.options.target || '') + ' .nav li > a' - this.offsets = [] - this.targets = [] - this.activeTarget = null - this.scrollHeight = 0 - - this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) - this.refresh() - this.process() - } - - ScrollSpy.VERSION = '3.4.1' - - ScrollSpy.DEFAULTS = { - offset: 10 - } - - ScrollSpy.prototype.getScrollHeight = function () { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - } - - ScrollSpy.prototype.refresh = function () { - var that = this - var offsetMethod = 'offset' - var offsetBase = 0 - - this.offsets = [] - this.targets = [] - this.scrollHeight = this.getScrollHeight() - - if (!$.isWindow(this.$scrollElement[0])) { - offsetMethod = 'position' - offsetBase = this.$scrollElement.scrollTop() - } - - this.$body - .find(this.selector) - .map(function () { - var $el = $(this) - var href = $el.data('target') || $el.attr('href') - var $href = /^#./.test(href) && $(href) - - return ($href - && $href.length - && $href.is(':visible') - && [[$href[offsetMethod]().top + offsetBase, href]]) || null - }) - .sort(function (a, b) { return a[0] - b[0] }) - .each(function () { - that.offsets.push(this[0]) - that.targets.push(this[1]) - }) - } - - ScrollSpy.prototype.process = function () { - var scrollTop = this.$scrollElement.scrollTop() + this.options.offset - var scrollHeight = this.getScrollHeight() - var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() - var offsets = this.offsets - var targets = this.targets - var activeTarget = this.activeTarget - var i - - if (this.scrollHeight != scrollHeight) { - this.refresh() - } - - if (scrollTop >= maxScroll) { - return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) - } - - if (activeTarget && scrollTop < offsets[0]) { - this.activeTarget = null - return this.clear() - } - - for (i = offsets.length; i--;) { - activeTarget != targets[i] - && scrollTop >= offsets[i] - && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) - && this.activate(targets[i]) - } - } - - ScrollSpy.prototype.activate = function (target) { - this.activeTarget = target - - this.clear() - - var selector = this.selector + - '[data-target="' + target + '"],' + - this.selector + '[href="' + target + '"]' - - var active = $(selector) - .parents('li') - .addClass('active') - - if (active.parent('.dropdown-menu').length) { - active = active - .closest('li.dropdown') - .addClass('active') - } - - active.trigger('activate.bs.scrollspy') - } - - ScrollSpy.prototype.clear = function () { - $(this.selector) - .parentsUntil(this.options.target, '.active') - .removeClass('active') - } - - - // SCROLLSPY PLUGIN DEFINITION - // =========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.scrollspy') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.scrollspy - - $.fn.scrollspy = Plugin - $.fn.scrollspy.Constructor = ScrollSpy - - - // SCROLLSPY NO CONFLICT - // ===================== - - $.fn.scrollspy.noConflict = function () { - $.fn.scrollspy = old - return this - } - - - // SCROLLSPY DATA-API - // ================== - - $(window).on('load.bs.scrollspy.data-api', function () { - $('[data-spy="scroll"]').each(function () { - var $spy = $(this) - Plugin.call($spy, $spy.data()) - }) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tab.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#tabs - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TAB CLASS DEFINITION - // ==================== - - var Tab = function (element) { - // jscs:disable requireDollarBeforejQueryAssignment - this.element = $(element) - // jscs:enable requireDollarBeforejQueryAssignment - } - - Tab.VERSION = '3.4.1' - - Tab.TRANSITION_DURATION = 150 - - Tab.prototype.show = function () { - var $this = this.element - var $ul = $this.closest('ul:not(.dropdown-menu)') - var selector = $this.data('target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - if ($this.parent('li').hasClass('active')) return - - var $previous = $ul.find('.active:last a') - var hideEvent = $.Event('hide.bs.tab', { - relatedTarget: $this[0] - }) - var showEvent = $.Event('show.bs.tab', { - relatedTarget: $previous[0] - }) - - $previous.trigger(hideEvent) - $this.trigger(showEvent) - - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return - - var $target = $(document).find(selector) - - this.activate($this.closest('li'), $ul) - this.activate($target, $target.parent(), function () { - $previous.trigger({ - type: 'hidden.bs.tab', - relatedTarget: $this[0] - }) - $this.trigger({ - type: 'shown.bs.tab', - relatedTarget: $previous[0] - }) - }) - } - - Tab.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - var transition = callback - && $.support.transition - && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', false) - - element - .addClass('active') - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if (element.parent('.dropdown-menu').length) { - element - .closest('li.dropdown') - .addClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - } - - callback && callback() - } - - $active.length && transition ? - $active - .one('bsTransitionEnd', next) - .emulateTransitionEnd(Tab.TRANSITION_DURATION) : - next() - - $active.removeClass('in') - } - - - // TAB PLUGIN DEFINITION - // ===================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tab') - - if (!data) $this.data('bs.tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tab - - $.fn.tab = Plugin - $.fn.tab.Constructor = Tab - - - // TAB NO CONFLICT - // =============== - - $.fn.tab.noConflict = function () { - $.fn.tab = old - return this - } - - - // TAB DATA-API - // ============ - - var clickHandler = function (e) { - e.preventDefault() - Plugin.call($(this), 'show') - } - - $(document) - .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) - .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: affix.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#affix - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // AFFIX CLASS DEFINITION - // ====================== - - var Affix = function (element, options) { - this.options = $.extend({}, Affix.DEFAULTS, options) - - var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target) - - this.$target = target - .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) - .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) - - this.$element = $(element) - this.affixed = null - this.unpin = null - this.pinnedOffset = null - - this.checkPosition() - } - - Affix.VERSION = '3.4.1' - - Affix.RESET = 'affix affix-top affix-bottom' - - Affix.DEFAULTS = { - offset: 0, - target: window - } - - Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - var targetHeight = this.$target.height() - - if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false - - if (this.affixed == 'bottom') { - if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' - return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' - } - - var initializing = this.affixed == null - var colliderTop = initializing ? scrollTop : position.top - var colliderHeight = initializing ? targetHeight : height - - if (offsetTop != null && scrollTop <= offsetTop) return 'top' - if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' - - return false - } - - Affix.prototype.getPinnedOffset = function () { - if (this.pinnedOffset) return this.pinnedOffset - this.$element.removeClass(Affix.RESET).addClass('affix') - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - return (this.pinnedOffset = position.top - scrollTop) - } - - Affix.prototype.checkPositionWithEventLoop = function () { - setTimeout($.proxy(this.checkPosition, this), 1) - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var height = this.$element.height() - var offset = this.options.offset - var offsetTop = offset.top - var offsetBottom = offset.bottom - var scrollHeight = Math.max($(document).height(), $(document.body).height()) - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) - - var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) - - if (this.affixed != affix) { - if (this.unpin != null) this.$element.css('top', '') - - var affixType = 'affix' + (affix ? '-' + affix : '') - var e = $.Event(affixType + '.bs.affix') - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null - - this.$element - .removeClass(Affix.RESET) - .addClass(affixType) - .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') - } - - if (affix == 'bottom') { - this.$element.offset({ - top: scrollHeight - height - offsetBottom - }) - } - } - - - // AFFIX PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.affix') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.affix - - $.fn.affix = Plugin - $.fn.affix.Constructor = Affix - - - // AFFIX NO CONFLICT - // ================= - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - // AFFIX DATA-API - // ============== - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - var data = $spy.data() - - data.offset = data.offset || {} - - if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom - if (data.offsetTop != null) data.offset.top = data.offsetTop - - Plugin.call($spy, data) - }) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.min.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.min.js deleted file mode 100644 index eb0a8b4..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v3.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(idocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-dc.width?"left":"left"==s&&l.left-ha.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(n[t+1]===undefined||e .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n= scrollHeight - offsetBottom)) return 'bottom' - - return false - } - - Affix.prototype.getPinnedOffset = function () { - if (this.pinnedOffset) return this.pinnedOffset - this.$element.removeClass(Affix.RESET).addClass('affix') - var scrollTop = this.$target.scrollTop() - var position = this.$element.offset() - return (this.pinnedOffset = position.top - scrollTop) - } - - Affix.prototype.checkPositionWithEventLoop = function () { - setTimeout($.proxy(this.checkPosition, this), 1) - } - - Affix.prototype.checkPosition = function () { - if (!this.$element.is(':visible')) return - - var height = this.$element.height() - var offset = this.options.offset - var offsetTop = offset.top - var offsetBottom = offset.bottom - var scrollHeight = Math.max($(document).height(), $(document.body).height()) - - if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) - - var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) - - if (this.affixed != affix) { - if (this.unpin != null) this.$element.css('top', '') - - var affixType = 'affix' + (affix ? '-' + affix : '') - var e = $.Event(affixType + '.bs.affix') - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - this.affixed = affix - this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null - - this.$element - .removeClass(Affix.RESET) - .addClass(affixType) - .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') - } - - if (affix == 'bottom') { - this.$element.offset({ - top: scrollHeight - height - offsetBottom - }) - } - } - - - // AFFIX PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.affix') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.affix', (data = new Affix(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.affix - - $.fn.affix = Plugin - $.fn.affix.Constructor = Affix - - - // AFFIX NO CONFLICT - // ================= - - $.fn.affix.noConflict = function () { - $.fn.affix = old - return this - } - - - // AFFIX DATA-API - // ============== - - $(window).on('load', function () { - $('[data-spy="affix"]').each(function () { - var $spy = $(this) - var data = $spy.data() - - data.offset = data.offset || {} - - if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom - if (data.offsetTop != null) data.offset.top = data.offsetTop - - Plugin.call($spy, data) - }) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/alert.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/alert.js deleted file mode 100644 index 7f9606b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/alert.js +++ /dev/null @@ -1,95 +0,0 @@ -/* ======================================================================== - * Bootstrap: alert.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#alerts - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // ALERT CLASS DEFINITION - // ====================== - - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } - - Alert.VERSION = '3.4.1' - - Alert.TRANSITION_DURATION = 150 - - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - selector = selector === '#' ? [] : selector - var $parent = $(document).find(selector) - - if (e) e.preventDefault() - - if (!$parent.length) { - $parent = $this.closest('.alert') - } - - $parent.trigger(e = $.Event('close.bs.alert')) - - if (e.isDefaultPrevented()) return - - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/button.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/button.js deleted file mode 100644 index ff4af20..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/button.js +++ /dev/null @@ -1,125 +0,0 @@ -/* ======================================================================== - * Bootstrap: button.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#buttons - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.4.1' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state += 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d).prop(d, true) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d).prop(d, false) - } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked')) changed = false - $parent.find('.active').removeClass('active') - this.$element.addClass('active') - } else if ($input.prop('type') == 'checkbox') { - if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false - this.$element.toggleClass('active') - } - $input.prop('checked', this.$element.hasClass('active')) - if (changed) $input.trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - this.$element.toggleClass('active') - } - } - - - // BUTTON PLUGIN DEFINITION - // ======================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.button', (data = new Button(this, options))) - - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } - - var old = $.fn.button - - $.fn.button = Plugin - $.fn.button.Constructor = Button - - - // BUTTON NO CONFLICT - // ================== - - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } - - - // BUTTON DATA-API - // =============== - - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target).closest('.btn') - Plugin.call($btn, 'toggle') - if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { - // Prevent double click on radios, and the double selections (so cancellation) on checkboxes - e.preventDefault() - // The target component still receive the focus - if ($btn.is('input,button')) $btn.trigger('focus') - else $btn.find('input:visible,button:visible').first().trigger('focus') - } - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/carousel.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/carousel.js deleted file mode 100644 index a5fcac3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/carousel.js +++ /dev/null @@ -1,246 +0,0 @@ -/* ======================================================================== - * Bootstrap: carousel.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#carousel - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CAROUSEL CLASS DEFINITION - // ========================= - - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = null - this.sliding = null - this.interval = null - this.$active = null - this.$items = null - - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) - - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } - - Carousel.VERSION = '3.4.1' - - Carousel.TRANSITION_DURATION = 600 - - Carousel.DEFAULTS = { - interval: 5000, - pause: 'hover', - wrap: true, - keyboard: true - } - - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return - } - - e.preventDefault() - } - - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) - - this.interval && clearInterval(this.interval) - - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - - return this - } - - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } - - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } - - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) - - if (pos > (this.$items.length - 1) || pos < 0) return - - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() - - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } - - Carousel.prototype.pause = function (e) { - e || (this.paused = true) - - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - - this.interval = clearInterval(this.interval) - - return this - } - - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } - - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } - - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this - - if ($next.hasClass('active')) return (this.sliding = false) - - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return - - this.sliding = true - - isCycling && this.pause() - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } - - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - if (typeof $next === 'object' && $next.length) { - $next[0].offsetWidth // force reflow - } - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } - - isCycling && this.cycle() - - return this - } - - - // CAROUSEL PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide - - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } - - var old = $.fn.carousel - - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel - - - // CAROUSEL NO CONFLICT - // ==================== - - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } - - - // CAROUSEL DATA-API - // ================= - - var clickHandler = function (e) { - var $this = $(this) - var href = $this.attr('href') - if (href) { - href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - } - - var target = $this.attr('data-target') || href - var $target = $(document).find(target) - - if (!$target.hasClass('carousel')) return - - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false - - Plugin.call($target, options) - - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } - - e.preventDefault() - } - - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) - - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/collapse.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/collapse.js deleted file mode 100644 index 2cd5997..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/collapse.js +++ /dev/null @@ -1,212 +0,0 @@ -/* ======================================================================== - * Bootstrap: collapse.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#collapse - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -/* jshint latedef: false */ - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + - '[data-toggle="collapse"][data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.4.1' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(document).find(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(document).find(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - - Plugin.call($target, option) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/dropdown.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/dropdown.js deleted file mode 100644 index 4ded850..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/dropdown.js +++ /dev/null @@ -1,165 +0,0 @@ -/* ======================================================================== - * Bootstrap: dropdown.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.4.1' - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector !== '#' ? $(document).find(selector) : null - - return $parent && $parent.length ? $parent : $this.parent() - } - - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) - }) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $(document.createElement('div')) - .addClass('dropdown-backdrop') - .insertAfter($(this)) - .on('click', clearMenus) - } - - var relatedTarget = { relatedTarget: this } - $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this - .trigger('focus') - .attr('aria-expanded', 'true') - - $parent - .toggleClass('open') - .trigger($.Event('shown.bs.dropdown', relatedTarget)) - } - - return false - } - - Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return - - var $this = $(this) - - e.preventDefault() - e.stopPropagation() - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - if (!isActive && e.which != 27 || isActive && e.which == 27) { - if (e.which == 27) $parent.find(toggle).trigger('focus') - return $this.trigger('click') - } - - var desc = ' li:not(.disabled):visible a' - var $items = $parent.find('.dropdown-menu' + desc) - - if (!$items.length) return - - var index = $items.index(e.target) - - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 - - $items.eq(index).trigger('focus') - } - - - // DROPDOWN PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.dropdown') - - if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.dropdown - - $.fn.dropdown = Plugin - $.fn.dropdown.Constructor = Dropdown - - - // DROPDOWN NO CONFLICT - // ==================== - - $.fn.dropdown.noConflict = function () { - $.fn.dropdown = old - return this - } - - - // APPLY TO STANDARD DROPDOWN ELEMENTS - // =================================== - - $(document) - .on('click.bs.dropdown.data-api', clearMenus) - .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) - .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/modal.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/modal.js deleted file mode 100644 index b9eca49..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/modal.js +++ /dev/null @@ -1,358 +0,0 @@ -/* ======================================================================== - * Bootstrap: modal.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#modals - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // MODAL CLASS DEFINITION - // ====================== - - var Modal = function (element, options) { - this.options = options - this.$body = $(document.body) - this.$element = $(element) - this.$dialog = this.$element.find('.modal-dialog') - this.$backdrop = null - this.isShown = null - this.originalBodyPad = null - this.scrollbarWidth = 0 - this.ignoreBackdropClick = false - this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom' - - if (this.options.remote) { - this.$element - .find('.modal-content') - .load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) - } - } - - Modal.VERSION = '3.4.1' - - Modal.TRANSITION_DURATION = 300 - Modal.BACKDROP_TRANSITION_DURATION = 150 - - Modal.DEFAULTS = { - backdrop: true, - keyboard: true, - show: true - } - - Modal.prototype.toggle = function (_relatedTarget) { - return this.isShown ? this.hide() : this.show(_relatedTarget) - } - - Modal.prototype.show = function (_relatedTarget) { - var that = this - var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) - - this.$element.trigger(e) - - if (this.isShown || e.isDefaultPrevented()) return - - this.isShown = true - - this.checkScrollbar() - this.setScrollbar() - this.$body.addClass('modal-open') - - this.escape() - this.resize() - - this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) - - this.$dialog.on('mousedown.dismiss.bs.modal', function () { - that.$element.one('mouseup.dismiss.bs.modal', function (e) { - if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true - }) - }) - - this.backdrop(function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - if (!that.$element.parent().length) { - that.$element.appendTo(that.$body) // don't move modals dom position - } - - that.$element - .show() - .scrollTop(0) - - that.adjustDialog() - - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - that.enforceFocus() - - var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) - - transition ? - that.$dialog // wait for modal to slide in - .one('bsTransitionEnd', function () { - that.$element.trigger('focus').trigger(e) - }) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - that.$element.trigger('focus').trigger(e) - }) - } - - Modal.prototype.hide = function (e) { - if (e) e.preventDefault() - - e = $.Event('hide.bs.modal') - - this.$element.trigger(e) - - if (!this.isShown || e.isDefaultPrevented()) return - - this.isShown = false - - this.escape() - this.resize() - - $(document).off('focusin.bs.modal') - - this.$element - .removeClass('in') - .off('click.dismiss.bs.modal') - .off('mouseup.dismiss.bs.modal') - - this.$dialog.off('mousedown.dismiss.bs.modal') - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - this.hideModal() - } - - Modal.prototype.enforceFocus = function () { - $(document) - .off('focusin.bs.modal') // guard against infinite focus loop - .on('focusin.bs.modal', $.proxy(function (e) { - if (document !== e.target && - this.$element[0] !== e.target && - !this.$element.has(e.target).length) { - this.$element.trigger('focus') - } - }, this)) - } - - Modal.prototype.escape = function () { - if (this.isShown && this.options.keyboard) { - this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { - e.which == 27 && this.hide() - }, this)) - } else if (!this.isShown) { - this.$element.off('keydown.dismiss.bs.modal') - } - } - - Modal.prototype.resize = function () { - if (this.isShown) { - $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) - } else { - $(window).off('resize.bs.modal') - } - } - - Modal.prototype.hideModal = function () { - var that = this - this.$element.hide() - this.backdrop(function () { - that.$body.removeClass('modal-open') - that.resetAdjustments() - that.resetScrollbar() - that.$element.trigger('hidden.bs.modal') - }) - } - - Modal.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove() - this.$backdrop = null - } - - Modal.prototype.backdrop = function (callback) { - var that = this - var animate = this.$element.hasClass('fade') ? 'fade' : '' - - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate - - this.$backdrop = $(document.createElement('div')) - .addClass('modal-backdrop ' + animate) - .appendTo(this.$body) - - this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { - if (this.ignoreBackdropClick) { - this.ignoreBackdropClick = false - return - } - if (e.target !== e.currentTarget) return - this.options.backdrop == 'static' - ? this.$element[0].focus() - : this.hide() - }, this)) - - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - - this.$backdrop.addClass('in') - - if (!callback) return - - doAnimate ? - this.$backdrop - .one('bsTransitionEnd', callback) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callback() - - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') - - var callbackRemove = function () { - that.removeBackdrop() - callback && callback() - } - $.support.transition && this.$element.hasClass('fade') ? - this.$backdrop - .one('bsTransitionEnd', callbackRemove) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callbackRemove() - - } else if (callback) { - callback() - } - } - - // these following methods are used to handle overflowing modals - - Modal.prototype.handleUpdate = function () { - this.adjustDialog() - } - - Modal.prototype.adjustDialog = function () { - var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight - - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', - paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' - }) - } - - Modal.prototype.resetAdjustments = function () { - this.$element.css({ - paddingLeft: '', - paddingRight: '' - }) - } - - Modal.prototype.checkScrollbar = function () { - var fullWindowWidth = window.innerWidth - if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 - var documentElementRect = document.documentElement.getBoundingClientRect() - fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) - } - this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth - this.scrollbarWidth = this.measureScrollbar() - } - - Modal.prototype.setScrollbar = function () { - var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) - this.originalBodyPad = document.body.style.paddingRight || '' - var scrollbarWidth = this.scrollbarWidth - if (this.bodyIsOverflowing) { - this.$body.css('padding-right', bodyPad + scrollbarWidth) - $(this.fixedContent).each(function (index, element) { - var actualPadding = element.style.paddingRight - var calculatedPadding = $(element).css('padding-right') - $(element) - .data('padding-right', actualPadding) - .css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px') - }) - } - } - - Modal.prototype.resetScrollbar = function () { - this.$body.css('padding-right', this.originalBodyPad) - $(this.fixedContent).each(function (index, element) { - var padding = $(element).data('padding-right') - $(element).removeData('padding-right') - element.style.paddingRight = padding ? padding : '' - }) - } - - Modal.prototype.measureScrollbar = function () { // thx walsh - var scrollDiv = document.createElement('div') - scrollDiv.className = 'modal-scrollbar-measure' - this.$body.append(scrollDiv) - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth - this.$body[0].removeChild(scrollDiv) - return scrollbarWidth - } - - - // MODAL PLUGIN DEFINITION - // ======================= - - function Plugin(option, _relatedTarget) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.modal') - var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data) $this.data('bs.modal', (data = new Modal(this, options))) - if (typeof option == 'string') data[option](_relatedTarget) - else if (options.show) data.show(_relatedTarget) - }) - } - - var old = $.fn.modal - - $.fn.modal = Plugin - $.fn.modal.Constructor = Modal - - - // MODAL NO CONFLICT - // ================= - - $.fn.modal.noConflict = function () { - $.fn.modal = old - return this - } - - - // MODAL DATA-API - // ============== - - $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { - var $this = $(this) - var href = $this.attr('href') - var target = $this.attr('data-target') || - (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - - var $target = $(document).find(target) - var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - if ($this.is('a')) e.preventDefault() - - $target.one('show.bs.modal', function (showEvent) { - if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown - $target.one('hidden.bs.modal', function () { - $this.is(':visible') && $this.trigger('focus') - }) - }) - Plugin.call($target, option, this) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/popover.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/popover.js deleted file mode 100644 index 66a301c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/popover.js +++ /dev/null @@ -1,123 +0,0 @@ -/* ======================================================================== - * Bootstrap: popover.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#popovers - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // POPOVER PUBLIC CLASS DEFINITION - // =============================== - - var Popover = function (element, options) { - this.init('popover', element, options) - } - - if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') - - Popover.VERSION = '3.4.1' - - Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }) - - - // NOTE: POPOVER EXTENDS tooltip.js - // ================================ - - Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) - - Popover.prototype.constructor = Popover - - Popover.prototype.getDefaults = function () { - return Popover.DEFAULTS - } - - Popover.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - var content = this.getContent() - - if (this.options.html) { - var typeContent = typeof content - - if (this.options.sanitize) { - title = this.sanitizeHtml(title) - - if (typeContent === 'string') { - content = this.sanitizeHtml(content) - } - } - - $tip.find('.popover-title').html(title) - $tip.find('.popover-content').children().detach().end()[ - typeContent === 'string' ? 'html' : 'append' - ](content) - } else { - $tip.find('.popover-title').text(title) - $tip.find('.popover-content').children().detach().end().text(content) - } - - $tip.removeClass('fade top bottom left right in') - - // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do - // this manually by checking the contents. - if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() - } - - Popover.prototype.hasContent = function () { - return this.getTitle() || this.getContent() - } - - Popover.prototype.getContent = function () { - var $e = this.$element - var o = this.options - - return $e.attr('data-content') - || (typeof o.content == 'function' ? - o.content.call($e[0]) : - o.content) - } - - Popover.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.arrow')) - } - - - // POPOVER PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.popover') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.popover', (data = new Popover(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.popover - - $.fn.popover = Plugin - $.fn.popover.Constructor = Popover - - - // POPOVER NO CONFLICT - // =================== - - $.fn.popover.noConflict = function () { - $.fn.popover = old - return this - } - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/scrollspy.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/scrollspy.js deleted file mode 100644 index a629ac6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/scrollspy.js +++ /dev/null @@ -1,172 +0,0 @@ -/* ======================================================================== - * Bootstrap: scrollspy.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#scrollspy - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // SCROLLSPY CLASS DEFINITION - // ========================== - - function ScrollSpy(element, options) { - this.$body = $(document.body) - this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) - this.options = $.extend({}, ScrollSpy.DEFAULTS, options) - this.selector = (this.options.target || '') + ' .nav li > a' - this.offsets = [] - this.targets = [] - this.activeTarget = null - this.scrollHeight = 0 - - this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) - this.refresh() - this.process() - } - - ScrollSpy.VERSION = '3.4.1' - - ScrollSpy.DEFAULTS = { - offset: 10 - } - - ScrollSpy.prototype.getScrollHeight = function () { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - } - - ScrollSpy.prototype.refresh = function () { - var that = this - var offsetMethod = 'offset' - var offsetBase = 0 - - this.offsets = [] - this.targets = [] - this.scrollHeight = this.getScrollHeight() - - if (!$.isWindow(this.$scrollElement[0])) { - offsetMethod = 'position' - offsetBase = this.$scrollElement.scrollTop() - } - - this.$body - .find(this.selector) - .map(function () { - var $el = $(this) - var href = $el.data('target') || $el.attr('href') - var $href = /^#./.test(href) && $(href) - - return ($href - && $href.length - && $href.is(':visible') - && [[$href[offsetMethod]().top + offsetBase, href]]) || null - }) - .sort(function (a, b) { return a[0] - b[0] }) - .each(function () { - that.offsets.push(this[0]) - that.targets.push(this[1]) - }) - } - - ScrollSpy.prototype.process = function () { - var scrollTop = this.$scrollElement.scrollTop() + this.options.offset - var scrollHeight = this.getScrollHeight() - var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() - var offsets = this.offsets - var targets = this.targets - var activeTarget = this.activeTarget - var i - - if (this.scrollHeight != scrollHeight) { - this.refresh() - } - - if (scrollTop >= maxScroll) { - return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) - } - - if (activeTarget && scrollTop < offsets[0]) { - this.activeTarget = null - return this.clear() - } - - for (i = offsets.length; i--;) { - activeTarget != targets[i] - && scrollTop >= offsets[i] - && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) - && this.activate(targets[i]) - } - } - - ScrollSpy.prototype.activate = function (target) { - this.activeTarget = target - - this.clear() - - var selector = this.selector + - '[data-target="' + target + '"],' + - this.selector + '[href="' + target + '"]' - - var active = $(selector) - .parents('li') - .addClass('active') - - if (active.parent('.dropdown-menu').length) { - active = active - .closest('li.dropdown') - .addClass('active') - } - - active.trigger('activate.bs.scrollspy') - } - - ScrollSpy.prototype.clear = function () { - $(this.selector) - .parentsUntil(this.options.target, '.active') - .removeClass('active') - } - - - // SCROLLSPY PLUGIN DEFINITION - // =========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.scrollspy') - var options = typeof option == 'object' && option - - if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.scrollspy - - $.fn.scrollspy = Plugin - $.fn.scrollspy.Constructor = ScrollSpy - - - // SCROLLSPY NO CONFLICT - // ===================== - - $.fn.scrollspy.noConflict = function () { - $.fn.scrollspy = old - return this - } - - - // SCROLLSPY DATA-API - // ================== - - $(window).on('load.bs.scrollspy.data-api', function () { - $('[data-spy="scroll"]').each(function () { - var $spy = $(this) - Plugin.call($spy, $spy.data()) - }) - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tab.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tab.js deleted file mode 100644 index 74495df..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tab.js +++ /dev/null @@ -1,155 +0,0 @@ -/* ======================================================================== - * Bootstrap: tab.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#tabs - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // TAB CLASS DEFINITION - // ==================== - - var Tab = function (element) { - // jscs:disable requireDollarBeforejQueryAssignment - this.element = $(element) - // jscs:enable requireDollarBeforejQueryAssignment - } - - Tab.VERSION = '3.4.1' - - Tab.TRANSITION_DURATION = 150 - - Tab.prototype.show = function () { - var $this = this.element - var $ul = $this.closest('ul:not(.dropdown-menu)') - var selector = $this.data('target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - if ($this.parent('li').hasClass('active')) return - - var $previous = $ul.find('.active:last a') - var hideEvent = $.Event('hide.bs.tab', { - relatedTarget: $this[0] - }) - var showEvent = $.Event('show.bs.tab', { - relatedTarget: $previous[0] - }) - - $previous.trigger(hideEvent) - $this.trigger(showEvent) - - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return - - var $target = $(document).find(selector) - - this.activate($this.closest('li'), $ul) - this.activate($target, $target.parent(), function () { - $previous.trigger({ - type: 'hidden.bs.tab', - relatedTarget: $this[0] - }) - $this.trigger({ - type: 'shown.bs.tab', - relatedTarget: $previous[0] - }) - }) - } - - Tab.prototype.activate = function (element, container, callback) { - var $active = container.find('> .active') - var transition = callback - && $.support.transition - && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', false) - - element - .addClass('active') - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if (element.parent('.dropdown-menu').length) { - element - .closest('li.dropdown') - .addClass('active') - .end() - .find('[data-toggle="tab"]') - .attr('aria-expanded', true) - } - - callback && callback() - } - - $active.length && transition ? - $active - .one('bsTransitionEnd', next) - .emulateTransitionEnd(Tab.TRANSITION_DURATION) : - next() - - $active.removeClass('in') - } - - - // TAB PLUGIN DEFINITION - // ===================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tab') - - if (!data) $this.data('bs.tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tab - - $.fn.tab = Plugin - $.fn.tab.Constructor = Tab - - - // TAB NO CONFLICT - // =============== - - $.fn.tab.noConflict = function () { - $.fn.tab = old - return this - } - - - // TAB DATA-API - // ============ - - var clickHandler = function (e) { - e.preventDefault() - Plugin.call($(this), 'show') - } - - $(document) - .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) - .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tooltip.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tooltip.js deleted file mode 100644 index c8c1c8c..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/tooltip.js +++ /dev/null @@ -1,677 +0,0 @@ -/* ======================================================================== - * Bootstrap: tooltip.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#tooltip - * Inspired by the original jQuery.tipsy by Jason Frame - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - -+function ($) { - 'use strict'; - - var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'] - - var uriAttrs = [ - 'background', - 'cite', - 'href', - 'itemtype', - 'longdesc', - 'poster', - 'src', - 'xlink:href' - ] - - var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i - - var DefaultWhitelist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - } - - /** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi - - /** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i - - function allowedAttribute(attr, allowedAttributeList) { - var attrName = attr.nodeName.toLowerCase() - - if ($.inArray(attrName, allowedAttributeList) !== -1) { - if ($.inArray(attrName, uriAttrs) !== -1) { - return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)) - } - - return true - } - - var regExp = $(allowedAttributeList).filter(function (index, value) { - return value instanceof RegExp - }) - - // Check if a regular expression validates the attribute. - for (var i = 0, l = regExp.length; i < l; i++) { - if (attrName.match(regExp[i])) { - return true - } - } - - return false - } - - function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { - if (unsafeHtml.length === 0) { - return unsafeHtml - } - - if (sanitizeFn && typeof sanitizeFn === 'function') { - return sanitizeFn(unsafeHtml) - } - - // IE 8 and below don't support createHTMLDocument - if (!document.implementation || !document.implementation.createHTMLDocument) { - return unsafeHtml - } - - var createdDocument = document.implementation.createHTMLDocument('sanitization') - createdDocument.body.innerHTML = unsafeHtml - - var whitelistKeys = $.map(whiteList, function (el, i) { return i }) - var elements = $(createdDocument.body).find('*') - - for (var i = 0, len = elements.length; i < len; i++) { - var el = elements[i] - var elName = el.nodeName.toLowerCase() - - if ($.inArray(elName, whitelistKeys) === -1) { - el.parentNode.removeChild(el) - - continue - } - - var attributeList = $.map(el.attributes, function (el) { return el }) - var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []) - - for (var j = 0, len2 = attributeList.length; j < len2; j++) { - if (!allowedAttribute(attributeList[j], whitelistedAttributes)) { - el.removeAttribute(attributeList[j].nodeName) - } - } - } - - return createdDocument.body.innerHTML - } - - // TOOLTIP PUBLIC CLASS DEFINITION - // =============================== - - var Tooltip = function (element, options) { - this.type = null - this.options = null - this.enabled = null - this.timeout = null - this.hoverState = null - this.$element = null - this.inState = null - - this.init('tooltip', element, options) - } - - Tooltip.VERSION = '3.4.1' - - Tooltip.TRANSITION_DURATION = 150 - - Tooltip.DEFAULTS = { - animation: true, - placement: 'top', - selector: false, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - container: false, - viewport: { - selector: 'body', - padding: 0 - }, - sanitize : true, - sanitizeFn : null, - whiteList : DefaultWhitelist - } - - Tooltip.prototype.init = function (type, element, options) { - this.enabled = true - this.type = type - this.$element = $(element) - this.options = this.getOptions(options) - this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) - this.inState = { click: false, hover: false, focus: false } - - if (this.$element[0] instanceof document.constructor && !this.options.selector) { - throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') - } - - var triggers = this.options.trigger.split(' ') - - for (var i = triggers.length; i--;) { - var trigger = triggers[i] - - if (trigger == 'click') { - this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) - } else if (trigger != 'manual') { - var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' - var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' - - this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) - this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) - } - } - - this.options.selector ? - (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : - this.fixTitle() - } - - Tooltip.prototype.getDefaults = function () { - return Tooltip.DEFAULTS - } - - Tooltip.prototype.getOptions = function (options) { - var dataAttributes = this.$element.data() - - for (var dataAttr in dataAttributes) { - if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) { - delete dataAttributes[dataAttr] - } - } - - options = $.extend({}, this.getDefaults(), dataAttributes, options) - - if (options.delay && typeof options.delay == 'number') { - options.delay = { - show: options.delay, - hide: options.delay - } - } - - if (options.sanitize) { - options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn) - } - - return options - } - - Tooltip.prototype.getDelegateOptions = function () { - var options = {} - var defaults = this.getDefaults() - - this._options && $.each(this._options, function (key, value) { - if (defaults[key] != value) options[key] = value - }) - - return options - } - - Tooltip.prototype.enter = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true - } - - if (self.tip().hasClass('in') || self.hoverState == 'in') { - self.hoverState = 'in' - return - } - - clearTimeout(self.timeout) - - self.hoverState = 'in' - - if (!self.options.delay || !self.options.delay.show) return self.show() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'in') self.show() - }, self.options.delay.show) - } - - Tooltip.prototype.isInStateTrue = function () { - for (var key in this.inState) { - if (this.inState[key]) return true - } - - return false - } - - Tooltip.prototype.leave = function (obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget).data('bs.' + this.type) - - if (!self) { - self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) - $(obj.currentTarget).data('bs.' + this.type, self) - } - - if (obj instanceof $.Event) { - self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false - } - - if (self.isInStateTrue()) return - - clearTimeout(self.timeout) - - self.hoverState = 'out' - - if (!self.options.delay || !self.options.delay.hide) return self.hide() - - self.timeout = setTimeout(function () { - if (self.hoverState == 'out') self.hide() - }, self.options.delay.hide) - } - - Tooltip.prototype.show = function () { - var e = $.Event('show.bs.' + this.type) - - if (this.hasContent() && this.enabled) { - this.$element.trigger(e) - - var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) - if (e.isDefaultPrevented() || !inDom) return - var that = this - - var $tip = this.tip() - - var tipId = this.getUID(this.type) - - this.setContent() - $tip.attr('id', tipId) - this.$element.attr('aria-describedby', tipId) - - if (this.options.animation) $tip.addClass('fade') - - var placement = typeof this.options.placement == 'function' ? - this.options.placement.call(this, $tip[0], this.$element[0]) : - this.options.placement - - var autoToken = /\s?auto?\s?/i - var autoPlace = autoToken.test(placement) - if (autoPlace) placement = placement.replace(autoToken, '') || 'top' - - $tip - .detach() - .css({ top: 0, left: 0, display: 'block' }) - .addClass(placement) - .data('bs.' + this.type, this) - - this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element) - this.$element.trigger('inserted.bs.' + this.type) - - var pos = this.getPosition() - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (autoPlace) { - var orgPlacement = placement - var viewportDim = this.getPosition(this.$viewport) - - placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : - placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : - placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : - placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : - placement - - $tip - .removeClass(orgPlacement) - .addClass(placement) - } - - var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) - - this.applyPlacement(calculatedOffset, placement) - - var complete = function () { - var prevHoverState = that.hoverState - that.$element.trigger('shown.bs.' + that.type) - that.hoverState = null - - if (prevHoverState == 'out') that.leave(that) - } - - $.support.transition && this.$tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - } - } - - Tooltip.prototype.applyPlacement = function (offset, placement) { - var $tip = this.tip() - var width = $tip[0].offsetWidth - var height = $tip[0].offsetHeight - - // manually read margins because getBoundingClientRect includes difference - var marginTop = parseInt($tip.css('margin-top'), 10) - var marginLeft = parseInt($tip.css('margin-left'), 10) - - // we must check for NaN for ie 8/9 - if (isNaN(marginTop)) marginTop = 0 - if (isNaN(marginLeft)) marginLeft = 0 - - offset.top += marginTop - offset.left += marginLeft - - // $.fn.offset doesn't round pixel values - // so we use setOffset directly with our own function B-0 - $.offset.setOffset($tip[0], $.extend({ - using: function (props) { - $tip.css({ - top: Math.round(props.top), - left: Math.round(props.left) - }) - } - }, offset), 0) - - $tip.addClass('in') - - // check to see if placing tip in new offset caused the tip to resize itself - var actualWidth = $tip[0].offsetWidth - var actualHeight = $tip[0].offsetHeight - - if (placement == 'top' && actualHeight != height) { - offset.top = offset.top + height - actualHeight - } - - var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) - - if (delta.left) offset.left += delta.left - else offset.top += delta.top - - var isVertical = /top|bottom/.test(placement) - var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight - var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' - - $tip.offset(offset) - this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) - } - - Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { - this.arrow() - .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') - .css(isVertical ? 'top' : 'left', '') - } - - Tooltip.prototype.setContent = function () { - var $tip = this.tip() - var title = this.getTitle() - - if (this.options.html) { - if (this.options.sanitize) { - title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn) - } - - $tip.find('.tooltip-inner').html(title) - } else { - $tip.find('.tooltip-inner').text(title) - } - - $tip.removeClass('fade in top bottom left right') - } - - Tooltip.prototype.hide = function (callback) { - var that = this - var $tip = $(this.$tip) - var e = $.Event('hide.bs.' + this.type) - - function complete() { - if (that.hoverState != 'in') $tip.detach() - if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. - that.$element - .removeAttr('aria-describedby') - .trigger('hidden.bs.' + that.type) - } - callback && callback() - } - - this.$element.trigger(e) - - if (e.isDefaultPrevented()) return - - $tip.removeClass('in') - - $.support.transition && $tip.hasClass('fade') ? - $tip - .one('bsTransitionEnd', complete) - .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : - complete() - - this.hoverState = null - - return this - } - - Tooltip.prototype.fixTitle = function () { - var $e = this.$element - if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { - $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') - } - } - - Tooltip.prototype.hasContent = function () { - return this.getTitle() - } - - Tooltip.prototype.getPosition = function ($element) { - $element = $element || this.$element - - var el = $element[0] - var isBody = el.tagName == 'BODY' - - var elRect = el.getBoundingClientRect() - if (elRect.width == null) { - // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 - elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) - } - var isSvg = window.SVGElement && el instanceof window.SVGElement - // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. - // See https://github.com/twbs/bootstrap/issues/20280 - var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) - var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } - var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null - - return $.extend({}, elRect, scroll, outerDims, elOffset) - } - - Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { - return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : - placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : - /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } - - } - - Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { - var delta = { top: 0, left: 0 } - if (!this.$viewport) return delta - - var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 - var viewportDimensions = this.getPosition(this.$viewport) - - if (/right|left/.test(placement)) { - var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll - var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight - if (topEdgeOffset < viewportDimensions.top) { // top overflow - delta.top = viewportDimensions.top - topEdgeOffset - } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow - delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset - } - } else { - var leftEdgeOffset = pos.left - viewportPadding - var rightEdgeOffset = pos.left + viewportPadding + actualWidth - if (leftEdgeOffset < viewportDimensions.left) { // left overflow - delta.left = viewportDimensions.left - leftEdgeOffset - } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow - delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset - } - } - - return delta - } - - Tooltip.prototype.getTitle = function () { - var title - var $e = this.$element - var o = this.options - - title = $e.attr('data-original-title') - || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) - - return title - } - - Tooltip.prototype.getUID = function (prefix) { - do prefix += ~~(Math.random() * 1000000) - while (document.getElementById(prefix)) - return prefix - } - - Tooltip.prototype.tip = function () { - if (!this.$tip) { - this.$tip = $(this.options.template) - if (this.$tip.length != 1) { - throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') - } - } - return this.$tip - } - - Tooltip.prototype.arrow = function () { - return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) - } - - Tooltip.prototype.enable = function () { - this.enabled = true - } - - Tooltip.prototype.disable = function () { - this.enabled = false - } - - Tooltip.prototype.toggleEnabled = function () { - this.enabled = !this.enabled - } - - Tooltip.prototype.toggle = function (e) { - var self = this - if (e) { - self = $(e.currentTarget).data('bs.' + this.type) - if (!self) { - self = new this.constructor(e.currentTarget, this.getDelegateOptions()) - $(e.currentTarget).data('bs.' + this.type, self) - } - } - - if (e) { - self.inState.click = !self.inState.click - if (self.isInStateTrue()) self.enter(self) - else self.leave(self) - } else { - self.tip().hasClass('in') ? self.leave(self) : self.enter(self) - } - } - - Tooltip.prototype.destroy = function () { - var that = this - clearTimeout(this.timeout) - this.hide(function () { - that.$element.off('.' + that.type).removeData('bs.' + that.type) - if (that.$tip) { - that.$tip.detach() - } - that.$tip = null - that.$arrow = null - that.$viewport = null - that.$element = null - }) - } - - Tooltip.prototype.sanitizeHtml = function (unsafeHtml) { - return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn) - } - - // TOOLTIP PLUGIN DEFINITION - // ========================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.tooltip') - var options = typeof option == 'object' && option - - if (!data && /destroy|hide/.test(option)) return - if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.tooltip - - $.fn.tooltip = Plugin - $.fn.tooltip.Constructor = Tooltip - - - // TOOLTIP NO CONFLICT - // =================== - - $.fn.tooltip.noConflict = function () { - $.fn.tooltip = old - return this - } - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/transition.js b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/transition.js deleted file mode 100644 index 5a9a3e3..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/javascripts/bootstrap/transition.js +++ /dev/null @@ -1,59 +0,0 @@ -/* ======================================================================== - * Bootstrap: transition.js v3.4.1 - * https://getbootstrap.com/docs/3.4/javascript/#transitions - * ======================================================================== - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/) - // ============================================================ - - function transitionEnd() { - var el = document.createElement('bootstrap') - - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' - } - - for (var name in transEndEventNames) { - if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } - } - } - - return false // explicit for ie8 ( ._.) - } - - // https://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this - } - - $(function () { - $.support.transition = transitionEnd() - - if (!$.support.transition) return - - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) - } - } - }) - -}(jQuery); diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-compass.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-compass.scss deleted file mode 100644 index 8fbc3cd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-compass.scss +++ /dev/null @@ -1,9 +0,0 @@ -@function twbs-font-path($path) { - @return font-url($path, true); -} - -@function twbs-image-path($path) { - @return image-url($path, true); -} - -$bootstrap-sass-asset-helper: true; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-mincer.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-mincer.scss deleted file mode 100644 index 0c4655e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-mincer.scss +++ /dev/null @@ -1,19 +0,0 @@ -// Mincer asset helper functions -// -// This must be imported into a .css.ejs.scss file. -// Then, <% %>-interpolations will be parsed as strings by Sass, and evaluated by EJS after Sass compilation. - - -@function twbs-font-path($path) { - // do something like following - // from "path/to/font.ext#suffix" to "<%- asset_path(path/to/font.ext)) + #suffix %>" - // from "path/to/font.ext?#suffix" to "<%- asset_path(path/to/font.ext)) + ?#suffix %>" - // or from "path/to/font.ext" just "<%- asset_path(path/to/font.ext)) %>" - @return "<%- asset_path("#{$path}".replace(/[#?].*$/, '')) + "#{$path}".replace(/(^[^#?]*)([#?]?.*$)/, '$2') %>"; -} - -@function twbs-image-path($file) { - @return "<%- asset_path("#{$file}") %>"; -} - -$bootstrap-sass-asset-helper: true; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-sprockets.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-sprockets.scss deleted file mode 100644 index 9fffc1e..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap-sprockets.scss +++ /dev/null @@ -1,9 +0,0 @@ -@function twbs-font-path($path) { - @return font-path($path); -} - -@function twbs-image-path($path) { - @return image-path($path); -} - -$bootstrap-sass-asset-helper: true; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap.scss deleted file mode 100644 index 89e3855..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/_bootstrap.scss +++ /dev/null @@ -1,56 +0,0 @@ -/*! - * Bootstrap v3.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -// Core variables and mixins -@import "bootstrap/variables"; -@import "bootstrap/mixins"; - -// Reset and dependencies -@import "bootstrap/normalize"; -@import "bootstrap/print"; -@import "bootstrap/glyphicons"; - -// Core CSS -@import "bootstrap/scaffolding"; -@import "bootstrap/type"; -@import "bootstrap/code"; -@import "bootstrap/grid"; -@import "bootstrap/tables"; -@import "bootstrap/forms"; -@import "bootstrap/buttons"; - -// Components -@import "bootstrap/component-animations"; -@import "bootstrap/dropdowns"; -@import "bootstrap/button-groups"; -@import "bootstrap/input-groups"; -@import "bootstrap/navs"; -@import "bootstrap/navbar"; -@import "bootstrap/breadcrumbs"; -@import "bootstrap/pagination"; -@import "bootstrap/pager"; -@import "bootstrap/labels"; -@import "bootstrap/badges"; -@import "bootstrap/jumbotron"; -@import "bootstrap/thumbnails"; -@import "bootstrap/alerts"; -@import "bootstrap/progress-bars"; -@import "bootstrap/media"; -@import "bootstrap/list-group"; -@import "bootstrap/panels"; -@import "bootstrap/responsive-embed"; -@import "bootstrap/wells"; -@import "bootstrap/close"; - -// Components w/ JavaScript -@import "bootstrap/modals"; -@import "bootstrap/tooltip"; -@import "bootstrap/popovers"; -@import "bootstrap/carousel"; - -// Utility classes -@import "bootstrap/utilities"; -@import "bootstrap/responsive-utilities"; diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_alerts.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_alerts.scss deleted file mode 100644 index f9e69bd..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_alerts.scss +++ /dev/null @@ -1,73 +0,0 @@ -// -// Alerts -// -------------------------------------------------- - - -// Base styles -// ------------------------- - -.alert { - padding: $alert-padding; - margin-bottom: $line-height-computed; - border: 1px solid transparent; - border-radius: $alert-border-radius; - - // Headings for larger alerts - h4 { - margin-top: 0; - color: inherit; // Specified for the h4 to prevent conflicts of changing $headings-color - } - - // Provide class for links that match alerts - .alert-link { - font-weight: $alert-link-font-weight; - } - - // Improve alignment and spacing of inner content - > p, - > ul { - margin-bottom: 0; - } - - > p + p { - margin-top: 5px; - } -} - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -// The misspelled .alert-dismissable was deprecated in 3.2.0. -.alert-dismissable, -.alert-dismissible { - padding-right: ($alert-padding + 20); - - // Adjust close link position - .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; - } -} - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -.alert-success { - @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); -} - -.alert-info { - @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); -} - -.alert-warning { - @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); -} - -.alert-danger { - @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_badges.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_badges.scss deleted file mode 100644 index 44d5dd6..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_badges.scss +++ /dev/null @@ -1,68 +0,0 @@ -// -// Badges -// -------------------------------------------------- - - -// Base class -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: $font-size-small; - font-weight: $badge-font-weight; - line-height: $badge-line-height; - color: $badge-color; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-color: $badge-bg; - border-radius: $badge-border-radius; - - // Empty badges collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for badges in buttons - .btn & { - position: relative; - top: -1px; - } - - .btn-xs &, - .btn-group-xs > .btn & { - top: 0; - padding: 1px 5px; - } - - // [converter] extracted a& to a.badge - - // Account for badges in navs - .list-group-item.active > &, - .nav-pills > .active > a > & { - color: $badge-active-color; - background-color: $badge-active-bg; - } - - .list-group-item > & { - float: right; - } - - .list-group-item > & + & { - margin-right: 5px; - } - - .nav-pills > li > a > & { - margin-left: 3px; - } -} - -// Hover state, but only for links -a.badge { - &:hover, - &:focus { - color: $badge-link-hover-color; - text-decoration: none; - cursor: pointer; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_breadcrumbs.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_breadcrumbs.scss deleted file mode 100644 index 67e39d9..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_breadcrumbs.scss +++ /dev/null @@ -1,28 +0,0 @@ -// -// Breadcrumbs -// -------------------------------------------------- - - -.breadcrumb { - padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; - margin-bottom: $line-height-computed; - list-style: none; - background-color: $breadcrumb-bg; - border-radius: $border-radius-base; - - > li { - display: inline-block; - - + li:before { - padding: 0 5px; - color: $breadcrumb-color; - // [converter] Workaround for https://github.com/sass/libsass/issues/1115 - $nbsp: "\00a0"; - content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space - } - } - - > .active { - color: $breadcrumb-active-color; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_button-groups.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_button-groups.scss deleted file mode 100644 index 6a62faf..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_button-groups.scss +++ /dev/null @@ -1,244 +0,0 @@ -// -// Button groups -// -------------------------------------------------- - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; // match .btn alignment given font-size hack above - > .btn { - position: relative; - float: left; - // Bring the "active" button to the front - &:hover, - &:focus, - &:active, - &.active { - z-index: 2; - } - } -} - -// Prevent double borders when buttons are next to each other -.btn-group { - .btn + .btn, - .btn + .btn-group, - .btn-group + .btn, - .btn-group + .btn-group { - margin-left: -1px; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - margin-left: -5px; // Offset the first child's margin - @include clearfix; - - .btn, - .btn-group, - .input-group { - float: left; - } - > .btn, - > .btn-group, - > .input-group { - margin-left: 5px; - } -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -// 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 -.btn-group > .btn:first-child { - margin-left: 0; - &:not(:last-child):not(.dropdown-toggle) { - @include border-right-radius(0); - } -} -// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - @include border-left-radius(0); -} - -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) -.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, - > .dropdown-toggle { - @include border-right-radius(0); - } -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-left-radius(0); -} - -// On active and open, don't show outline -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-xs > .btn { @extend .btn-xs; } -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// Split button dropdowns -// ---------------------- - -// Give the line between buttons some depth -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} - -// The clickable button for toggling the menu -// Remove the gradient and set the same inset shadow as the :active state -.btn-group.open .dropdown-toggle { - @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// Reposition the caret -.btn .caret { - margin-left: 0; -} -// Carets in other button sizes -.btn-lg .caret { - border-width: $caret-width-large $caret-width-large 0; - border-bottom-width: 0; -} -// Upside down carets for .dropup -.dropup .btn-lg .caret { - border-width: 0 $caret-width-large $caret-width-large; -} - - -// Vertical button groups -// ---------------------- - -.btn-group-vertical { - > .btn, - > .btn-group, - > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - } - - // Clear floats so dropdown menus can be properly placed - > .btn-group { - @include clearfix; - > .btn { - float: none; - } - } - - > .btn + .btn, - > .btn + .btn-group, - > .btn-group + .btn, - > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; - } -} - -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { - border-radius: 0; - } - &:first-child:not(:last-child) { - @include border-top-radius($btn-border-radius-base); - @include border-bottom-radius(0); - } - &:last-child:not(:first-child) { - @include border-top-radius(0); - @include border-bottom-radius($btn-border-radius-base); - } -} -.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, - > .dropdown-toggle { - @include border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-top-radius(0); -} - - -// Justified button groups -// ---------------------- - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; - > .btn, - > .btn-group { - display: table-cell; - float: none; - width: 1%; - } - > .btn-group .btn { - width: 100%; - } - - > .btn-group .dropdown-menu { - left: auto; - } -} - - -// Checkbox and radio options -// -// In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use -// `display: none;` or `visibility: hidden;` as that also hides the popover. -// Simply visually hiding the inputs via `opacity` would leave them clickable in -// certain cases which is prevented by using `clip` and `pointer-events`. -// This way, we ensure a DOM element is visible to position the popover from. -// -// See https://github.com/twbs/bootstrap/pull/12794 and -// https://github.com/twbs/bootstrap/pull/14559 for more information. - -[data-toggle="buttons"] { - > .btn, - > .btn-group > .btn { - input[type="radio"], - input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; - } - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_buttons.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_buttons.scss deleted file mode 100644 index 62962d7..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_buttons.scss +++ /dev/null @@ -1,168 +0,0 @@ -// -// Buttons -// -------------------------------------------------- - - -// Base styles -// -------------------------------------------------- - -.btn { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: $btn-font-weight; - text-align: center; - white-space: nowrap; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); - @include user-select(none); - - &, - &:active, - &.active { - &:focus, - &.focus { - @include tab-focus; - } - } - - &:hover, - &:focus, - &.focus { - color: $btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - background-image: none; - outline: 0; - @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: $cursor-disabled; - @include opacity(.65); - @include box-shadow(none); - } - - // [converter] extracted a& to a.btn -} - -a.btn { - &.disabled, - fieldset[disabled] & { - pointer-events: none; // Future-proof disabling of clicks on `` elements - } -} - - -// Alternate buttons -// -------------------------------------------------- - -.btn-default { - @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); -} -.btn-primary { - @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); -} -// Success appears as green -.btn-success { - @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); -} -// Info appears as blue-green -.btn-info { - @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); -} -// Warning appears as orange -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); -} - - -// Link buttons -// ------------------------- - -// Make a button look and behave like a link -.btn-link { - font-weight: 400; - color: $link-color; - border-radius: 0; - - &, - &:active, - &.active, - &[disabled], - fieldset[disabled] & { - background-color: transparent; - @include box-shadow(none); - } - &, - &:hover, - &:focus, - &:active { - border-color: transparent; - } - &:hover, - &:focus { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - background-color: transparent; - } - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus { - color: $btn-link-disabled-color; - text-decoration: none; - } - } -} - - -// Button Sizes -// -------------------------------------------------- - -.btn-lg { - // line-height: ensure even-numbered height of button next to large input - @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); -} -.btn-sm { - // line-height: ensure proper height of button next to small input - @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} -.btn-xs { - @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} - - -// Block button -// -------------------------------------------------- - -.btn-block { - display: block; - width: 100%; -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_carousel.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_carousel.scss deleted file mode 100644 index 52a1f7b..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_carousel.scss +++ /dev/null @@ -1,271 +0,0 @@ -// -// Carousel -// -------------------------------------------------- - - -// Wrapper for the slide container and indicators -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; - - > .item { - position: relative; - display: none; - @include transition(.6s ease-in-out left); - - // Account for jankitude on images - > img, - > a > img { - @include img-responsive; - line-height: 1; - } - - // WebKit CSS3 transforms for supported devices - @media all and (transform-3d), (-webkit-transform-3d) { - @include transition-transform(0.6s ease-in-out); - @include backface-visibility(hidden); - @include perspective(1000px); - - &.next, - &.active.right { - @include translate3d(100%, 0, 0); - left: 0; - } - &.prev, - &.active.left { - @include translate3d(-100%, 0, 0); - left: 0; - } - &.next.left, - &.prev.right, - &.active { - @include translate3d(0, 0, 0); - left: 0; - } - } - } - - > .active, - > .next, - > .prev { - display: block; - } - - > .active { - left: 0; - } - - > .next, - > .prev { - position: absolute; - top: 0; - width: 100%; - } - - > .next { - left: 100%; - } - > .prev { - left: -100%; - } - > .next.left, - > .prev.right { - left: 0; - } - - > .active.left { - left: -100%; - } - > .active.right { - left: 100%; - } - -} - -// Left/right controls for nav -// --------------------------- - -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: $carousel-control-width; - font-size: $carousel-control-font-size; - color: $carousel-control-color; - text-align: center; - text-shadow: $carousel-text-shadow; - background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug - @include opacity($carousel-control-opacity); - // We can't have this transition here because WebKit cancels the carousel - // animation if you trip this while in the middle of another animation. - - // Set gradients for backgrounds - &.left { - @include gradient-horizontal($start-color: rgba(0, 0, 0, .5), $end-color: rgba(0, 0, 0, .0001)); - } - &.right { - right: 0; - left: auto; - @include gradient-horizontal($start-color: rgba(0, 0, 0, .0001), $end-color: rgba(0, 0, 0, .5)); - } - - // Hover/focus state - &:hover, - &:focus { - color: $carousel-control-color; - text-decoration: none; - outline: 0; - @include opacity(.9); - } - - // Toggles - .icon-prev, - .icon-next, - .glyphicon-chevron-left, - .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - margin-top: -10px; - } - .icon-prev, - .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; - } - .icon-next, - .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; - } - .icon-prev, - .icon-next { - width: 20px; - height: 20px; - font-family: serif; - line-height: 1; - } - - .icon-prev { - &:before { - content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) - } - } - .icon-next { - &:before { - content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) - } - } -} - -// Optional indicator pips -// -// Add an unordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; - - li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - // IE8-9 hack for event handling - // - // Internet Explorer 8-9 does not support clicks on elements without a set - // `background-color`. We cannot use `filter` since that's not viewed as a - // background color by the browser. Thus, a hack is needed. - // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer - // - // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we - // set alpha transparency for the best results possible. - background-color: #000 \9; // IE8 - background-color: rgba(0, 0, 0, 0); // IE9 - - border: 1px solid $carousel-indicator-border-color; - border-radius: 10px; - } - - .active { - width: 12px; - height: 12px; - margin: 0; - background-color: $carousel-indicator-active-bg; - } -} - -// Optional captions -// ----------------------------- -// Hidden by default for smaller viewports -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: $carousel-caption-color; - text-align: center; - text-shadow: $carousel-text-shadow; - - & .btn { - text-shadow: none; // No shadow for button elements in carousel-caption - } -} - - -// Scale up controls for tablets and up -@media screen and (min-width: $screen-sm-min) { - - // Scale up the controls a smidge - .carousel-control { - .glyphicon-chevron-left, - .glyphicon-chevron-right, - .icon-prev, - .icon-next { - width: ($carousel-control-font-size * 1.5); - height: ($carousel-control-font-size * 1.5); - margin-top: ($carousel-control-font-size / -2); - font-size: ($carousel-control-font-size * 1.5); - } - .glyphicon-chevron-left, - .icon-prev { - margin-left: ($carousel-control-font-size / -2); - } - .glyphicon-chevron-right, - .icon-next { - margin-right: ($carousel-control-font-size / -2); - } - } - - // Show and left align the captions - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - - // Move up the indicators - .carousel-indicators { - bottom: 20px; - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_close.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_close.scss deleted file mode 100644 index a858a8f..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_close.scss +++ /dev/null @@ -1,37 +0,0 @@ -// -// Close icons -// -------------------------------------------------- - - -.close { - float: right; - font-size: ($font-size-base * 1.5); - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - @include opacity(.2); - - &:hover, - &:focus { - color: $close-color; - text-decoration: none; - cursor: pointer; - @include opacity(.5); - } - - // [converter] extracted button& to button.close -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; - appearance: none; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_code.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_code.scss deleted file mode 100644 index 8e2b2a7..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_code.scss +++ /dev/null @@ -1,69 +0,0 @@ -// -// Code (inline and block) -// -------------------------------------------------- - - -// Inline and block code styles -code, -kbd, -pre, -samp { - font-family: $font-family-monospace; -} - -// Inline code -code { - padding: 2px 4px; - font-size: 90%; - color: $code-color; - background-color: $code-bg; - border-radius: $border-radius-base; -} - -// User input typically entered via keyboard -kbd { - padding: 2px 4px; - font-size: 90%; - color: $kbd-color; - background-color: $kbd-bg; - border-radius: $border-radius-small; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - - kbd { - padding: 0; - font-size: 100%; - font-weight: 700; - box-shadow: none; - } -} - -// Blocks of code -pre { - display: block; - padding: (($line-height-computed - 1) / 2); - margin: 0 0 ($line-height-computed / 2); - font-size: ($font-size-base - 1); // 14px to 13px - line-height: $line-height-base; - color: $pre-color; - word-break: break-all; - word-wrap: break-word; - background-color: $pre-bg; - border: 1px solid $pre-border-color; - border-radius: $border-radius-base; - - // Account for some code outputs that place code tags in pre tags - code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: $pre-scrollable-max-height; - overflow-y: scroll; -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_component-animations.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_component-animations.scss deleted file mode 100644 index ca4d6b0..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_component-animations.scss +++ /dev/null @@ -1,38 +0,0 @@ -// -// Component animations -// -------------------------------------------------- - -// Heads up! -// -// We don't use the `.opacity()` mixin here since it causes a bug with text -// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. - -.fade { - opacity: 0; - @include transition(opacity .15s linear); - - &.in { - opacity: 1; - } -} - -.collapse { - display: none; - - &.in { display: block; } - // [converter] extracted tr&.in to tr.collapse.in - // [converter] extracted tbody&.in to tbody.collapse.in -} - -tr.collapse.in { display: table-row; } - -tbody.collapse.in { display: table-row-group; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - @include transition-property(height, visibility); - @include transition-duration(.35s); - @include transition-timing-function(ease); -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_dropdowns.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_dropdowns.scss deleted file mode 100644 index 0a5898a..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_dropdowns.scss +++ /dev/null @@ -1,213 +0,0 @@ -// -// Dropdown menus -// -------------------------------------------------- - - -// Dropdown arrow/caret -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: $caret-width-base dashed; - border-top: $caret-width-base solid \9; // IE8 - border-right: $caret-width-base solid transparent; - border-left: $caret-width-base solid transparent; -} - -// The dropdown wrapper (div) -.dropup, -.dropdown { - position: relative; -} - -// Prevent the focus on the dropdown toggle when closing dropdowns -.dropdown-toggle:focus { - outline: 0; -} - -// The dropdown menu (ul) -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: $zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; // override default ul - font-size: $font-size-base; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - list-style: none; - background-color: $dropdown-bg; - background-clip: padding-box; - border: 1px solid $dropdown-fallback-border; // IE8 fallback - border: 1px solid $dropdown-border; - border-radius: $border-radius-base; - @include box-shadow(0 6px 12px rgba(0, 0, 0, .175)); - - // Aligns the dropdown menu to right - // - // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` - &.pull-right { - right: 0; - left: auto; - } - - // Dividers (basically an hr) within the dropdown - .divider { - @include nav-divider($dropdown-divider-bg); - } - - // Links within the dropdown menu - > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: 400; - line-height: $line-height-base; - color: $dropdown-link-color; - white-space: nowrap; // prevent links from randomly breaking onto new lines - - &:hover, - &:focus { - color: $dropdown-link-hover-color; - text-decoration: none; - background-color: $dropdown-link-hover-bg; - } - } -} - -// Active state -.dropdown-menu > .active > a { - &, - &:hover, - &:focus { - color: $dropdown-link-active-color; - text-decoration: none; - background-color: $dropdown-link-active-bg; - outline: 0; - } -} - -// Disabled state -// -// Gray out text and ensure the hover/focus state remains gray - -.dropdown-menu > .disabled > a { - &, - &:hover, - &:focus { - color: $dropdown-link-disabled-color; - } - - // Nuke hover/focus effects - &:hover, - &:focus { - text-decoration: none; - cursor: $cursor-disabled; - background-color: transparent; - background-image: none; // Remove CSS gradient - @include reset-filter; - } -} - -// Open state for the dropdown -.open { - // Show the menu - > .dropdown-menu { - display: block; - } - - // Remove the outline when :focus is triggered - > a { - outline: 0; - } -} - -// Menu positioning -// -// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown -// menu with the parent. -.dropdown-menu-right { - right: 0; - left: auto; // Reset the default from `.dropdown-menu` -} -// With v3, we enabled auto-flipping if you have a dropdown within a right -// aligned nav component. To enable the undoing of that, we provide an override -// to restore the default dropdown menu alignment. -// -// This is only for left-aligning a dropdown menu within a `.navbar-right` or -// `.pull-right` nav component. -.dropdown-menu-left { - right: auto; - left: 0; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: $font-size-small; - line-height: $line-height-base; - color: $dropdown-header-color; - white-space: nowrap; // as with > li > a -} - -// Backdrop to catch body clicks on mobile, etc. -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: ($zindex-dropdown - 10); -} - -// Right aligned dropdowns -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// -// Just add .dropup after the standard .dropdown class and you're set, bro. -// TODO: abstract this so that the navbar fixed styles are not placed here? - -.dropup, -.navbar-fixed-bottom .dropdown { - // Reverse the caret - .caret { - content: ""; - border-top: 0; - border-bottom: $caret-width-base dashed; - border-bottom: $caret-width-base solid \9; // IE8 - } - // Different positioning for bottom up menu - .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; - } -} - - -// Component alignment -// -// Reiterate per navbar.less and the modified component alignment there. - -@media (min-width: $grid-float-breakpoint) { - .navbar-right { - .dropdown-menu { - right: 0; left: auto; - } - // Necessary for overrides of the default right aligned menu. - // Will remove come v4 in all likelihood. - .dropdown-menu-left { - left: 0; right: auto; - } - } -} diff --git a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_forms.scss b/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_forms.scss deleted file mode 100644 index d2e2bac..0000000 --- a/revdep/library.noindex/BayesianNetwork/new/bslib/lib/bs3/assets/stylesheets/bootstrap/_forms.scss +++ /dev/null @@ -1,607 +0,0 @@ -// -// Forms -// -------------------------------------------------- - - -// Normalize non-controls -// -// Restyle and baseline non-control form elements. - -fieldset { - // Chrome and Firefox set a `min-width: min-content;` on fieldsets, - // so we reset that to ensure it behaves more like a standard block element. - // See https://github.com/twbs/bootstrap/issues/12359. - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: $line-height-computed; - font-size: ($font-size-base * 1.5); - line-height: inherit; - color: $legend-color; - border: 0; - border-bottom: 1px solid $legend-border-color; -} - -label { - display: inline-block; - max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) - margin-bottom: 5px; - font-weight: 700; -} - - -// Normalize form controls -// -// While most of our form styles require extra classes, some basic normalization -// is required to ensure optimum display with or without those classes to better -// address browser inconsistencies. - -input[type="search"] { - // Override content-box in Normalize (* isn't specific enough) - @include box-sizing(border-box); - - // Search inputs in iOS - // - // This overrides the extra rounded corners on search inputs in iOS so that our - // `.form-control` class can properly style them. Note that this cannot simply - // be added to `.form-control` as it's not specific enough. For details, see - // https://github.com/twbs/bootstrap/issues/11586. - -webkit-appearance: none; - appearance: none; -} - -// Position radios and checkboxes better -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; // IE8-9 - line-height: normal; - - // Apply same disabled cursor tweak as for inputs - // Some special care is needed because
`) -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; - - // Generate the caret automatically - @include caret(); -} - -// The dropdown menu -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: $zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: $dropdown-min-width; - padding: $dropdown-padding-y $dropdown-padding-x; - margin: $dropdown-spacer 0 0; // override default ul - @include font-size($dropdown-font-size); - color: $dropdown-color; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - list-style: none; - background-color: $dropdown-bg; - background-clip: padding-box; - border: $dropdown-border-width solid $dropdown-border-color; - @include border-radius($dropdown-border-radius); - @include box-shadow($dropdown-box-shadow); -} - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .dropdown-menu#{$infix}-left { - right: auto; - left: 0; - } - - .dropdown-menu#{$infix}-right { - right: 0; - left: auto; - } - } -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// Just add .dropup after the standard .dropdown class and you're set. -.dropup { - .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(up); - } -} - -.dropright { - .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(right); - &::after { - vertical-align: 0; - } - } -} - -.dropleft { - .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(left); - &::before { - vertical-align: 0; - } - } -} - -// When Popper is enabled, reset the basic dropdown position -// stylelint-disable-next-line no-duplicate-selectors -.dropdown-menu { - &[x-placement^="top"], - &[x-placement^="right"], - &[x-placement^="bottom"], - &[x-placement^="left"] { - right: auto; - bottom: auto; - } -} - -// Dividers (basically an `
`) within the dropdown -.dropdown-divider { - @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true); -} - -// Links, buttons, and more within the dropdown menu -// -// `